Merkle 树与哈希列表

Merkle tree vs hash list

使用Merkle trees over Hash lists有什么好处?哈希表是2级结构,Merkle树是log n级结构。两者都可用于验证其中一个节点是否已更改。哈希列表将更快地完成此操作。那么为什么要使用默克尔树呢?

但是哈希列表并不能更快地完成这个任务。假设从列表中获取哈希树或项目的成本很高:您必须从可能不受信任的来源下载它们。连接速度和验证成本都使得一次获取整个数据集变得困难。

相反,如果我从我信任的人那里得到树的顶级节点,那么我可以从不受信任的来源得到两个子树并仍然验证真实性。以此类推,递归。

同样,有了哈希树,我可以从多个不受信任的来源获取数据块,并验证我的最终程序集的子集是否真实,而无需下载整个内容。

另一种方法是下载一个 800MB 的文件,对它进行散列处理,发现它有问题,然后不得不重新下载整个文件。