上篇博文我們轉載了一篇《Merkle Tree(默克爾樹)演算法解析》,那麼大家是不是會有疑問,學習這個演算法之後,我們改怎麼去應用,區塊鏈中又是如何應用的?今天這篇部落格就以Merkle tree在區塊鏈中的具體用法為例簡單說明一下。

要了解Merkle tree的使用,先要了解一下區塊鏈中每個區塊的資料結構,下面以比特幣的資料結構為例說明。

如下圖,資料區塊由區塊頭區塊體兩部分組成:
這裡寫圖片描述

從圖中我們可以看出Merkle樹被應用在了交易的儲存上。每筆交易都會生成一個hash值,然後不同的hash值向上繼續做hash運算,最終生成唯一的Merkle根。並把這個Merkle根放入資料區塊的區塊頭。利用Merkle樹的特性,以確保每一比交易都不可偽造和沒有重複交易。

下面,再從整體上認識一下Merkle樹在區塊中的位置:
這裡寫圖片描述