我接触过的公链项目里,P2P层往往是最后才被关注的环节,大家更爱聊共识、聊虚拟机、聊跨链。但真正跑过全节点的人都知道,带宽消耗大起来,一个月能烧掉好几TB的流量。这个成本在小范围还好,一旦要服务全球金融机构,就变成不可忽视的问题了。
白皮书里对传统P2P网络的描述比较直接,说它有两个硬伤:带宽消耗高延迟大。我自己的理解是,传统广播方式里,每个区块或者交易消息要在全网传播,每个节点收到消息后转发给所有邻居,消息量呈指数级增长。网络里充斥着大量重复的冗余数据。
Dusk@Dusk 的解决方案是Kadcast,基于Kademlia DHT。它把节点按树状层级组织,每个节点不是盲目转发,而是根据XOR距离计算,只向递增距离的选定节点转发。消息就像在树状结构里逐级向下传递,形成级联效应。每一层只转发给少数几个节点,而不是全网所有节点。#dusk
这个思路对我启发挺大的。它其实是在说,区块链的P2P层不一定要用「所有人告诉所有人」的模式,$DUSK 金融信息的分发逻辑本身就是「谁需要谁接收」。Kadcast的效率提升到底能省多少带宽,白皮书里没有给出具体的测试数据,但从机制设计上看,减少的冗余消息量应该是非常可观的。
不过树状结构也有它的脆弱点,中间节点的稳定性对网络很关键,这个在后续的运营中是需要持续观察的。
白皮书里对传统P2P网络的描述比较直接,说它有两个硬伤:带宽消耗高延迟大。我自己的理解是,传统广播方式里,每个区块或者交易消息要在全网传播,每个节点收到消息后转发给所有邻居,消息量呈指数级增长。网络里充斥着大量重复的冗余数据。
Dusk@Dusk 的解决方案是Kadcast,基于Kademlia DHT。它把节点按树状层级组织,每个节点不是盲目转发,而是根据XOR距离计算,只向递增距离的选定节点转发。消息就像在树状结构里逐级向下传递,形成级联效应。每一层只转发给少数几个节点,而不是全网所有节点。#dusk
这个思路对我启发挺大的。它其实是在说,区块链的P2P层不一定要用「所有人告诉所有人」的模式,$DUSK 金融信息的分发逻辑本身就是「谁需要谁接收」。Kadcast的效率提升到底能省多少带宽,白皮书里没有给出具体的测试数据,但从机制设计上看,减少的冗余消息量应该是非常可观的。
不过树状结构也有它的脆弱点,中间节点的稳定性对网络很关键,这个在后续的运营中是需要持续观察的。