我正在使用 IPFS(Inter Planetary File System)以分散的方式存储文档/文件。
- 为了从网络中搜索文件,是否有网络上所有哈希的记录(如水蛭)?
- 我的请求如何通过网络传播?
我正在使用 IPFS(Inter Planetary File System)以分散的方式存储文档/文件。
抱歉,但我不清楚您是打算搜索网络上的文件内容还是只搜索网络上的文件。我将假设后者,如果这是错误的,请纠正我。
接下来的内容有点过于简单化了,但在这里:
为了从网络中搜索文件,是否有网络上所有哈希的记录(如水蛭)?
没有一条记录,没有。相反,构成网络的每个 ipfs 节点都持有总记录的一部分。当您向节点添加一个块时,该节点将向网络宣布,如果需要,它将提供该块。宣布的过程意味着让网络中的许多其他 ipfs 节点知道您拥有该块。本质上,您的节点询问其对等节点,谁询问他们的对等节点,依此类推,直到您找到一些 id接近块哈希的节点。Near 可以使用 xor 之类的简单方法来测量。
要理解的重要一点是,给定一个块的哈希值,您的节点会在网络中找到其他 ipfs 节点,其 id 与该块的哈希值相似,并告诉他们“如果有人问,我有这个块这个哈希”。这很重要,因为想要查找相同哈希的内容的人可以使用相同的过程来查找已被告知可以从何处检索哈希的节点。
我的请求如何通过网络传播?
基本上与上述相反。
您可以在以下内容中阅读有关 ipfs 内容路由的更多信息: