复制成功

分享至

OKX > 区块链百科 >

一分钟搞懂 Merkle Tree 以及它的特点和作用

2022.02.28

什么是 Merkle Tree?

Merkle Tree 也就是胜超前文说的 Merkle 树,中文译名还有梅克尔树或默克尔树,因为这是一棵用哈希值搭建起来的树,树的所有节点都存储了哈希值,所以也叫哈希树,英文名为Hash Tree。

Merkle 树是一种典型的二叉树结构,看起来像一棵倒着的树,由一个根节点,一组中间节点和一组叶节点组成,最早由 Merkle Ralf 在 1980 年提出,广泛用于文件系统和 P2P 系统中。

如何理解 Merkle 树中的节点?

叶节点:在二叉树中,没有子节点的节点称为叶节点,这是初始节点,对于一个区块而言,每一笔交易数据,进行哈希运算后,得到的哈希值就是叶节点。

中间节点:子节点两两匹配,子节点哈希值合并成新的字符串,对合并结果再次进行哈希运算,得到的哈希值,就是对应的中间节点,这是过程节点。

根节点:有且只有一个,也就是胜超之前分享的 Merkle 根,也叫Merkle Root,这是终止节点。

Merkle 树有什么特点?

1,首先是它的树的结构,Merkle 树常见的结构是二叉树,但它也可以是多叉树,它具有树结构的全部特点。

2,Merkle 树的基础数据不是固定的,想存什么数据由你说了算,因为它只要数据经过哈希运算得到的Hash 值。

3,Merkle 树是从下往上逐层计算的,就是说每个中间节点,都是根据相邻的两个叶子节点组合计算得出的,而根节点是根据两个中间节点组合计算得出的,所以叶子节点是基础。

Merkle 树有什么用?

1,Merkle 树比较典型的应用场景的就是 P2P 下载,在点对点网络中作数据传输的时候,为了校验数据的完整性,把大的文件分割成小的数据块,如果小块数据在传输过程中损坏了,那么只要重新下载这一小块数据就行了。

2,Merkle 树还可以被用来快速比较大量的数据,因为当两个 Merkle 树根相同时,则意味着所代表的数据必然相同。

3,Merkle 树可以实现零知识证明,关于零知识证明以后有时间再分享,ZCash 就是采用零知识证明来达到交易匿名的目的。
 

免责声明:数字资产交易涉及重大风险,本资料不应作为投资决策依据,亦不应被解释为从事投资交易的建议。请确保充分了解所涉及的风险并谨慎投资。本站资讯仅提供信息参考,不构成任何投资建议,用户一切投资行为与本站无关。

相关推荐

industry-frontier