默克爾樹是什麼

2021-09-22 18:34:58 字數 853 閱讀 1342

區塊鏈中的每個區塊(什麼是區塊)都使用默克爾樹來代表區塊中所有交易的摘要。又稱二叉雜湊樹(binary hash tree),merkle tree。

什麼是merkle樹

merkle樹是一種樹(資料結構中所說的樹),通常稱為merkle hash tree。組成merkle樹的所有節點都是雜湊值。默克爾樹,用於高效彙總和驗證大資料集的完整性。默克爾樹是乙個由加密雜湊組成的二叉樹。merkle樹具有以下特點:

•merkle樹是一種樹型資料結構,可以是二叉樹也可以是多叉樹,具有樹型結構的所有恃點;

•merkle樹的葉子節點上的value可以任意指定,比如可以將資料的咍希值作為葉子節點的值;

•非葉子節點的value是根據它下面所有的葉子節點值,然後按照一定的演算法計算得出的。如merkle樹的非葉子節點value是將該節點的所有子節點進行組合,然後對組合結果進行雜湊計算所得出的雜湊值。

merkle樹的應用領域

目前,在計算機領域merkle樹多用來進行比對以及驗證處理。位元幣錢包服務用merkle樹的機制來做"百分百準備金證明〃。在處理比對或驗證的應用場景中,特別是在分布式環境下進行比對或驗證時,merkle樹可以大大減少資料的傳輸量以及計算的複雜度。

merkle樹的優點

merkle樹明顯的乙個好處是可以單獨拿出乙個分支(作為乙個小樹)來對部分資料進行校驗,這個特性在很多使用場合可以帶來雜湊列表所不能比擬的方便和高效。

merkle樹在區塊鏈中的應用

在區塊鏈中,區塊中的交易是按照merkle的形式儲存在區塊上面的。每筆交易都有乙個雜湊值,然後不同的雜湊值向上繼續做雜湊運算,最終形成了唯一的merkle裉。這個merkle根將會被存放到區塊的區塊頭中。利用merkle樹的特性可以確保每一筆交易都不可偽造。

區塊鏈 默克爾樹 Merkle Tree

merkle tree 也被成為 hash tree,見名思意,這種樹其實就是用來儲存 hash 值的一種樹。關於hash我們在之前的文章已經說過了,對於乙個輸入,都有乙個唯一的長度的固定的輸出,且以我們目前的科技狀況,無法找到兩個不同的輸入使得輸出一樣。簡單來說就是 y h x y h x 我們無...

為什麼「默克爾樹」 能支撐位元幣的底層交易系統

前言 默克爾樹屬於二叉樹的一種,如果資料結構的基礎比較弱,沒關係,在閱讀文章的時候記錄下不懂的地方,然後有針對性的去搜尋學習。本文會分三個部分來解釋和論證為什麼 默克爾樹 能支撐位元幣的底層交易系統 什麼是默克爾樹?由乙個根節點,一組中間節點和一組葉子節點組成。根節點表示是最終的那個節點,且只有乙個...

SPV中如何利用默克爾樹證明某個交易是否存在

spv是 simplified payment verification 簡單支付驗證 的縮寫。中本聰 簡要地提及了這一概念,指出 不執行完全節點也可驗證支付,使用者只需要儲存所有的block header就可以了。使用者雖然不能自己驗證交易,但如果能夠從 區塊鏈的某處找到相符的交易,他就可以知道網...