0

白皮书指出:

小值(等于或小于 1KB)直接存储在 DHT 上。对于较大的值,DHT 存储引用,即可以为区块提供服务的节点的 NodeId。

什么意思:“直接存储”?

这是否意味着它只是存储在本地还是广播给所有对等点?

4

1 回答 1

1

DHT 有点像电话簿。如果您知道内容 ID(多重哈希),则 DHT 允许您找到存储实际内容的对等方。

这个“电话目录”是如此之大,以至于没有一个对等方可以完整地保存它。这就是它被分发的原因之一——每个对等点实际上只持有目录的一小部分。还有一些冗余,这样全局目录在单个对等点下线时不会丢失信息。

当一些内容被添加到网络中时,分布式目录的一些块被更新为它的 ID 和持有它的对等点的地址。当您稍后想要通过其 ID 查找该内容时,您首先必须找到存储正确 DHT 块的对等点,这将告诉您可以在哪里下载实际内容。

但是,如果内容太小以至于可以放入目录中的单个“行”(1 KB),则它会直接存储在目录块中。当您查找该内容时,存储 ids 目录条目的对等点可以直接提供它,而不是将您指向另一个对等点。

因此,只有当内容小于某个阈值时,它才会真正“广播”给一些对等点(但不是全部)。如果内容大于该内容,则仅广播找到它的信息。

于 2020-06-29T08:23:56.977 回答