Transactions

merkle root 是否包含來自先前區塊的交易雜湊?

  • August 24, 2019

區塊鏈中的每個區塊都包含默克爾根值。因此,對於任何區塊,都有一些交易列表,您可以根據這些交易創建一個默克爾樹。對於其他塊,將重複相同的過程。

我的問題是:讓我們假設 A、B、C、D 是交易,我們創建一個 merkle 樹,並在塊中添加 merkle 根。現在我們得到了交易 E,F,G,H 所以:

  1. merkle 樹是否僅基於 E,F,G,H
  2. 或者它基於 A,B,C,D,E,F,G,H 。

我想知道對於某個區塊,我們創建了一個基於 A、B、C、D 的默克爾根值。對於其他人來說,我們是否將先前的交易包含在新交易中並創建一個默克爾樹。或者只有新交易,默克爾樹被創建。

區塊鍊是比特幣匯聚在一個共享狀態的機制。參與者以未經確認的交易形式向網路送出支付訂單,然後礦工從中選擇一組交易進入他們的候選區塊。Merkle 根在此表示對先前未確認的有效交易的特定列表的承諾。當創建一個新塊時,所有網路參與者都會驗證該塊,然後採用新的餘額集作為目前網路狀態。

除了將 Merkle 根作為對該塊交易的承諾之外,塊頭還通過包含該前一個塊的雜湊來將前一個塊作為其父塊送出。由於前身反過來又致力於它自己的前身,因此一個新區塊歸納地致力於自創世區塊以來的完整歷史。

鑑於每個前面的塊依次包含一個 Merkle 根,它使用它送出到自己的一組交易,任何新塊也間接送出到所有交易的完整歷史記錄。

回到您的範例,這意味著如果 Block#1 送出給{A, B, C, D},則 Block#2 中的 Merkle 根只會送出給{E, F, G, H}{A, B, C, D}但是,Block#2通過聲明 Block#1 是其前身來間接承諾。

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