Многие люди спрашивают, есть ли способ контролировать направление денег за адрес / сценарий. Через обычных средств, ответ всегда был: "Нет, только сеть определяет условия, чтобы разблокировать деньги, но не может контролировать то, что происходит с ним." Если у вас есть закрытый ключ (ы) за деньги, чтобы быть разблокирован, вы можете делать все, что вы хотите с этими деньгами.
Тем не менее, я понял, что это очень возможно, через нетрадиционные средства. Например, можно "замок" деньги до определенного времени, выполнив следующие действия.
- Производят два закрытых ключей, с адресами А и В.
- Отправить деньги для решения
- Создание timelocked транзакции отправки всех выходов А к В
- Подпишите с A
- Магазин подписал ТХ в безопасном месте
- Уничтожить Секретный ключ
Хотя я ненавижу идею уничтожения закрытых ключей, которые все еще есть деньги, это добиться того, что было предложено (до тех пор, как вы можете быть уверены в том, что ТЙ является действительным, и может быть добыты). Деньги заблокированы без возможности перемещения, пока Locktime не истечет, и он будет двигаться только в адрес Б. Там также нет ограничения по времени, с помощью которого он должен передаваться, вы можете сохранить его в до тех пор, пока это необходимо, долго мимо замка времени.
Недостатки включают в себя:
- (1) Если безумная ошибка приводит к плохой подписи или ОМУ, то деньги блокируются навсегда
- (2) Кто собирается уничтожить закрытый ключ, который деньги, связанные с ним? Пользователи, вероятно, сохранить закрытый ключ в какой-то удивительно неудобной форме, которая будет трудно восстановить, но это возможно, если это абсолютно необходимо (зашифровать его с помощью случайного 50-битного ключа, который должен будет быть грубой вынуждены, а затем похоронить его в вашем дворе двор?)
- (3) Если клавиша B скомпрометирован, пытаясь снять деньги становится гонкой: как только ТХ (A->B) попадает в сеть, и вы, и атакующий мчатся, чтобы переместить новый выход. У вас есть преимущество, хотя (если вы знаете, B был скомпрометирован), как вы создаете подпись с А, так вы знаете, минус, который должен расходоваться B, и можем подготовить последующий расходы и транслировать его 1 микросекунду после транслировал первый ТХ. Но это не в коем случае не никакой гарантии, что ваш будет добытой, особенно если злоумышленник знает, шахтер, которые дадут ему приоритет (и особенно, если заменить-на-платой является стандартным)
Выше я упомянул только время блокировки деньги. Держу пари, если объединить творческие сценарии и несколько транзакций, есть некоторые интересные вещи вы могли бы сделать. Но вы должны быть осторожны с созданием прикован сделок, поскольку податливость сделок означает, что вы создаете A-->В и предварительной подготовке В->C, а затем некоторый рывок на сетевых шахтах A-->B после добавления дополнительного заполнени байт вашей подписи и изменений ОГО хэша, то ваш В->C ОГО является недействительным (поскольку он ссылается A-->B с помощью хэша, который больше не является действительным). Я знаю, что мы в жизни канонических подписей, но я предполагаю, что это не жесткое правило сети (пока?).
Так что еще можно сделать с этим? Является ли это на самом деле полезно?