在區塊鏈中,主要使用Merkle 樹來進行數據正確性的驗證。
特點
默克爾樹是一種樹,可以是二叉樹,也可以是多叉樹。
默克爾樹葉子節點的value是數據項的內容或者是數據項的哈希值;
非葉子節點的value根據其孩子節點的信息,然後按照hash算法計算得出;
優點
1、快速hash重計算:默克爾樹中任何一個葉子節點內容變更,都能夠在前一次的基礎上,僅僅將被修改的樹節點進行哈希重新計算就能夠得到一個新的根哈希來代表整棵樹的狀態。
2、葉子節點存在證明:通過返回默克爾樹中的節點路徑來驗證一個葉子節點是否存在,該證明過程又稱爲默克爾證明。通過默克爾證明可以實現輕節點的擴展。
缺點
存儲空間開銷大(存儲中間hash,根據業務需求,也可以不存儲)
THE END!