我读Kadcast这部分的时候,脑子里一直在对比以太坊的gossip协议。gossip的逻辑很简单,你收到一条消息,转发给你知道的所有邻居,邻居再转发给他们的邻居,直到全网都收到。但这里有一个问题,随着节点数增长,消息重复转发量是指数级上升的。
Kadcast的做法不一样。它基于Kademlia的DHT,把节点按XOR距离分层。每个节点不是向所有邻居转发,而是只向递增XOR距离上的选定节点转发。这个机制我读了两遍才理解它的巧妙之处——它形成的是一个级联效应,而不是泛洪。
举个例子,节点A发出一条消息,它只转发给距离它最近的几个节点,这些节点再转发给更远的节点。每一层转发的目标节点数量是受控的,不是无限制扩散。白皮书里说,这大幅减少了网络传播所需的总体传输次数。
那这个设计和金融场景$DUSK 有什么关系。我的理解是,金融场景对两个东西特别敏感,一个是延迟,一个是带宽。如果一条交易广播需要十几秒甚至几十秒才能传遍全网,那秒级最终性就没有意义了。Kadcast通过树状结构让消息在最少的中继次数内到达所有节点,传播时间被压缩到极致。
还有一个点我一开始没注意到,白皮书提到Kadcast自然混淆了消息的起源点。因为节点只和选定的对等节点通信,不向全网广播,攻击者很难追踪一条交易是从哪个节点发出来的。这对Dusk@Dusk 的隐私叙事来说,是一个额外的加分项。
不过我还是有一个疑问。白皮书对比了gossip和Kadcast,但只给了定性描述,没有具体的带宽节省数据。省了多少,是省了30%还是90%。没有这个数据,我其实很难判断它的效率优势到底有多大。也许这个量级需要在主网上线后用实际网络数据来回答。#dusk
Kadcast的做法不一样。它基于Kademlia的DHT,把节点按XOR距离分层。每个节点不是向所有邻居转发,而是只向递增XOR距离上的选定节点转发。这个机制我读了两遍才理解它的巧妙之处——它形成的是一个级联效应,而不是泛洪。
举个例子,节点A发出一条消息,它只转发给距离它最近的几个节点,这些节点再转发给更远的节点。每一层转发的目标节点数量是受控的,不是无限制扩散。白皮书里说,这大幅减少了网络传播所需的总体传输次数。
那这个设计和金融场景$DUSK 有什么关系。我的理解是,金融场景对两个东西特别敏感,一个是延迟,一个是带宽。如果一条交易广播需要十几秒甚至几十秒才能传遍全网,那秒级最终性就没有意义了。Kadcast通过树状结构让消息在最少的中继次数内到达所有节点,传播时间被压缩到极致。
还有一个点我一开始没注意到,白皮书提到Kadcast自然混淆了消息的起源点。因为节点只和选定的对等节点通信,不向全网广播,攻击者很难追踪一条交易是从哪个节点发出来的。这对Dusk@Dusk 的隐私叙事来说,是一个额外的加分项。
不过我还是有一个疑问。白皮书对比了gossip和Kadcast,但只给了定性描述,没有具体的带宽节省数据。省了多少,是省了30%还是90%。没有这个数据,我其实很难判断它的效率优势到底有多大。也许这个量级需要在主网上线后用实际网络数据来回答。#dusk