ERC-8000 Operator 合约:普通地址不改造成智能账户也能一次调用一串操作
把领 NFT、授权、 mint 三步合成一笔交易,目前的主流路径是把钱包升级成智能账户(ERC-4337 路线):地址变了、合约层多了、Gas 可以由别人付。但很多用户不想换地址,也不想让任何协议持有自己的私钥委托。ERC-8000 为这类用户设计了一个中间层:不动账户本身,用一个标准 Operator 合约代跑批量调用,每笔操作仍然由原始地址当场签名授权。按照以太坊 ercs 仓库的记录,这份提案名为 Operator contract for non delegated EOAs,状态为 Draft,创建于 2025 年 7 月 2 日。
一个合约、两个关键函数
接口 IOperator 很小:execute(Call[] calldata calls) 接收一组目标地址加调用数据的列表,按顺序执行;onBehalfOf() 返回这次批量的真正发起人。技巧在第二个函数:Operator 合约在调用下游目标时,下游合约通过 _msgSender 一类内部钩子把上下文中的 onBehalfOf() 结果当作调用者,于是 NFT 合约看到的授权人仍然是你的原始地址,而不是 Operator。这就避免了批量执行最常见的兼容灾难——合约以为在跟 Operator 打交道,把铸造权或所有权记到了错误头上。提案标题里的 non delegated 是关键词:这条路线不需要 EOA 事先做任何委托签名,账户保持纯粹。

和 ERC-4337、EIP-5792 各差在哪
三条路线经常被混着宣传。ERC-4337 改账户:你的地址本身就是合约,能做 Gas 代付、会话密钥、批量,代价是地址迁移或部署成本。EIP-5792 改钱包交互:给钱包一个 wallet_sendCalls 类入口标准化多调用,底层走什么由各钱包决定。ERC-8000 只改执行层的一个组件:普通地址在每笔操作时直接签名,Operator 是可选的加速器,不用了随时回退到逐笔操作,账户历史上没有任何需要解释的委托记录。对安全性敏感、又不想迁移地址的老用户,这是三者中账户改动最小的方案;对想省心付 Gas 的用户,它不提供 Paymaster 类能力,这不是缺陷而是边界。
使用时要核对的两件事
第一是顺序语义:execute 按数组顺序执行,前面某个调用失败时整笔回滚是默认形态,但列表里各调用共享同一次交易的上下文,前置授权与后续动作的耦合方式决定了部分中间状态失败会不会 revert 全部——批量不是魔法,一条 revert 全盘退回的账要用户自己算清。第二是身份传递是否生效:对每个批量执行的环节,先到事件日志确认下游合约把动作记在你的地址名下(onBehalfOf 链路起作用的直接证据),而不是 Operator 地址;凡是记录错人的批量合约,用一次就会把授权挂到错误主体上。这两条检查在任何宣称兼容本标准的工具上都成立,与工具的品牌无关。
现状与预期
一个反直觉的隐私优点
值得多说一句的是这条路线的账户卫生价值。智能账户路线下,你的地址自部署起就是一张公开履历表:哪天升的级、用过哪些模块、谁做过恢复操作,全部挂在同一个地址上;委托路线下,那笔一次性的委托授权会永久留在授权记录里,成为可检索的攻击面提示。ERC-8000 式的即签即走路径没有这两类沉淀:用完批量功能,链上只留下普通的逐次调用记录,账户历史与普通用户完全同构。对需要长期隐藏资金关联的用户,这种与普通地址无差别的特性不是小节的整洁癖,而是实实在在的抗画像属性。当然它也不是全无痕迹——Operator 合约的调用日志里发起人与批量的关系仍可按事件还原——但相比账户级的结构性标注,这一层的暴露面要小得多。隐私从来不是开关,而是每一次架构选择累积出来的形状。
按 ercs 仓库口径该提案为 Draft,规范尚在讨论中,市面批量执行工具大多走 ERC-4337 或私有实现。把它当作一张对照表最有用:当某个批量功能要求你先做一次委托授权签名,那它是委托路线;什么都不要求、每步弹窗逐笔签名的,才是 non delegated 路线。理解这个分岔,能帮你在 Gas 费、账户历史、可撤销性三个维度上准确权衡。本文为机制说明,不构成任何投资建议。
发表评论
还没有评论,来说两句吧。
评论区为展示样式,提交不会被处理。