图解默克尔树

作者: 胡键 | 来源:发表于2020-02-04 16:14 被阅读0次

原文链接

iden3.io 的 blog 最近发表了一篇关于默克尔树的图解文章,相当不错,特摘取了文章的图解部分。

默克尔树规范

image.png

包含数据的区块组成了树的叶子。

image.png

首先,为每个数据区块创建父节点,其值为它们后代数据区块的哈希。

image.png

然后,两两分组父节点,将它们值的哈希保存于上一级的树节点中。

image.png

重复此过程直至一个节点,其为树的根。

防篡改

image.png

假设叶子节点数据被恶意篡改

image.png

将导致上一级节点的哈希值与之不匹配

image.png

因此不得不继续篡改该节点

image.png

同理,不得不依次篡改上一级节点

image.png

最终,来到了根节点,无法篡改,因为此节点在链上一直处于被跟踪的状态。

证明数据的有效性

image.png

现要证明 data0 是默克尔树的一员

image.png

首先需要找到从数据区块到根节点的一条路径

image.png

然后找到该路径上 data0 兄弟区块

image.png

忽略树的其余部分,因为这些区块已经有足够信息参与计算

image.png

递归重新计算根的值,若与链上的根的值相等,则 data0 属于默克尔树一部分

image.png

先计算 data0 哈希,放于标记为 0 的区块中

image.png

将 data0 的哈希结合标记为 1 的区块值计算,结果放入 4

image.png

最终结合 4 和 5 算出根的值

image.png

比较两者结果即可做出判断

关于默克尔树的其他内容,请阅读原文


以太坊开发者俱乐部.png

相关文章

  • 图解默克尔树

    原文链接 iden3.io 的 blog 最近发表了一篇关于默克尔树的图解文章,相当不错,特摘取了文章的图解部分。...

  • IPFS初学者指南(中)

    默克尔 DAG 默克尔 DAG是默克尔树和有向无环图(DAG)的混合。Merkle树确保在p2p网络上交换的数据块...

  • 默克尔树

    Merkle Tree具有以下特点: 1. 它是一种树,可以是二叉树,也可以多叉树,无论是几叉树,它都具有树结构的...

  • 【学习笔记】merkle树及设置意义

    Merkle树(默克尔树) 默克尔树是一类基于哈希值的二叉树或多叉树,其叶子节点上的值通常为数据块的哈希值,而非叶...

  • 默克尔树及默克尔根

    Merkle Tree,通常也被称作Hash Tree,顾名思义,就是存贮hash值的一棵树。 每条交易信息都具有...

  • 默克尔树模拟

    学习了一个很好的默克尔树专题(https://blog.csdn.net/wo541075754/article/...

  • Merkle Tree算法学习

    默克尔树详细讲解推荐文章Merkle tree wikipedia Merkle Tree Structure M...

  • MPT

    一、MPT 默克尔帕特里夏树(Merkle Patricia tree/trie),由Alan Reiner提...

  • 默克尔树(Merkle Trees)

    默克尔树是一 种二叉树,包含了一组节点,它们的含有基础信息的树根有大量的叶子节点,一组中间节点,每一 个节点都是它...

  • 默克尔树学习笔记

    参考引用原博客地址 Merkle Tree学习 谈谈以太坊的Merkle树 如侵权请联系删除。 以前有过一点的密码...

网友评论

    本文标题:图解默克尔树

    本文链接:https://www.haomeiwen.com/subject/cebrxhtx.html