#dusk $DUSK @Dusk 我在翻Dusk的文档时,注意到一个容易被忽略的细节,它的节点发现机制不依赖域名服务器。

比特币和以太坊的节点初次接入网络时,需要从一个写死在代码里的域名列表获取其他节点的地址。这种设计简单有效,但有一个隐患——域名服务器可以被封锁或者劫持,导致新节点无法加入网络。

Dusk用的是Kadcast内置的节点发现机制。新节点启动时,只需要知道一个或多个引导节点的地址,然后通过迭代查询逐步填充自己的路由表。一旦连入网络,节点就不再依赖引导节点,而是通过路由表维护与其他节点的连接。

这种设计的抗审查性更强。即使所有的引导节点都被屏蔽,只要网络中还有任何一个节点在线,新节点就可以通过某种方式获取它的地址并连入网络。对于Dusk瞄准的全球合规金融市场来说,这种抗审查能力是必要的——你不能让某个国家的网络封锁导致整个网络的节点无法接入。

我还发现另一个细节是节点身份的持久性。每个节点在第一次启动时生成一个固定的身份标识,这个标识和节点的质押地址绑定。即使节点的IP地址变了,只要身份标识不变,网络中的其他节点仍然能识别它。这解决了动态IP场景下的节点身份追踪问题。

当然,Kadcast的节点发现也有代价。新节点首次同步路由表需要几分钟时间,不像域名服务器那样几秒钟就能连上一堆节点。但对于一个追求长期稳定运行的金融网络来说,几分钟的初始化时间是可以接受的。$ETH