ERC-5189 背书人模型:打包者先问一句“这单靠谱吗”
账户抽象落地时有个容易被忽略的脏活:网络里的打包者要决定把哪些账户抽象操作塞进区块。钱包实现五花八门,打包者不可能给每种钱包写一套验证代码,于是现实中退化成“白名单钱包才处理”的小圈子。2022 年 6 月 29 日创建、状态为 Draft 的 ERC-5189 提出一个中介方案:endorser(背书人)合约。钱包部署者挂一个背书合约,打包者只需问它一句,就知道这笔操作值不值得留在内存池。本文按原文拆这个三角结构。
一次查询代替一堆集成
规范的关键函数是 isOperationReady:打包者把一笔待处理操作的上下文交给账户关联的背书合约,合约返回一个可读性判断,帮打包者安全地决定这笔操作留内存池还是丢弃。抽象部分强调这种方式与现有智能合约钱包兼容、不动共识层——它把“验证任意钱包逻辑”的难题外包给一组公开可查的背书合约。账户侧还有 simulationSettings 之类的配置查询,声明自己的模拟环境。对打包者,这是一次集成成本的坍缩:从对接 N 种钱包降到调用 N 个背书地址;对钱包开发者,从求打包器收录变成选一个市场里口碑好的背书人。

背书人凭什么可信
三角信任的关键一环是背书人作恶怎么办。原文给出的机制带一点悲壮:背书人向协议注入保证金,一旦证明作恶,罚没体现为烧掉(burn)——原文直接承认,被烧的资产事实上永久锁死,链上无法可靠证明罚没事件本身,所以那更像一种威慑性的虚拟账目,靠承诺而非协议强制维持。这套设计的诚实版本是:背书人不是密码学保证的中立者,而是一个把自己资产押在口碑上的商业角色;打包者信的不是代码,是“他不敢烧自己的钱”这个激励。规范里那对 UntrustedStarted 与 UntrustedEnded 事件也服务于同一思路,给异常期间的操作流打上可审计的标记。
从落选方案看另一种解法
ERC-4337 后来用统一入口合约与打包器体系走通了这条路,恰好给 ERC-5189 当了一次对照。4337 把校验逻辑收进规范化的模拟流程,打包器直接在沙箱里跑钱包的验证函数,不需要任何第三方裁判;ERC-5189 当时的判断是钱包差异太碎、打包器消化不动,才引入背书人做适配器。两条路线解决的是同一个瓶颈,一个靠不改动钱包、新增中介角色与押金博弈,一个靠所有钱包接受同一种操作格式、消灭中介。规范里 simulationSettings 这种为打包器模拟环境提供配置面的函数,和后来者那套模拟接口几乎同构——“先把模拟接口标准化”的思路,这份草稿里已经有了雏形。读一个落选方案最有价值的部分正在这:它把问题空间的地图画了出来。今天再遇到“交易迟迟不进块”的现象,可以照抄它的三连问——谁有权判断、标准是否公开、判断错了押进去的资产能否追回——ERC-5189 的回答是押金威慑,4337 的回答是可重放模拟,而排序器与私有内存池时代还需要新的答案。
Draft 命运与后来者
按 ercs 仓库记录,ERC-5189 停在 Draft。历史走向我们知道了一部分:后来的 ERC-4337 用统一的 EntryPoint 与打包者(bundler)体系解决了同样的集成问题,让钱包不需要向某个裁判自证清白。但这份提案的框架仍是理解准入机制的好教材:任何“人人都能发交易”的系统,总有人事实上控制着排队权——当年的矿工费市场、今天的私有内存池与排序器、还有打包者的钱包白名单。评估任何声称无许可的执行层,可以把 ERC-5189 的三个问题抄进核对清单:谁有权判断我的操作合规、这个判断标准是否公开可查、判断者作恶时用户拿回什么。答案越接近“某个合约、可查询、有可罚没的押金”,系统的无许可成色越高;答案若是“人家就是不用收你的”,那就回到了它想解决的旧世界。
本文为机制说明,不构成任何投资建议。
发表评论
还没有评论,来说两句吧。
评论区为展示样式,提交不会被处理。