在像比特币这样的分布式网络中,节点如何在初始连接后找到它的对等体?

时间:2017-01-31 10:51:04

标签: p2p blockchain

假设客户端保留一些已知的着名节点的硬编码表,以便开始与网络的连接。当该节点最初连接到入口点时,它必须继续查找自己的对等点。怎么做的?

节点显然不能只询问初始节点的邻居。

2 个答案:

答案 0 :(得分:4)

https://en.bitcoin.it/wiki/Satoshi_Client_Node_Discovery很好地解释了这个过程。

要点是:

  • 识别自己的公共IP地址的中央服务。
  • 用于发现初始节点的硬编码IRC频道,DNS域或IP地址。
  • 随后每个节点使用特定的广告消息定期共享其对等节点。

答案 1 :(得分:2)

  

我特别想知道是否需要/使用kademlia这样复杂的东西,或者我们是否可以让它像随机询问节点邻居和邻居邻居一样简单。

两者都存在,常用的术语是结构化和非结构化的覆盖网络。后者通常试图成为一个小型的世界网络。

简单的网络是否足够取决于您想要用它做什么。它们通常运行良好,只是简单地向每个人传播更新或为每个感兴趣的主题形成单独的网络。另一方面,基于地址的查找等更复杂的事情将受益于像kademlia这样的结构化叠加。

相关问题