Transactions

兌換腳本。腳本雜湊、見證腳本和見證程序

  • July 8, 2021

我對比特幣的命名有點困惑。

兌換腳本是要滿足的條件。例如 P2SH 中的 P2PKH

OP_DUP OP_HASH160 <PubKHash> OP_EQUALVERIFY OP_CHECKSIG == redeem script

在 P2SH-P2WPKH 中,兌換腳本是:

P2SH 贖回腳本始終為 22 字節。它以 OP_0 開始,然後是 keyhash 的規範推送(即 0x0014{20 字節 keyhash})。

有時它呼叫腳本雜湊,並且在交易過程中我需要在見證腳本中插入兌換腳本。"witnessScript": "hex", (string) (required for P2WSH or P2SH-P2WSH) witness script

那麼隔離見證環境下的贖回腳本叫贖回腳本、腳本雜湊還是見證腳本?

見證計劃

由 1 字節推送操作碼(0 到 16)和後跟 2 到 40 字節數據推送組成的 scriptPubKey(或 BIP16/P2SH 中定義的兌換腳本)具有新的特殊含義。

見證程序取決於腳本可以是 scriptPubkey 還是兌換腳本?

  • scriptPubKey 是放置在交易輸出中的腳本。
  • 贖回腳本(僅限 P2SH)是作為最後一個 scriptSig 項推送的腳本。在 P2SH 腳本中,scriptPubKey 等於OP_HASH160 <Hash160(redeemScript)> OP_EQUAL.
  • 見證腳本(僅限 P2WSH)是位於最後一個見證堆棧位置的腳本。
  • 見證程序Hash160(pubkey)適用於 P2WPKH 和Hash256(witness_script)P2WPKH。對於原生 segwit 輸出,scriptPubKey 是OP_0 <witness_program>; 對於 P2SH 包裝的 segwit 輸出,redeemScript 是OP_0 <witness_program>(因此 scriptPubKey 是OP_HASH160 <Hash160(OP_0 <witness_script>)> OP_EQUAL.

引用自:https://bitcoin.stackexchange.com/questions/95231