【问题标题】:Merkle tree vs hash list默克尔树与哈希表
【发布时间】:2019-05-17 04:42:54
【问题描述】:

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

【问题讨论】:

    标签: algorithm data-structures hashtree


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 正如理查德所说,关注索引,而不是整个树的实现。 Merkle 树是在构造它时找到一个根哈希来验证所有内容,而不是在你搜索它之后。
    • 我对你的回答感到困惑。 BitTorrent 使用我称之为“哈希列表”的东西。您显然可以使用 BitTorrent 从多个不受信任的来源下载数据。当一个下载的块损坏时,您不必再次下载整个文件 - 只需该块。您也可以只下载文件的一部分。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-10
    • 2010-10-23
    • 2011-05-06
    • 2023-03-31
    • 2014-02-13
    • 2016-10-03
    • 1970-01-01
    相关资源
    最近更新 更多