Bitcoin-Core-Development
腳本路徑的 Taproot 樹中的單個腳本在哪里花費?
如果我的腳本路徑只有一個腳本,腳本的雜湊是放在 Merkle 樹的頂部(而不是有效的 Merkle 根)還是放在 Merkle 樹的第 1 級並被散列起來使用另一個任意散列到 Merkle 根?
你可以做任何一個。使用單個腳本 (
hash_TapLeaf
) 的雜湊值而不是 Merkle 根可以降低成本,因為您不需要透露其他雜湊值來證明腳本存在於 Merkle 樹中。但是,如果您想掩蓋 Merkle 樹中只有一個單一的支出腳本路徑這一事實(並且願意為支出支付更高的交易費用),您可以將其包含在級別 1 的分支中(甚至是Merkle 樹的更高級別)。要使用hash_TapBranch
,您至少需要兩個分支,因此您需要在您不使用的任何分支上放置任意散列。感謝 Russell O’Connor 在 IRC 上回答這個問題。