LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 新闻观点 > 叶胜超:一分钟搞懂Merkle Tree以及它的特点和作用(27)

叶胜超:一分钟搞懂Merkle Tree以及它的特点和作用(27)

2019-12-06 叶胜超区块链 来源:区块链网络

qQlQmeEQ9ajdJjwU5oXzD7sl87xytXoQRHCtI9rX.png

什么是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就是采用零知识证明来达到交易匿名的目的。

—-

编译者/作者:叶胜超区块链

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...