Merkle hash torrent扩展表示,最简单的方法是为每个区块计算sha-1哈希,以确保数据完整性。使用Merkle树,您知道需要正确的根sha-1哈希,因此对等方从叶中计算每个块的sha-1哈希作为根哈希。我不明白为什么你不能只使用整个文件的sha-1哈希进行验证。对等方需要首先将块组合到一个文件中,并计算该文件的sha-1哈希进行验证。
如果您有整个文件的哈希,则需要整个文件来检查哈希是否正确。
如果你有一个Merkle树,那么每次对等方向你发送一个文件块时,你都可以检查这个块,只需要对等方的一点帮助。你可以把大块的东西弄碎,然后爬上树。在每个树节点上,您使用迄今为止计算的哈希,以及该节点的另一个哈希,对等方发送给您是因为它知道您会这样做。当你到达根时,如果根哈希与预期的哈希相同,你就知道区块是正确的。