1. 程式人生 > >20181117--深入淺出區塊鏈Merkle樹及簡單支付驗證分析

20181117--深入淺出區塊鏈Merkle樹及簡單支付驗證分析

區塊結構
Merkle樹
驗證交易的過程和檔案驗證很相似,可以人為每個交易是一個小資料塊,但比特幣使用Merkle樹的方式進行驗證,相對於雜湊列表,Merkle樹是一種雜湊二叉樹,它的明顯的一個好處是可以單獨拿出一個分支來(作為一個小樹)對部分資料進行校驗,更加高效。

我們回看下上面的區塊結構圖,區塊體就包含這樣一個Merkle樹,Merkle樹被用來歸納一個區塊中的所有交易。

每個葉子節點是每個交易資訊的雜湊,往上對相鄰的兩個雜湊合併成字串再雜湊,繼續類似的操作直到只剩下頂部的一個節點,即Merkle根,存入區塊頭。

因為Merkle樹是二叉樹,所以它需要偶數個葉子節點。如果僅有奇數個交易需要歸納,那最後的交易就會被複制一份以構成偶數個葉子節點,這種偶數個葉子節點的樹也被稱為平衡樹。