信标链的区块、状态、证明对象全部用 SSZ 序列化并做默克尔化,好处是任何验证方——从质押池合约到硬件钱包——都能拿一条默克尔证明单独确认某个字段没被篡改。坏处在升级日:普通容器每次分叉增删字段,整棵字段树的形状就变,所有按旧坐标写死的验证逻辑一夜作废。EIP-7688 由 Etan Kissling 与 Cayman 在 2024 年 4 月提交,主张把共识层数据结构整体迁移到渐进容器与渐进列表,提案现标 Review。
字段地址从此钉死
迁移的核心动作是给每个类型标注哪些字段处于激活态:新增字段在表尾追加一个激活位,删除字段把对应位拨成零,而已有的每个字段都被分配一个跨分叉稳定的泛化索引——相当于给每个字段发一个永久门牌号,序列化与默克尔化规则保证门牌号和树坐标的对应关系不随增删漂移。于是”只要被验证的概念还在、字段名没换,证明就继续有效”成了结构承诺:一个只检查验证者是否被惩罚标志位的池子合约,可以在旁边字段大换血的若干个分叉里一行不改地继续工作。转换清单长得实在:证明对象、索引证明、执行载荷及其头、区块主体、信标状态……连执行请求里的存款、提款、合并列表都在列;不变的还有执行层的交易对象本身——改成渐进字节列表后,原先写死在类型里的单交易一吉字节上限不再由默克尔树形状强制。
容量与规则离婚
第二刀切在容量语义上。共识规范里大量列表的容量上限是给理论留的,实践从未接近,有些还随分叉调过。7688 把这些动态语义的列表换成渐进形态:类型不再携带上限,应用逻辑在运行时按当期常量检查。收益是运营参数(比如每载荷交易数、跨签名的总预算)变成未来提案可微调的数字,不需要动数据结构、更不需要重算证明坐标。对应的护栏也写明:每个受影响的网络广播主题与请求响应类型应当另设最大消息体积常量,防止类型层失去上限后网络上出现巨包。
谁在受益,谁要小心
受益排序很清晰:跨分叉维持验证逻辑的链上合约第一,出货周期远慢于以太坊的硬件钱包与移动端系统第二,它们都可以按自己的节奏升级。需要小心的边界也在文本里:一批基础类型被定义成不可变默克尔化——槽号、epoch、根、公钥这类原子概念若将来要破坏性改版,只能起新类型名另立门户;验证者应当按规范建议,在测试框架里用兼容并集类型把跨分叉兼容性做成自动化断言,而不是靠人肉比对。这份提案本身不改任何字段语义,只换承载方式——用作者的话说,改的是盒子,不是盒子上的标签。
快速问答
问:普通质押用户能感知到这次转换吗? 答:不能也不该能:它不改变字段的含义与验证结果,用户侧的提现、归并流程不受影响;感知方是验证证明的第三方实现。
问:渐进容器和渐进列表谁先落地? 答:类型工具由 EIP-7495 与 7916 先行定义,7688 是把它们批量用到共识层的施工图;三者状态各自独立,以提案页面为准。
门牌号的纪律
用城市改造做比方最贴切。普通容器的字段像一条街:每轮施工都能重新排门牌,快递系统(验证证明)必须跟着全城重新登记。渐进容器则立法:已发出的门牌号永不重排,新店只能挂到街尾,关店门牌冻结留空。这样无论老城怎么翻新,只要你要找的店铺还挂着老门牌,快递单就照样能投递。代价也要说清:街不能无限加长——运行时检查与消息体积上限就是这条法的治安条款;而基础概念如街道本身的名字属于城市宪章,改动要另立新法而非就地改名,这正是提案为原子类型单列不变清单的用意。
风险提示:协议升级以官方规范与客户端发布为准;本文仅为技术科普,不构成投资建议。
发表评论
还没有评论,来说两句吧。
评论区为展示样式,提交不会被处理。