ERC4337

微信扫码分享

ERC-4337: 账户抽象 (Account Abstraction)

ERC-4337 是一个在不修改以太坊共识层协议的前提下实现账户抽象(Account Abstraction, AA)的标准。它允许用户使用智能合约钱包作为主要账户,而不是传统的外部拥有账户(EOA)。

解决的问题

传统的 EOA 账户(通过私钥控制)存在诸多限制:

  • 私钥丢失即丧失所有资产: 无法恢复。
  • 依赖助记词: 用户体验门槛高。
  • 必须使用 ETH 支付 Gas: 无法使用稳定币代付。
  • 签名逻辑固定: 仅支持 ECDSA 签名。

ERC-4337 旨在通过智能合约钱包解决这些问题,提供类似 Web2 的丝滑体验,同时保持去中心化。

实现机制与原理

ERC-4337 引入了一个新的内存池(UserOp Mempool)和几个关键角色:

  1. UserOperation (用户操作): 类似交易的伪交易对象,包含用户意图(如“转账 10 USDT”)、签名和其他参数。
  2. Bundler (打包者): 这是一个运行特定节点的角色(可以是矿工/验证者)。它监听 UserOp 内存池,将多个 UserOperation 打包成一笔普通的以太坊交易。
  3. EntryPoint (入口合约): 一个全局单例合约。Bundler 将打包好的交易发送给 EntryPoint。EntryPoint 负责验证 UserOperation 并执行智能合约钱包中的操作。
  4. Smart Account (智能账户): 用户的钱包合约。它必须实现验证逻辑(验证 UserOp 的签名)和执行逻辑。
  5. Paymaster (代付合约): 可选组件。允许第三方(DApp 项目方或服务商)为用户支付 Gas 费,或者允许用户使用 ERC-20 代币支付 Gas。
  6. Aggregator (聚合器): 可选组件。用于支持 BLS 等聚合签名,进一步节省 Gas

主要特点

  • 无共识层变更: 不需要以太坊硬分叉即可实施。
  • Gas 代付 (Gas Sponsorship): 实现“无 Gas”交易体验。
  • 多签与社交恢复: 原生支持复杂的访问控制逻辑。
  • 批量交易: 一次签名执行多个操作(如 Approve + Swap)。
  • 量子抗性潜力: 未来可以升级签名算法(如 Lamport 签名)。

推荐阅读