Merkle-Tree
Merkle Tree 中的交易數量總是“偶數”嗎?
根據 Merkle Tree 的定義和結構,顯然,插入 Merkle Tree 結構的塊中的交易數量必須是偶數(而不是奇數),不是嗎?
請看下圖,它顯示了一個 Merkle 樹:
我見過的所有例子都是這樣的,這意味著默克爾樹中的交易數量顯然總是偶數(例如,在上面的例子中,有四個交易)。有沒有交易數量是奇數的例子?如果交易數量是奇數,會發生什麼?(例如,如何在上面的例子中插入 5 筆交易?)
如果 merkle 樹的任何級別上的節點數為奇數,則將最後一個節點複製並與自身進行散列。
如果有 Tx4,圖表將如下所示
Root (Hash01234444) / \ Hash0123 Hash4444 / \ / \ Hash01 Hash23 Hash44 Hash44 / \ / \ / \ Hash0 Hash1 Hash2 Hash3 Hash4 Hash4