Merkle-Tree

主根腳本樹可以有一個子節點嗎?

  • October 30, 2021

我正在編寫一些實現主根地址創建的程式碼,其中存在腳本路徑,並且我有一個關於參考程式碼的快速問題。

taproot_tree_helper(script_tree)如果參數不是元組(葉節點),BIP-341 引用方法將遞歸呼叫自身。當它呼叫自己時,它通過以下方式傳入它的子節點:

left, left_h = taproot_tree_helper(script_tree[0])
right, right_h = taproot_tree_helper(script_tree[1])

如果一個節點只包含一個子節點(其中 script_tree[1] 不存在),會發生什麼?它是否應該在左右兩個節點中兩次傳遞相同的節點,還是應該以一種不會發生這種情況的方式構造樹?

謝謝

與交易默克爾樹不同,主根腳本樹不需要平衡;即,並非每個葉子都需要與根的距離相同。

所以不需要一個只有一個孩子的“節點”,這樣的節點實際上是不可能的。相反,只需建構一棵樹,將可能的單個孩子放置在樹的上一層。

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