1

当您拥有一棵 Merkle 树时,验证对一个叶节点的更改所需的最小哈希数是多少?

我的理解是否正确,首先,只需要顶部哈希(Merkle 树根或 Merkle 树根的哈希)?然后一旦修改了叶子,您需要在下降到被修改的叶子节点时获取“访问”的每一行的哈希值?

因此,如果一个根有,比如说,十个孩子和一个孙子被修改,我想验证那个特定的孙子,我需要获得新的默克尔根哈希,十个孩子的哈希和孙子的父母的孩子。

因此,在每次修改时,您总是需要至少获取第一行的所有哈希值?(否则你如何重建和验证默克尔根哈希?)

4

1 回答 1

0

一般来说,默克尔树并未被设计为指示哪个哈希值实际上是不正确的。相反,它可以在大型数据结构上获得有效的散列。每个叶节点的哈希可以单独计算(当然,每个分支也可以,尽管这只是哈希)。

如果要验证哪个节点无效,则应保留整个 Merkle 树。如果您有另一方进行计算,您确实可以下降到树的分支以找到更改的叶节点。

于 2015-11-09T23:39:34.710 回答