-

5分钟内领会默克尔树

来源: 数字货币 时间:2021-01-22 08:10:17
导读: 简单来说,哈希树(默克尔树Merkle Trees)中,每个节点都标有一个数据块的加密哈希值。哈希树可以用来验证任何一种在计算机中和计算机之间存储、处理和传输的数据。


一种兼具隐私和所有者自监管的数字货币体系结构

我们面对的是一个非现金的年代,这应该不是一件好事,虽然资金流转效率提高了,但电子支付代替现金后,我们再也没有了稳私,我们的任何一笔支付都透露了我们的行为状态信息。

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

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

说到区块链,我们有许多区块,这些区块会通过哈希值的辅助毗邻在一起,我们知道每一个区块都市拥有买卖,可以是一个,也可以是100多个,那么若是我们想要找出区块自己的哈希值,我们该怎么做呢?是把整个区块组合起来形成一个哈希值呢?照样要找到每个买卖的哈希值?现在若是你想找到每个买卖的哈希值,你必须存储所有的哈希值,这样一个区块就不会只有1个哈希值,而是有100个哈希值,我们不希望我们只想获得1个哈希值,而其中一个实现的方式就是借助默克尔树。

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

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

那么要若何确立这棵树呢,让我们想象一下,在一个区块中,我们有8个买卖,而我们将最先网络每个买卖的哈希值,那么对于8个买卖,我们将会有8个哈希值。现在,我们要做的是就找到第一个和第二个的值,然后是第三个和第四个,以此类推,直到最终获得这样的器械: 

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

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

然后在最后我们会把所有的器械结合起来,获得1到8的哈希值,然后给整个区块和内里所有的买卖符号上一个整体的哈希值。

在这个例子中,我们可以看到最后是偶数,然则若是是一个奇数会是怎么样呢?我们只需重复买卖,如[9,10,9,10]分支中所示的那样。

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

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

加入新手交流群:每天早盘分析、币种行情分析

添加助理微信,一对一专业指导:chengqing930520

加入新手交流群:每天早盘分析、币种行情分析,添加助理微信

一对一专业指导:chengqing930520