谁都能帮忙补数据:EIP-8371 的 RowDAS 分布式 blob 重建 图 1
谁都能帮忙补数据:EIP-8371 的 RowDAS 分布式 blob 重建 · 图 1

PeerDAS(EIP-7594)让节点不必下载全部 blob 也能确认数据可用:正常节点只订阅一小部分列子网做抽样,数据不够时靠纠删码重建补全。但重建这件事有门槛——需要拿到足够多的列。EIP-8371 指出这个架构的隐性代价:补全责任集中在一小撮“超节点”身上,而且它们的工作量随 blob 数量线性上升。这份 2026 年提出的 Draft 建议把重建从“少数人的义务”改写成“多数人的兼职”,方案叫 RowDAS。

先把角色厘清

沿用社区惯例,提案把订阅全部 128 个列子网的节点称为超节点(supernode);把订阅其中 64 个及以上列子网、因此单靠自己掌握的 cell 就足以重建任意一行(row)的节点称为行重建者(row reconstructor)——每个超节点必然也是行重建者。值得注意的是第二类的成分:主网上不少质押节点按验证者托管要求本来就够到 64 个及以上的托管组,它们从不需要额外投入就自动落进这一档。这构成了 RowDAS 的经济学前提:重建人手其实已经散布在网络里,缺的只是一个把闲置能力组织起来的协议。

按行开频道,缺口自己补

RowDAS 的做法是在列主题之外新增一批行主题(Gossipsub topics,共 128 个 ROW_SUBNET_COUNT):持有某行部分 cell 的节点把该行数据往行主题一喊,任何凑齐行的节点就地重建,再把重建出的整列像“本来就在网上收到”一样按 PeerDAS 既有义务继续分发——订阅了对应列子网的节点 MUST 转发给 mesh 邻居,没订阅的 SHOULD 仍暴露可用性。这条义务是 EIP-7594 早就写好的,RowDAS 只改“数据从哪来”,不动“数据怎么传”。于是超节点不再是被全网涌来要数据的唯一出口:缺哪一块,就近去那行问一圈,行重建者们顺手补齐。

它真正换掉的是什么

第一,故障半径。重建能力从少数超节点扩散到一批节点后,个别大节点掉线或选择性拒答,不再直接等于网络补不了数据——数据可用性攻击的成本曲线被抬高。第二,负载模型。超节点的对外重建工作量不再随 blob 数量线性爬坡,这对 blob 目标数持续上调的路线是解耦。第三,隐私与均衡方面的次生效应提案也有提醒:按行 gossip 会让“谁缺哪段”比按列请求时更容易被旁观推断,主题噪声与带宽账本需要在参数上平衡。

一个观察角度

RowDAS 最值得盯的不是带宽账,而是它把“谁是节点”重新问了一遍。PeerDAS 的托管参数已经把部分质押节点推成行重建者,8371 让这层身份从副产品变成协议显式承认的服务提供者。往后看,若 blob 容量继续按现行路线爬坡,重建责任大概率还要从兼职转成带激励的专职——那份“激励 EIP”才是这套分布式设计真正的下一幕,值得和本文这份“义务版”对照着等。

快速问答

问:PeerDAS 不是已经上线了吗? 答:EIP-7594 是标记为 Final 的标准,Fusaka 起进入主网;EIP-8371 是想给它换一种重建组织方式的提案,尚未激活。

问:普通节点要新增订阅、变重吗? 答:新增的是行主题的可选订阅;按提案框架,愿意多听的节点贡献重建,不愿的仍是普通抽样节点。

问:对开发者/用户可见吗? 答:不可见。这是网络层协议,唯一可感知的是 blob 容量增长时网络更扛压。

一笔直觉账

把整个 blobspace 想成一幅 128 列拼出来的挂图。PeerDAS 时代,缺了一条边的人只能跑去总装师(超节点)那里要;RowDAS 相当于把图沿水平方向也裁成行、每条行都发给一屋子人,缺哪块在行里吼一声即可。总装师从瓶颈变成其中一员——这正是“分布式”三个字在这里的确切含义。

风险提示:本文是对公开提案文本的解读,不构成投资建议;提案内容可能随社区讨论修改或作废,请以提案仓库页面为准。