一文了解梅克尔树的概念和组成

星球日报 阅读 26667 2021-5-7 15:48
分享至
微信扫一扫,打开网页后点击屏幕右上角分享按钮

问题:

在中心化网络中,数据通常只能通过单一来源访问,因此组织单一数据副本不需要太多工作,除了信任该系统,别无选择。

但是,在具有多个节点的去中心化网络中,有效地组织数据很重要。在分发数据的区块链中,挑战首先在于有效访问数据,其次,再是进行验证并在所有节点之间准确分发数据副本。

解决方案:

在基于去中心化网络的系统中实现梅克尔树来共享和验证数据。

梅克尔树通过以下方式降低成本:

以共享数据及其验证不需要处理能力的方式组织数据。

它是有效执行的。

梅克尔树的概念

比特币以太坊IPFS,Git,Apache Cassandra和BitTorrent的实现中,共同点在于他们的存储数据的技术,即梅克尔树,该技术是区块链的基本组件,可以高效,安全地验证大型数据结构。

梅克尔树用于在区块链的一个块中存储和组织所有交易,并帮助验证数据的一致性。让我们在下面的图表的帮助下进一步了解该概念,

一文了解梅克尔树的概念和组成

二进制哈希树

梅克尔树是一个二进制哈希树,其中内部节点的值是其叶节点的哈希。在梅克尔树的根处,我们有交易的哈希,在上图中被表示为H [A],H [B],H [C]和H [D],称为叶节点或子节点。在左树中,H [A]和H [B]分别是数据块L1和L2的哈希值,在右树中,H [C]和H [D]分别是L3和L4的哈希值。内部节点H [AB]是叶节点H [A]和H [B]的串联,类似地,H [CD]是H [C]和H [D]的串联。

梅克尔树的每个叶/子节点都包含交易的哈希,其次是包含叶/子节点(“ H [AB]”和“ H [CD]”的“组合哈希值”的哈希的中间节点),以及然后是根节点,该根节点包含其左树和右树(H [ABCD])的组合哈希值(称为梅克尔根),如上所述。

有趣的是,如果我们想在某个交易中进行任何更改,则中间节点哈希将发生变化,从而导致根哈希同时发生变化。这意味着,如果某人尝试更改一个特定的交易,则根哈希将被更改,并且一旦根哈希被更改,由于它们相互链接,因此存在的所有块的所有后续哈希将被更改。这样,攻击者就无法尝试操纵数据,因为这样做,他将必须实际更改整个链的事务数据,这当然是不可能完成的任务。这就是梅克尔树的设计之美,这使其成为防篡改的数据结构。

梅克尔树负责数据的完整性,因此您不必浏览整个交易即可查看其可验证性。可以将树划分为小的数据块,这些数据块可用于验证整个网络中的事务。此概念称为梅克尔证明,在去中心化系统中非常有用。梅克尔证明(Merkle Proofs)不需要验证整个树中的所有信息,只需要足够的计算能力即可验证少量数据以查看其是否为真。

应用领域

梅克尔树用于在分散和分布式系统中同步数据,在分散和分布式系统中,相同数据应存在于多个位置。

它们还用于检查数据中的不一致之处,并检测整个数据库副本之间的不一致的地方。

主要好处

梅克尔树可以将数据分成不同的部分,从而提高了大规模的可扩展性,因为梅克尔树可以分为微小的信息块进行验证。

它有效地验证了数据的完整性。

可以将任何数量的数据存储在梅克尔树中,该树将始终以顶部的根哈希结尾。

它提供了高级数据和一致性验证。

在梅克尔证明的帮助下,梅克尔树大大降低了成本。

梅克尔树如何使Umbrella Network受益

由于梅克尔树可帮助有效地组织数据,从而使验证过程使用的计算能力较小,因此,Umbrella Network使用它以低成本将数以千计的真实数据点带到了链上,而不会牺牲安全性和数据完整性。

在Umbrella Network的系统中,梅克尔树上的每个叶子都代表一个预言机的数据点。梅克尔根哈希是梅克尔树中整个交易块的唯一标识符。在代表树中所有数据的梅克尔根哈希上进行了“权益证明”共识,最终验证的交易集以一笔交易费的成本写在链上。

Umbrella利用梅克尔树来批量处理事务,以解决当今预言机中的可扩展性问题。梅克尔树用于汇总数据,允许将多个交易捆绑为一个交易,并且只需支付一次费用。因此,显着减少了将现实世界的数据链上链所需的时间和成本,从而使Umbrella Network成为成本最低的预言机解决方案,并且具有市场上可用的最大数据集。

btcfans公众号

微信扫描关注公众号,及时掌握新动向

免责声明:
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场
上一篇:在协议升级增加质押奖励后,EOS价格上涨100% 下一篇:为什么以太坊的价格会达到3600美元,接下来会怎样?

相关资讯