Script

帶有禁用操作碼的 P2SH 交易是否會被中繼/探勘?

  • October 26, 2020

如https://en.bitcoin.it/wiki/Script中所述,許多 OPCODES(如 OP_AND、OP_CAT、OP_SUBSTR)被禁用。雖然,對於比特幣核心 0.10.0,Gavin Andresen提出了要中繼/探勘的 P2SH 交易中的“任何腳本”: 在此處輸入圖像描述 我仍然不確定這是否適用於禁用的操作碼。我在這裡遇到了一個禁用“OP_AND”操作碼的主網 coinbase 交易,在這裡遇到了一個 Testnet 交易。如果贖回腳本中禁用操作碼的 P2SH 交易在 BTC 主網上中繼和探勘,我非常好奇。

在您發布的那個 wiki連結上,它指出:

如果腳本中存在任何標記為禁用的操作碼,它必須中止並失敗。

嘗試使用失敗腳本的 UTXO 支出將​​不會在執行比特幣核心(和其他主要實現)的節點之間中繼,並且肯定不會包含在探勘的塊中。

您連結到的主網 coinbase交易在輸入 scriptSig 中包含一個 OP_AND。但是,coinbase 交易中的輸入被忽略,因為它正在探勘新的比特幣,並且沒有從另一筆交易的任何輸出中支出。

您連結到的測試網事務在輸出scriptPubKey中包含一個 OP_AND。它沒有被花費也不能被花費,因為沒有 scriptSig 可以從中花費。

BIP-Tapscript ( BIP 342 ) 建議製作禁用的操作碼,如 OP_AND OP_SUCCESSx,這意味著如果遇到操作碼,Tapscript 將自動成功。這樣就可以在未來的軟分叉中引入新的操作碼功能,而不會破壞向後兼容性。但在撰寫本文時(2020 年 10 月),Taproot/Tapscript 尚未在網路上啟動。

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