楼主: carnelianX
330 0

[学习笔记] 【学习笔记】关于默克尔树(Merkle Tree) 默克尔树是一种二叉树,由一组叶节 ... [推广有奖]

  • 7关注
  • 7粉丝

博士生

57%

还不是VIP/贵宾

-

威望
0
论坛币
2189 个
通用积分
308.0559
学术水平
8 点
热心指数
8 点
信用等级
6 点
经验
9279 点
帖子
234
精华
0
在线时间
100 小时
注册时间
2017-10-10
最后登录
2024-8-15

楼主
carnelianX 发表于 2019-10-31 23:56:06 来自手机 |只看作者 |坛友微信交流群|倒序 |AI写论文
相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
关于默克尔树(Merkle Tree)

默克尔树是一种二叉树,由一组叶节点、一组中间节点和一个根节点构成,看下图:
consensus-png
来简单讲一下这幅图,我们从最底部开始看,D0、D1、D2和D3是叶子节点包含的数据,也就是叶子节点的value,继续往上看,N0、N1、N2和N3是就是叶子节点,它是将数据(也就是D0、D1、D2和D3)进行hash运算后得到的hash值;继续往上看,N4和N5是中间节点,它们各是N0和N1经过hash运算得到的哈希值以及N2和N3经过hash运算得到的哈希值,注意,它们是把相邻的两个叶子结点合并成一个字符串,然后运算这个字符串的哈希;接着往上,Root节点是N4和N5经过hash运算后得到的哈希值,这就是这颗默克尔树的根哈希。

在默克尔树中最下面的大量的叶节点包含基础数据;每个中间节点是它的两个叶子节点的哈希,根节点也是由它的两个子节点的哈希,代表了默克尔树的顶部。

还有从默克尔树的结构可以看出,任意一个叶子节点的交易被修改,叶子节点hash值就会变更,最终根节点的hash值就会改变。所以确定的根节点的hash值可以准确的作为一组交易的唯一摘要。

可以总结出默克尔树的特点:
1.首先是它的树的结构,默克尔树常见的结构是二叉树,但它也可以是多叉树,它具有树结构的全部特点。

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

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

实际上是一种数据结构。这种树状数据结构在快速归纳和检验大规模数据完整性方面效率很高。在比特币网络中,默克尔树被用来归纳一个区块中的所有交易,其树根就是整个交易集合的哈希值,最底层的叶子节点是数据块的哈希值,非叶节点是其对应子节点串联字符串的哈希。我们只需要记住根节点哈希,只要树中的任何一个节点被篡改,根节点哈希就不会匹配,从而可以达到校验目的。

(以上内容摘自公众号及相关网络文章) tmp_abd3faea6e3db4735520e150aa10fe82a1b1d80c2ae71192.jpg
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝


您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加JingGuanBbs
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-9-19 16:19