Trie教程详解:e77乐彩手机版

泡沫雕刻机 | 2020-12-01

e77乐彩手机版

e77乐彩手机版|介绍了Node.js中Merkle Tree和Patricia Trie的构建,还介绍了这两种数据结构的几个理论方面。 介绍Merkle和Patricia是以太网区块链中使用的两个最受欢迎的数据结构,其背后的Bloom Filters非常相似。 本文关于Merkle和Patricia的尝试2 .用算法Node.js构建默克尔树Merkle Tree默克尔树Merkle Tree不是计算机科学中的新概念,已经不存在几十年,源于密码学领域简单来说,默克尔树Merkle Tree本质上是树根的数据结构,其中的数据存储在叶节点中,非叶节点存储数据散列,每个非叶节点是其下两个节点的人类组散列值。

从数学上来说,例如与字母列表等价,可以制作默克尔树merkel tree。 在默克尔树merkel tree的最下层,所有字符都包含为叶节点。

上面的层包含哈希值。 第2层之后的层节点包括子节点的哈希值。 通常,从第2层提供两个节点,并将它们分割成不同的节点。 也可以使用两个以上的节点,但二默克尔树merkel tree是所有节点中最简单的,减少节点的程度不仅降低了计算和算法的复杂性。

e77乐彩手机版

如果节点数是偶e77乐彩会员登录数,取两个倒数的节点构成父层。 但是,如果节点数是奇数,请使用两个倒数的节点,直到只剩下一个节点来构成父层,然后将哈希值读取到父层,从而重复剩馀的节点。 第3层包括第2层两个倒计时节点的值的散列值,如果一层有奇数个节点,则最后一个节点同样重复,第3层的值构成第4层。

第四层由第二层两个倒计时节点值的散列构成的默克尔树merkel tree的最后一层或根由最上层保持的最后两个节点的散列值构成。 无论如何,奇数或偶数叶的节点,我们总是在最上层具备两个节点。

数据检查默克尔树merkel tree的重要性在于有效地检查数据的能力。 等价列表中的任何数据都可以验证该数据在O(h )时间的复杂性中是否有效。

另外,我们没有必要在整个名单上展开检查。 默克尔树merkel tree的更简单的形式表明它是散列链或简单的区块链,每个节点具有上一个节点值的散列值。 如果伪造中间的任意一个节点,就可以在O(n )时间内确认该节点是否被伪造。

e77乐彩会员登录

散列链中的检查可以通过计算所有节点的散列值(从所讨论的节点以后结束)而继续。 如果必须验证多个节点,请从所有可疑节点的第一个节点开始计算最后一个节点的散列。 现在我们有最后一个节点的哈希。 你可以比较和检查是否给出了这个散列。

哈希链看起来非常简单,但对大型数据对象来说不是有效的自由选择。 由于必须在物理上不存在的整个链中验证数据,所以也不会降低散列链的空间效率。 对默克尔树merkel tree的检查情况并非如此。

为了说明检查步骤,要求考虑以下例子。 假设从另一台服务器收到了数据c。

这可以说是c’。 我们必须验证c’没有伪造。 我们在名单上没有所有数据默克尔树merkel tree。

e77乐彩会员登录

如果是哈希链,你必须检查整个数据列表以确保c’是正确的。 在默克尔树merkel tree中,我们必须散列。 右图显示了在不使用其他数据对象的情况下检查c '的方法。

:e77乐彩手机版。

本文来源:e77乐彩会员登录-www.pi-music.com