由于分布式哈希表节点可能是恶意的,并报告虚假的values (即虚假的对等点),我们不应该在得到任何响应后立即停止搜索对等点,希望从另一个好的节点获得真正的对等点。
我们甚至不必假设恶意的意图:在探索分布式哈希表的不同分支时,我们可能会得到更多(甚至更好)的同行,如果我们只关注最短的分支,我们可能会错过这些分支。
何时应停止递归get_peers分布式哈希表搜索?我们是否应该继续搜索,直到搜索空间中的所有节点都耗尽?也就是说,一旦我们没有从最后一个候选者那里得到任何未查询的nodes。
发布于 2020-09-19 02:08:15
如果满足以下条件,则对K最近节点集的迭代查找是完成的
A)以下所有情况都是正确的
nodes/nodes6字段中检索到的候选条目不会比结果集中的K个最远条目更近
或
B)当查询的候选对象用完时
在计算K最近集时,您还需要考虑后续操作(如果有)的资格。例如,如果您想要后续使用最近节点,那么K- announce_peer - token集必须由返回令牌的节点组成,因为不返回令牌意味着inability to store additional values。
https://stackoverflow.com/questions/63908048
复制相似问题