区块链 · 数字资产知识 · 行业资讯
文章库关于本站

数字资产知识

区块链kad算法涉及哪些技术概念:节点发现与网络通信

摘要

区块链网络语境中的kad通常指Kademlia。理解它需要区分点对点网络、分布式哈希表、节点标识、引导节点和连接验证,也要明确节点发现与共识、数据传播的边界。不同区块链采用的发现机制并不相同。

SGT区块链发行总量的科技主题配图

kad的适用范围

区块链网络语境中的kad通常指Kademlia,是理解节点发现的一类技术基础。以太坊网络文档介绍了使用其修改形式发现对等节点的机制。这里讨论的是网络参与者如何找到彼此,不涉及区块有效性的判定或账本共识。具体消息格式与交互步骤仍取决于发现协议版本。

分布式哈希表与节点标识

相关核心概念包括点对点网络、分布式哈希表和节点标识。以太坊文档中的发现机制通过分布式哈希表组织节点信息,各节点维护可用于联系部分邻居的信息;邻近关系依据节点标识,而非地理位置。

理解这种组织方式,可以把问题拆成两部分:用什么标识区分节点,以及通过哪些已知节点继续寻找其他节点。这里的“近”描述标识空间中的关系,不能直接解释为网络延迟低,也不能据此判断节点更可信。节点发现中使用的表同样不等于区块链账本。

引导节点、可达性与信息更新

新节点需要先取得一批可联系的对象,引导节点可以提供这一入口。发现过程还涉及PING/PONG交互、邻居查询和节点信息刷新。以太坊节点记录ENR则包含签名、序列号及键值字段,用于表达和更新节点信息。

这些概念分别回答不同问题:引导解决从哪里开始,探测帮助确认对方是否响应,记录提供身份和连接信息,刷新应对信息变化。收到回应并不意味着对方提供的所有业务数据都可信,后续仍需要相应的数据验证。

发现协议与后续通信的区别

以太坊文档将执行层的发现栈与DevP2P通信栈区分开来,分别介绍了UDP上的发现过程和TCP上的信息交换。因而,发现一个节点只是获得通信候选对象,后续还涉及会话建立、身份认证与共同支持的协议。

学习kad时应保持这一层次关系:查找邻居、建立连接、交换交易或区块,是关联但不同的工作。不能用节点发现机制直接解释整个区块链网络的全部行为。

常见问题:所有区块链都使用kad吗

不是。比特币开发文档介绍的发现方式包括DNS种子、节点间地址消息以及本地保存的已知节点记录。这说明点对点网络可以通过不同机制获得邻居,不能仅凭“区块链”或“去中心化”就推断采用Kademlia。

这些机制要解决的共同问题,是在节点上线、离线或地址变化时继续找到可通信对象。讨论具体系统是否使用kad,应核对其网络协议;讨论系统是否安全,则还需区分入口来源、连接对象和数据验证,单一发现算法不能替代其他环节。

← 返回全部文章

延伸阅读 · 相关栏目

区块链基础技术原理数字资产知识资料与核验