Так что я был интересно для использования механизма депозитного двухпартийной поддержкой со стороны multisignature сделок и P2SH. Я заинтересован в замене Пример договора 7 с чем-то, что не требует nLockTime или транзакции управления версиями.
Как я понимаю, механизм условного депонирования двухпартийная будет работать следующим образом для минимизированы-целевых операций:
1. Алиса хочет купить виджет стоимости X BTC от Боба
2. Алиса создает два открытых ключей, A1 и A2. Боб создает два открытых ключей, B1 и B2
3. Вместе Алиса и Боб создают 2-в-2 multisignature адреса C1 от A1 и B1
4. Алиса подписывает частичные транзакции T1 с входом 2X BTC и выходом 3X BTC к С1 и передает его Бобу
5. Боб добавляет вход X BTC до T1, подписывает его, и вещает T1 в сети
5а. Результатом является то, что Алиса заплатил 2X BTC и Боб заплатил X BTC по адресу, поэтому оба они заинтересованы в согласовании о том, как освободить деньги и griefing / мошенничество предотвращаются как Алиса и Боб, делая эти действия более дорогими, чем играть честно говоря. Кроме того, как Алиса и Боб защищены от мошенничества в первоначальной сделки, как T1 является недействительным, если оба входа не являются допустимыми неизрасходованные выходы из предыдущих сделок.
6. Боб посылает Алисе виджет
7. При получении виджета, Алиса подписывает транзакцию Т2 из C1 оплачиваемой 2X BTC Бобу на ключевой B2 и X BTC обратно к себе на ключевом А2 и проходит Т2 Бобу
8. Боб подписывает T2 и передает его в сеть, получив платеж и "залог" и отправка Элис "залог" вернуться к ней
В том случае, если Алиса и Боб не могут договориться о том, кто должен получить, сколько денег на основе частичного / полное неисполнения договора, они оба могут выбрать арбитр Трента, который генерирует три открытых ключи, R1, R2 и R3. Новый 3-в-4 multisignature адрес создан для A1, B1, R1 и R2, так что Трент может только тратить деньги с согласием оба Алисе или Бобу, и это превращается в депозитных ситуации третьей стороны, если стороны желают. В конце концов, некоторое количество отправляется А2, некоторые В2 и некоторые R3.
Будет ли это работать в быстро приспособленных микротранзакциях, а? Например:
1. Алиса хочет купить около 100MB передачи от точки доступа Wi-Fi управляемого Бобом и платить .0001 BTC за 10kb
2. Алиса и Боб создают транзакции T1 к C1, как и в предыдущих шагах 1-5, с Элис платят в 2 BTC и Боб платит в 1 BTC
3. Алиса подписывает сделку T2 от C1 с 1,0001 BTC будет Бобу на ключ B2 и 1,9999 BTC вернуться к себе на ключевой A2, посылая T2 Бобу, который не передает его
4. Алиса продолжает использовать 10Kb пропускной способности, в то время, подписав новую версию Т2 каждый раз все большее количество собирается Бобу и постоянно уменьшая количество восходящего к ней
5. Алиса сообщает Бобу, когда она делается, в какой момент Боб прекращает предоставление услуг Алисой и знаки и вещает Т2, тем самым завершая обмен
Это позволило бы таким быстро отрегулированы микротранзакциям, не полагаясь на версию транзакций или nLockTime, что означает, что они практичны, как только P2SH доступно в сети.
Я хотел бы знать, будет ли это на самом деле работает, как я описал его, как и у меня есть некоторые другие идеи, опираясь на сделки, как это.
редактировать: Измененные ключи Трента от T1, T2, T3 на R1, R2, R3, таким образом они не путать с транзакций T1 и T2.