Адрес(а) назначения при погашении HTLC

Начиная с этого текста на https://en.bitcoin.it/wiki/Script :

«Сценарий для типичного перевода биткойнов на биткойн-адрес назначения D просто обременяет будущие расходы биткойнов двумя вещами: отправитель должен предоставить 1. открытый ключ, который при хэшировании дает адрес назначения D, встроенный в сценарий ...»

а затем глядя на скрипт HTLC:

OP_IF
    [HASHOP] <digest> OP_EQUALVERIFY OP_DUP OP_HASH160 <seller pubkey hash>            
OP_ELSE
    <num> [TIMEOUTOP] OP_DROP OP_DUP OP_HASH160 <buyer pubkey hash>
OP_ENDIF
OP_EQUALVERIFY
OP_CHECKSIG

Моя первоначальная мысль заключалась в том, что HTLC можно было выкупить только по адресу, указанному ниже <seller pubkey hash>или <buyer pubkey hash>: это единственные данные, относящиеся к адресам, встроенным в сценарий, поэтому это должен быть «адрес назначения», упомянутый выше. Я понимаю, что это неправильно.

Правильно ли я сейчас думаю:

  1. Что два хэша публичных ключей просто устанавливают право искупителя на получение соответствующей ветки;
  2. На самом деле для HTLC не существует «адреса назначения D, встроенного в сценарий»;
  3. Что продавец или покупатель могут выкупить на любой адрес, который им нравится;
  4. И этот адрес может оставаться неопределенным из-за финансирования и жизни HTLC до моментов, предшествующих выкупу?

Ответы (1)

Входы транзакции не имеют абсолютно никакой возможности влиять на выходы в любой ситуации. Они могут только определить, кто может тратить, а не условия того, как они это делают.

До сих пор мне не приходило в голову, что redeemScript является одним из входных данных, так что спасибо за это - теперь, когда на это указали, для меня это очевидно. Я подозреваю, что я смешивал «сценарий», используемый на странице, в более узком смысле слова «искупить скрипт».