iT邦幫忙

2023 iThome 鐵人賽

DAY 12
0
自我挑戰組

區塊鏈系列 第 12

認識Merkle Tree

  • 分享至 

  • xImage
  •  

Merkle Tree(默克爾樹)是一種二叉樹數據結構,通常用於加快數據驗證和確保數據完整性。Merkle Tree的名字來自其發明者,德國數學家Ralph Merkle。

Merkle Tree的基本原理如下:

數據劃分:要建立Merkle Tree,首先需要將要驗證的數據分成多個固定大小的塊(通常是數字或文件的片段)。這些塊稱為葉子節點(Leaf Nodes)。

散列計算:然後,對每個葉子節點應用哈希函數,計算每個葉子節點的哈希值。這些哈希值稱為葉子哈希值。

建立上層節點:接下來,將相鄰的葉子哈希值兩兩組合,再次應用哈希函數,計算它們的父節點(Parent Node)的哈希值。這樣,每個父節點的哈希值都依賴於其子節點的哈希值。

重複步驟3:不斷重複步驟3,將父節點再次組合成更高層的父節點,直到最終只剩下一個根節點(Root Node)。這個根節點的哈希值就是整個Merkle Tree的根哈希值。

根哈希值:根哈希值是Merkle Tree的頂層哈希值,它可以用來驗證整個數據集的完整性。如果根哈希值匹配,則數據集是完整的。如果任何葉子節點或中間節點的數據被更改,則根哈希值將不匹配,這表明數據被篡改。

Merkle Tree在許多區塊鏈和分佈式系統中得到廣泛應用,用於確保交易或數據的完整性。例如,在比特幣區塊鏈中,每個區塊都包含一個Merkle Tree的根哈希值,用於驗證該區塊中的交易是否有效。如果根哈希值匹配,則可以確信區塊中的交易未被篡改。這提供了一個高效的方法來驗證大量數據的完整性,而無需驗證每個數據項目。


上一篇
非對稱式加密
下一篇
認識Gas
系列文
區塊鏈30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言