Merkle-Tree
空塊的默克爾根
基於<https://en.bitcoin.it/wiki/Getblocktemplate>:
在伺服器提供的“交易”列表的前面收集您的 coinbase 交易(修改或未修改)。對列表中的每個事務應用雙 SHA256 雜湊。現在,只要列表剩餘超過 1 個雜湊,遍歷每一對並將它們一起雜湊。也就是說,連接前兩個,雙 SHA256,重複接下來的兩個,依此類推。如果遇到奇數對(即雜湊列表以單個項目結尾且沒有配對),請將其與自身連接並對其進行雜湊處理。繼續這樣做,直到只剩下一個雜湊:那就是你的默克爾根。
但是如果塊是空的呢?由於除了 coinbase 交易之外沒有其他交易,這意味著只有一個雜湊。
空塊的默克爾根是 coinbase 交易的雙重雜湊嗎?或者我還需要做一些除了雙雜湊coinbase之外的事情嗎?
如果 coinbase 交易是一個區塊中的唯一交易,則該區塊的交易 Merkle root 等於 coinbase 交易的 txid。