iT邦幫忙

2025 iThome 鐵人賽

DAY 17
0

一、什麼是Merkle Tree?
• 定義:用來表示Hash值的樹狀結構。
• 結構:基本為Binary Tree(二元樹)。
• 特點:每個中間節點(Node)都會標示一個 Hash 值。
• 發明人是 Ralph Merkle。

二、為何不用Simple Hash?
• 原因:Merkle Tree 在檢索與驗證過程中,效率比Simple Hash更高,節省空間與時間。
• 三種節點:
1.葉節點(Leaf Node):最底層,存放資料區塊的 Hash 值。
2.中間節點(Intermediate Node):由子節點組合再做Hash,表示過程節點。
3.根節點(Root Node):整棵樹的最上層,也叫Merkle Root,是終止節點。

三、實作一棵Merkle Tree
步驟(例:有 5 個資料區塊 L1~L5):
1.每個資料區塊分別做Hash → 生成葉節點。
2.將相鄰兩個葉節點Hash組合 → 得到中間節點。
3.再次兩兩組合 → 一直往上層累積。
4.最後全部合併 → 得到最上層 Merkle Root。
https://ithelp.ithome.com.tw/upload/images/20251002/2016926147uZyDtpFm.png

四、用Merkle Tree進行檢索
• 時間複雜度:
• Merkle Tree 高度 = log(n) + 1(n = 資料量)。
• Hash運算次數 = O(n)。
• 檢索方式:
• 假設要檢查某個資料的Hash(如 L4),只需沿著樹的路徑逐層驗證,而不是比對所有資料。
• 節省大量時間與空間。

五、參考來源
1.圖文詳解哈希樹-Merkle Tree(默克爾樹)算法解析

2.雜湊樹

3.區塊鏈 Blockchain-創世區塊、區塊、Merkle Tree、Hash


這章節介紹了Merkle Tree,而下一章節我們要來認識Gas。

     第十七天書中的語錄是:
     若覺得書面講解不夠清楚,可看影片版解說,理解會更直觀。

上一篇
16:工欲善其事必先利其器:虛擬機環境安裝教學
下一篇
18:認識Gas
系列文
從零開始的區塊鏈學習22
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言