密碼學裡的默克爾樹(Merkle Tree)我把它比喻成是區塊鏈裡的收納師,但其實重要性遠遠超過這個比喻。透過獨特的排列方式,它以最有效、快速的方式批量的驗證數據,這也是為什麼在區塊鏈上的交易可以如此快速的原因之一。
** 本篇約1183個字詞,1910個字元,閱讀時間⏰約3分鐘 **#區塊鏈101
3分鐘你可以了解到:①默克爾樹(Merkle Tree)是什麼 ② 默克爾樹(Merkle Tree)的特點和作用 ③ 為什麼需要默克爾樹(Merkle Tree) ④ 重點總結
---------
默克爾樹(Merkle Tree)是在1979年時,由一位計算機科學家瑞夫·默克(Ralph Merkle)提出的,所以演算法就以他的名字命名。
瑞夫·默克的父親是一名核物理學家,導師是一名密碼學家,青出於藍、更勝於藍,瑞夫·默克除了在公鑰加密技術上有著重大貢獻,他還對奈米科技和人體冷凍技術以及其他醫學應用感興趣,後半生幾乎都奉獻在這方面。
對瑞夫·默克感興趣的人,為節省你的時間,下面我有附上了他的個人網頁和論文。
*瑞夫·默克全名瑞夫·查理斯·默克(Ralph Charles Merkle), 常見簡稱 Ralph C. Merkle或者 Ralph Merkle都可
👉 瑞夫·默克個人網頁
👉1979年7月-加密、認證及公鑰系統技術論文報告
---------
Merkle Tree也叫Hash Tree(雜湊樹/哈希樹),直接翻譯也可以叫它默克爾樹,是密碼學裡的一種演算法。
它資料結構的呈現就像樹一樣,有分四個部分:數據塊、葉子節點、中間節點、根節點。
這樣一整個組合就叫 默克爾樹 (Merkle tree)
Merkle樹的應用很廣,有Git(分散式版本控制系統)、IPFS(星際檔案系統=分佈式的web協定,不同於中心化的http)、集中式檔案管理系統(centralized file system),以及像是Facebook和Amazon在使用的分散式資料庫(distributed databases)。
簡單來說,Merkle Tree像收納師一樣可以快速的排列、儲存任何批量的資料,不僅如此,還能在最短時間裡驗證每一筆交易資料。
⭐Merkle Tree的特點
1. Merkle Tree比較常見的結構是二叉樹(二分叉樹狀結構),但根據使用需求它也可以是多叉樹,無論是幾叉樹,它的樹結構特點不變。
2. Merkle Tree沒有固定的基礎數據,可以是任何你想存取的數據,它只是負責校驗雜湊(Hash)過的數據資料(Hash值)。
3. Merkle Tree是由下往上逐層計算的,每個「中間節點」都是根據相鄰的兩個「葉子節點」組合計算出來的,而「根節點(Merkle Root)」是由兩個「中間節點」組合計算出來的,也就是說「葉子節點」是整棵樹的基礎,如果最後的結果不對,是可以找出是哪個「葉子節點」出錯。
在了解到Merkle Tree的特點後,就不難了解為什麼有些場景會需要應用到這個演算技術。
Merkle樹的本質是由雜湊演算法的雜湊值(Hash values)構成的樹狀數據結構,根據之前我們提到過雜湊(Hash)演算法的不可逆特性,所以有一定的數據安全隱私和校驗數據的準確。
那麼Merkle Tree有點像是幫我們再加上一層保險機制。比較多是應用在「點對點」的下載,除了前面提到的應用外,像是比特幣、以太坊區塊鏈,這種具有去中心化、分佈式特性的的場景就很需要Merkle Tree去替我們做數據驗證,來提高它的安全性。
⭐Merkle Tree的作用
⚠️ 對於區塊鏈技術核心的解釋,絕對不止我說的這些,我只是用普遍人能理解的方式解釋了20%的皮毛,只是讓非行業的人了解區塊鏈其中大概的原理,有助於後續的學習。
這期的內容就到這,關於區塊鏈原理系列中5個核心概念都講完了,並且整理在下方,下一期你會想知道什麼呢?歡迎底下留言告訴我!
.
.
.
如果喜歡這類的內容,請點贊、訂閱、分享讓我知道。
我是Dz,我們下期見。
上一期
區塊鏈 原理系列:組成區塊鏈的5個核心