梅克尔树

Merkle树是一种用于计算机科学应用的数据结构。比特币和其他加密货币​, Merkle树用于更高效、更安全地编码区块链数据。...

什么是梅克尔树(a merkle tree)?

Merkle树是一种用于计算机科学应用的数据结构。比特币和其他加密货币​, Merkle树用于更高效、更安全地编码区块链数据。

它们也被称为“二进制哈希树”

分解梅克尔树

在比特币的区块链中​, 事务块是通过一种算法来生成哈希的,哈希是一组数字和字母,可以用来验证给定的数据集是否与原始事务集相同,但不能获得原始事务集。然而,比特币的软件并不能一次性通过哈希函数运行整个交易数据块(平均相当于10分钟的交易)。而是对每个事务进行哈希处理,然后将每对事务串联在一起并进行哈希处理,依此类推,直到整个块有一个哈希(如果事务数为奇数,则一个事务将加倍,其哈希将与自身串联。)

从视觉上看,这个结构像一棵树。在下图中,“T”表示事务,“H”表示散列。注意图像高度简化;一个平均块包含500多个事务,而不是8个。

Merkle Tree

底部行的散列称为“叶”,中间行的散列称为“分支”,顶部的散列称为“根”。给定块的Merkle根存储在头中:例如,块#482819的Merkle根是e045b18e7a3d708d686717b4f44db2099aabcad9bebf968de5f7271b458f71c8。根与其他信息(软件版本、前一个块的哈希、时间戳、难度目标、,和nonce),然后运行散列函数以生成块的唯一散列:000000000000000000BFC767EF8BF28C42CBD4BAFD9AA1B5C3C33C2B089594,对于块#482819,此散列实际上不包含在相关块中,而是包含在下一个块中;它不同于梅克尔根。

Merkle树非常有用,因为它允许用户在不下载整个区块链(2017年8月底超过130GB)的情况下验证特定交易。例如,假设您想验证事务TD是否包含在上图中的块中。如果你有根散列(HABCDEFGH),这个过程就像一个数独游戏:你向网络查询HD,它返回HC、HAB和HEFGH。Merkle树允许您验证是否使用三个散列来说明所有内容:给定HAB、HC、HEFGH和根HABCDEFGH、HD(唯一缺少的散列)必须存在于数据中。

Merkle Tree 2

Merkle树是以Ralph Merkle的名字命名的,Ralph Merkle在1987年的一篇题为“基于传统加密函数的数字签名”的论文中提出了这种树。

  • 发表于 2021-06-11 12:39
  • 阅读 ( 103 )
  • 分类:商业金融

你可能感兴趣的文章

upgma公司(upgma)和邻接连接树(neighbor joining tree)的区别

UPGMA和邻接连接树的关键区别在于每种方法产生的系统进化树的类型。UPGMA是构建有根系统发育树的技术,邻接连接树是构建无根系统发生树的技术。 系统发育树是一种树状图,显示了生物体之间的进化关系。一个系统进化树...

  • 发布于 2020-10-15 16:37
  • 阅读 ( 924 )

尼古拉斯·凯奇在预告片《留守》中面对上帝的愤怒

...愤怒,但这是我们第一次看到凯奇和一个树山明星查德迈克尔默里,分别作为飞行员雷福德斯蒂尔和世界著名记者巴克威廉姆斯。最初的系列丛书始于1995年,2007年收尾,是一种文化现象,普及了圣经中的“狂喜”观念,催生了...

  • 发布于 2021-04-26 12:48
  • 阅读 ( 81 )

选择合适的室友就可以提高平均绩点

...并没有相互影响,比如专业的选择,但是,正如肖恩·阿克尔在《快乐优势:激励成功和工作表现的积极心理学七原则》中总结的那样:他发现,当平均分数较低的学生开始与得分较高的学生同住时,他们的平均分数会增加。根...

  • 发布于 2021-05-26 14:43
  • 阅读 ( 108 )

二叉树(binary tree)和二叉搜索树(binary search tree)的区别

什么是二叉树(binary tree)? 二叉树是一种分层数据结构,其中每个节点都有零个子节点、一个子节点或最多两个子节点。每个节点都包含一个“左”指针、“右”指针和一个数据元素。“root”指针表示树中最顶层的节点。数据结...

  • 发布于 2021-06-25 04:51
  • 阅读 ( 538 )

如何阅读系统发育树(read a phylogenetic tree)

系统发育树是一个分支图,代表了密切相关的生物之间的进化关系。系统发育树的根代表祖先。系统发育树的分枝模式反映了几个物种从共同祖先进化而来。分支代表物种形成。系统发育树的顶端随着时间向前移动。如...

  • 发布于 2021-06-30 14:17
  • 阅读 ( 253 )

决策树(decision tree)和随机森林(random forest)的区别

决策树和随机林的主要区别在于,决策树是一个使用分支方法来说明决策的每个可能结果的图,而随机林是一组基于其所有决策树的输出给出最终结果的决策树。 机器学习是人工智能的一种应用,它赋予系统在过去经验的基础...

  • 发布于 2021-06-30 23:51
  • 阅读 ( 2636 )

解析树(parse tree)和语法树(syntax tree)的区别

解析树和语法树的主要区别在于,解析树是一种层次结构,它表示语法的派生以获得输入字符串,而语法树是将编程语言的语法表示为类似于树的层次形式的一种方式 解析树是输入的具体表示。它包含有关输入的所有信息。另...

  • 发布于 2021-07-01 10:14
  • 阅读 ( 1731 )

扎根的(rooted)和无根系统发育树(unrooted phylogenetic tree)的区别

有根系统发育树与无根系统发育树的主要区别在于,有根系统发育树表现了生物的祖先关系,而无根系统发育树只表现了生物的亲缘关系。此外,有根系统发育树的每个后代都有一个最近的共同祖先,而无根系统发育树没有显示...

  • 发布于 2021-07-02 00:16
  • 阅读 ( 679 )

upgma公司(upgma)和邻居连接树(neighbor joining tree)的区别

UPGMA与邻接树的主要区别在于UPGMA是一种基于平均连锁法的凝聚层次聚类方法,而邻接树是一种基于最小进化准则的迭代聚类方法。此外,UPGMA生成有根系统发育树,邻接树生成无根系统发育树。由于UPGMA方法假设进化速率相等,...

  • 发布于 2021-07-02 03:03
  • 阅读 ( 294 )

圣诞树(christmas tree)和松树(pine tree)的区别

...诞树引入维也纳。1800年,乔治三世在德国出生的妻子、梅克伦堡的夏洛特·斯特里茨在为孩子们举行的一次聚会上介绍了圣诞树,这一传统传到了英国,维多利亚女王十几岁时参加的聚会。维多利亚和她的德国表妹结婚后,装饰...

  • 发布于 2021-07-12 10:22
  • 阅读 ( 293 )
微生儇呓
微生儇呓

0 篇文章

相关推荐