Transactions
兌換 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>
or<buyer pubkey hash>
:它們是與腳本中嵌入的地址相關的唯一數據,因此必須是上面提到的“目標地址”。我理解這是錯誤的。我現在的想法是否正確:
- 兩個公鑰雜湊僅建立了贖回者獲取各自分支的權利;
- 實際上,HTLC沒有“腳本中嵌入的目標地址 D”;
- 賣方或買方可以兌換到他們喜歡的任何地址;
- 在 HTLC 的資金和生命週期中,直到贖回前的那一刻,該地址仍無法確定?
交易的輸入在任何情況下都絕對沒有能力影響輸出。他們只能定義誰可以花錢,而不是他們如何花錢的條件。