二层协议的编号地盘:EIP-7808 划走 0x40 到 0x7f 交易类型段 图 1
二层协议的编号地盘:EIP-7808 划走 0x40 到 0x7f 交易类型段 · 图 1

一句话定位

EIP-7808 是 2024 年 11 月 4 日创建的元类(Meta)提案,截至本文撰写时状态 Stagnant。它做的事情一句话说得完:把交易类型编号从 0x40 到 0x7f(含两端)整段划给 RIP 流程使用。RIP 即二层改进提案,是仿照 EIP 为 rollup 生态设立的一套文档流程。一份几行规范的提案,解决的是两个标准体系共用一条编号高速公路时的撞车问题。

类型字节的前世

要懂这刀划在哪,得先看 EIP-2718。那份 2020 年的标准给每笔交易加了一个类型字节:新式交易在 RLP 载荷前缀一个介于 0 与 0x7f 之间的无符号整数标明格式;旧式无前缀交易靠首字节规则识别——首字节落在 0xc0 到 0xfe 区间的是遗留格式,0xff 被留作扩展哨兵。换句话说,新交易类型的可用空间一共 128 个编号,一层 EIP 与二层 RIP 都想在里面发号,历史上没有约定,撞号只是时间问题。

划界的方式

EIP-7808 的解法是把 128 个编号对半劈开:0x00 到 0x3f 归 EIP 流程,0x40 到 0x7f 归 RIP 流程。之后 RIP 发新类型不需要跨阵营协调,EIP 发新类型也不会哪天突然在某个二层上撞名。提案的 Rationale 把账算得很白:EIP 流程从此不必维护一张记录二层用没用某编号的登记表,同时自己仍有 64 个编号可用——够用,因为一层新增交易类型的频率以年计。

二层为什么需要新交易类型

rollup 需要类型字节的典型场景是批量与授权语义:把多笔操作打包成一笔链上可验证的单元、或者定义原子的多调用交易。这些格式只在特定二层网络上有一层验证器之外的解释。EIP-2718 的设计允许不同链启用不同子集——类型字段只是信封,链自己决定认识哪几种。RIP 流程正是利用这个自由度,把编号纪律上移到 EIP-7808 划定的地盘内即可。

边界之外的留白

值得注意这份提案管不到的部分:它不定义任何交易类型的内容,不禁止某条链在创世里对段内编号另有安排,也不约束一层将来给类型字节扩容的方案——它只保证一件事:两个流程各自发号时,不会把同一个编号发给两种互不相容的格式。标准协调里最难的不是设计,是给并行演化的两套体系提前划清互不侵犯的编号边界;这份几行字的 Meta EIP 就是把边界写死的动作本身。

车牌体系的类比

把这 128 个编号想成一条街的车牌池最有画面感:一条街要挂两种业务的车,挂错牌照查不到车主。对半划段之后,一层牌照从 00 号段发到 3F,二层从 40 号段发到 7F,两边登记处各自开门、互不打听。这个类比的妙处在于它也解释了为什么不用全局登记处:全局一处编号中心意味着二层每发一个新类型都要排一层流程的队,协调成本会杀死原本最灵活的阵营。协议工程里编号冲突看起来是小事,真正处理过跨系统撞号的人都知道,编号层面的主权划分永远比事后合并便宜。

快速问答

问:0x40 到 0x7f 之间的类型在一层能用吗? 答:EIP 流程把该段留给 RIP,一层新类型应从 0x00 至 0x3f 里取;这是流程约定而非链上强制。

问:某条二层链必须用满这 64 个号吗? 答:不必,段的含义是管辖权不是任务清单,RIP 流程按需用。

问:0xff 和 0xc0 到 0xfe 归谁? 答:不在这段地盘内——前者是 2718 预留的扩展哨兵,后者被规则识别为遗留交易首字节。

一个常见误会

常见误读是把它看成一层对二层的许可制度。EIP-7808 不发牌照,任何链技术上都能解释任何字节;它做的是登记秩序:让大家在撞车发生前各走各的车道。协议世界的这种占坑提案往往看起来琐碎,价值全在没人引用它编号的时候——平安无事正是它起作用的方式。

风险提示:本文仅作技术科普,不构成任何投资建议。