W3
进阶赛道中级253 次阅读

账户抽象(ERC-4337):钱包为什么会变好用

ERC-4337 让钱包变成可自定义验证逻辑的合约账户。本文讲清 UserOperation、Bundler、EntryPoint 与 Paymaster 各自角色,以及新增的信任与费用取舍。

#ERC-4337#账户抽象#智能钱包#Paymaster#Bundler

一句话结论

ERC-4337 让钱包从「一把私钥对应一个地址」变成「一个可以自定义验证与执行逻辑的智能合约账户」。它把过去需要改动协议层的工作,改为在应用层实现,因此不需要修改以太坊的共识规则。

传统账户的限制

以太坊有两种账户:外部账户(由私钥控制)与合约账户。外部账户的限制很直接:

  • 验证方式只有一种:一把私钥加一个签名
  • 无法批量执行:一次只能发一笔交易
  • 无法代付手续费:账户里必须有原生代币才能发起交易
  • 没有恢复机制:私钥丢失即资产丢失

四个关键角色

  • UserOperation(用户操作):一种「伪交易」结构,描述你想做的事(转给谁、调用什么、Gas 参数等)。它不是原生交易,而是被打包后才上链。
  • Bundler(打包者):接收 UserOperation,把它们打包成一笔真实交易提交给入口合约。可以理解为「代你提交交易的角色」。
  • EntryPoint(入口合约):标准化的核心合约,负责验证与执行 UserOperation,是不同实现共享的统一入口。
  • Paymaster(代付方):可以替用户支付 Gas,或允许用其他代币支付 Gas。这是「新用户不必先持有原生代币就能用」的关键。

由此带来的能力

  • 社交恢复与多设备签名:账户可以设置多种验证方式
  • 批量交易:一次授权完成多步操作,减少重复签名
  • Gas 代付与代币付 Gas:降低新用户门槛
  • 可升级的验证逻辑:更换签名方案不必更换地址

需要注意的取舍

  • 新增信任与依赖:Bundler 与 Paymaster 是链下服务,它们可以不打包你的操作,也可能成为单点
  • 费用结构更复杂:多了一层打包与代付,成本项与失败模式都变多
  • 合约钱包的代码风险仍在:账户逻辑是合约,就同样可能出漏洞
  • 不同钱包的实现差异很大,「支持 4337」不等于功能与安全性一致

给你的教训

  • 使用智能钱包前,搞清它的恢复方式是托管式、社交式还是多签式,以及谁能替你发起操作。
  • 理解 Gas 由谁承担:如果是第三方代付,先弄清它在什么条件下会停止服务。
  • 先用小额跑一段时间,确认恢复、升级、导出等流程真的可用,再放主要资产。
  • 无论钱包多智能,助记词与设备安全仍是底线:备份、离线保存、不要截图上传。

延伸阅读