节点告警短信凌晨炸我手机那次,我第一反应是 RPC 被刷了,直到 iftop 里全是 kadcast 端口的对外重传才反应过来——传统 gossip 那种"收到就转给所有邻居"的习性,在跨区抖动时就是个自激放大器。后来蹲 Rusk 源码和 2024 版白皮书 Section 2,才看清 Dusk 把广播换成 Kadcast 不是省带宽的小修小补,是把 P2P 层重写成 Kademlia DHT 的 XOR 距离寻址:每个节点按 bucket 存联系人,转发时只挑 XOR 距离递增的那几个 peer 做级联,不全网漫灌。
白皮书引的研究说相对 gossip 省 25%–50% 带宽、快块下 stale block 降 10%–30%,我把它当实验室上限。真实环境里 provisioner 节点隔几分钟进出一次、东京到法兰克福 RTT 飘 40ms、bucket 刷新靠周期性 ping 而不是事件驱动,路由表老化那几秒消息就得回退成泛洪——省下的带宽又吐回去一半。SA 共识三阶段(Generation → 1st/2nd Reduction → Agreement)里委员会投票消息全走 Kadcast,如果转发路径在 churn 下断裂,2/3 BLS 法定票收集不到,区块就不是省不省带宽的事,是直接卡轮。
它比 gossip 强的地方是真把"消息起源点"打散了,不依赖直连邻居,顺带把 Phoenix 屏蔽交易的源 IP 关联难度抬了一截;代价是排障心智负担重,mempool 默认 10000 笔、本地过期策略 Rusk 默认 3 天而 node-installer 配 30 分钟,这种参数分裂在新手运维眼里全是幽灵 bug。
我觉得 Kadcast 值不值,不看那 25%–50% 的纸面数,看三件硬事:bucket 刷新是否在节点掉线 1 个 epoch 内收敛、SA 投票在双分区时能否靠剩余连通子图凑齐 67% 法定、Provisioner 家庭宽带节点占比上去后尾部延迟会不会塌。这三关过了,它是金融链该有的"结构化配送";过不了,就是给运维挖坑的漂亮论文。#disk @Dusk $DUSK
白皮书引的研究说相对 gossip 省 25%–50% 带宽、快块下 stale block 降 10%–30%,我把它当实验室上限。真实环境里 provisioner 节点隔几分钟进出一次、东京到法兰克福 RTT 飘 40ms、bucket 刷新靠周期性 ping 而不是事件驱动,路由表老化那几秒消息就得回退成泛洪——省下的带宽又吐回去一半。SA 共识三阶段(Generation → 1st/2nd Reduction → Agreement)里委员会投票消息全走 Kadcast,如果转发路径在 churn 下断裂,2/3 BLS 法定票收集不到,区块就不是省不省带宽的事,是直接卡轮。
它比 gossip 强的地方是真把"消息起源点"打散了,不依赖直连邻居,顺带把 Phoenix 屏蔽交易的源 IP 关联难度抬了一截;代价是排障心智负担重,mempool 默认 10000 笔、本地过期策略 Rusk 默认 3 天而 node-installer 配 30 分钟,这种参数分裂在新手运维眼里全是幽灵 bug。
我觉得 Kadcast 值不值,不看那 25%–50% 的纸面数,看三件硬事:bucket 刷新是否在节点掉线 1 个 epoch 内收敛、SA 投票在双分区时能否靠剩余连通子图凑齐 67% 法定、Provisioner 家庭宽带节点占比上去后尾部延迟会不会塌。这三关过了,它是金融链该有的"结构化配送";过不了,就是给运维挖坑的漂亮论文。#disk @Dusk $DUSK