区块链:科普 | 5分钟内了解默克尔树

简单来说,哈希树中,每个节点都标有一个数据块的加密哈希值。哈希树可以用来验证任何一种在计算机中和计算机之间存储、处理和传输的数据。它们可以帮助确保在点对点网络中从其他对等体收到的数据块是原封不动地收到的,且没有损坏,也没有改变。

那么让我们来讨论一下默克尔树吧。

说到区块链,我们有很多区块,这些区块会通过哈希值的帮助连接在一起,我们知道每一个区块都会拥有交易,可以是一个,也可以是100多个,那么如果我们想要找出区块本身的哈希值,我们该怎么做呢?是把整个区块组合起来形成一个哈希值呢?还是要找到每个交易的哈希值?现在如果你想找到每个交易的哈希值,你必须存储所有的哈希值,这样一个区块就不会只有1个哈希值,而是有100个哈希值,我们不希望我们只想得到1个哈希值,而其中一个实现的方法就是借助默克尔树。

人大附中物理老师李永乐科普拜占庭将军问题和区块链:5月14日,人大附中物理老师、科普视频网红李永乐在其公众号发布视频《拜占庭将军问题是什么?区块链如何防范恶意节点?》。李永乐老师在视频中对拜占庭将军问题和区块链进行了讲解,他表示,拜占庭将军问题本质上指的是,在分布式计算机网络中,如果存在故障和恶意节点,是否能够保持正常节点的网络一致性问题。在近40年的时间里,人们提出了许多方案解决这一问题,称为拜占庭容错法。例如兰波特自己提出了口头协议、书面协议法,后来有人提出了实用拜占庭容错PBFT算法,在2008年,中本聪发明比特币后,人们又设想了通过区块链的方法解决这一问题。区块链通过算力证明来保持账本的一致性,也就是必须计算数学题,才能得到记账的权力,其他人对这个记账结果进行验证,如果是对的,就认可你的结果。与拜占庭问题比起来,就增加了叛徒的成本。[2020/5/14]

第一次看到默克尔树时,它们可能会非常混乱,但实际上结构非常简单。

声音 | 上海股交所总经理:区块链想要大规模发展要做好社会科普工作:金色财经报道,上海股交所总经理张云峰表示,区块链当前还处于一个“概念”的阶段,距离成熟应用,影响到百姓的日常生活还有很长的路要走。对于“区块链”和其会带来的社会和经济效果,沈阳应当持审慎的态度。区块链想要大规模发展,一方面要做好这项复杂技术的社会科普工作,加快社会大众对区块链的了解。另一方面,要充分发挥市场的作用,让企业用实实在在的技术创新,赋能实体经济的发展。[2019/11/17]

动态 | 浙江卫视节目科普支付宝区块链防伪溯源产品:昨日,在浙江卫视播出的科普综艺栏目《智造将来》现场,支付宝首次展示了支付宝区块链防伪溯源产品,以接地气的方式公开向大众展示区块链在生活中的应用。[2019/3/4]

每一棵树都会有一个根,一组枝条,然后叶子从枝条的底部长出。

那么要如何建立这棵树呢,让我们想象一下,在一个区块中,我们有8个交易,而我们将开始收集每个交易的哈希值,那么对于8个交易,我们将会有8个哈希值。现在,我们要做的是就找到第一个和第二个的值,然后是第三个和第四个,以此类推,直到最终得到这样的东西:?

一旦我们有了所有的集体哈希,我们就可以再次将它们组合起来,如下图:?

最后在完成上述步骤后,我们将回到树的根部,最终的默克尔树则会入下图所示:

然后在最后我们会把所有的东西结合起来,得到1到8的哈希值,然后给整个区块和里面所有的交易标记上一个整体的哈希值。

在这个例子中,我们可以看到最后是偶数,但是如果是一个奇数会是怎么样呢?我们只需重复交易,如分支中所示的那样。

最后,当我们在根部将所有这些组合在一起时,我们将留下默克尔树的根部,且只有1个区块的哈希值。这在涉及区块链时,是非常有用的,因为它限制了能够处理所有区块所需的内存,能够只处理每个区块的一个哈希值,因此比必须处理每个区块内存储的100个哈希值要高效得多。

大多数哈希树的实现都是二进制的,这意味着每个分支下都会有1个叶子,但它们也一样可以在其分支下使用更多的叶子节点。

作者:CharlieRogers

编译:公众号@萌眼财经

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

链链资讯

[0:0ms0-2:703ms