在区块链系统中,不存在任何中心化节点帮助它们互相连接,当一个节点A第一次加入网络中时,它首先会通过一种算法找到距离它最近的一个网络节点。
节点将一条包含自身IP地址的消息发送给相邻节点,相邻的节点再将这条消息向与自己连接的节点进行分发广播,以此类推,最终导致新节点的IP地址在全网进行分发,每个网络节点都知道节点A的地址,可以与之建立直接连接。
节点A在找到相邻最近的节点之后,还会向与它相邻的节点索要它们已知节点的IP地址列表,拿到这些节点的IP地址列表之后,节点A便可以主动与这些节点建立直接连接。
当节点A加入网络之后,一般会与正活跃的节点连接。如果难以找到这样的节点,节点A会根据自己得到的IP地址列表,来找到那些长期稳定运行的节点,这种节点就是种子节点,通过种子节点能够帮助节点A更快速地发现网络中的其他节点。
新节点建立更多的连接,使节点在网络中被更多节点接受,保证连接更稳定。