欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

梅克爾樹保障了區塊鏈數據不可篡改,它的機制是怎樣的?

錢艷冰2年前12瀏覽0評論

首先說下概念:使用哈希指針建立的有用的數據結構是二叉樹,而使用哈希指針的二叉樹也叫作梅克爾樹(Merkletrees),是以其發明者拉爾夫·梅克爾(RalphMerkle)的名字命名。如下圖所示,假設有很多包含數據的區塊,這些區塊就構成了樹的葉子(節點)。將這些數據區塊兩兩分組,然后為每一組建立一個有兩個哈希指針的數據結構,每個指針對應一個區塊,這些數據結構就構成了樹的下一個層次。輪流將這些區塊組兩兩分組,為每一組建立一個包含每個區塊組哈希指針的新的數據結構。以此類推,直到我們得到一個單一區塊,即樹根節點。

在梅克爾樹的數據結構中,所有的數據區塊都被兩兩分組,指向這些數據區塊的指針被存儲在上一層的父節點(parentnode)中,而這些父節點再次被兩兩分組,并且指向父節點的指針被存儲在上一層的父節點中,一直持續這個過程,直到最后到達樹的根節點。

如上所述,只要記住樹最前面的哈希指針??梢酝ㄟ^哈希指針回溯到列表中的任何位置,這讓我們能保證數據確實未經篡改,如果有人篡改了樹底部的一些數據區塊,會導致上一層的哈希指針不匹配,即使有人繼續篡改這個區塊,改動數據行為將最終傳遞到樹的頂端,而此時,他將不能篡改存儲的哈希指針。因此,同樣地僅僅通過記住頂部的哈希指針,任何企圖篡改任何數據的行為都會被檢測到。

這樣,梅克爾樹就起到了保障區塊鏈數據不被篡改的作用。