简单来说,EIP-4337 旨在实现“账户抽象”,让智能合约钱包成为用户的默认和主流钱包,从而极大地改善用户体验和安全性。
下面我将从几个方面详细解释 EIP-4337:
1. 核心问题:以太坊的两种账户
在理解 EIP-4337 之前,需要先了解以太坊的现状:
-
外部拥有账户:也叫普通钱包,比如 MetaMask。它由私钥控制。
- 优点:简单,可以发起交易。
- 缺点:
- 安全性有限:私钥丢失 = 资金永久丢失。
- 功能单一:只能执行简单的转账和合约调用。
- 用户体验差:用户必须理解 Gas费、原生代币(ETH)、助记词等复杂概念。
-
合约账户:由部署在链上的代码控制的账户。
- 优点:功能无限可能,可以实现复杂的逻辑,如多重签名、社交恢复、交易限速等。
- 缺点:不能主动发起交易。传统上,合约钱包需要一个EOA来“触发”它,这使它无法成为独立的初始交易发起者。
“账户抽象”的目标就是让合约账户也能像EOA一样主动发起交易,从而让功能强大的智能合约钱包成为用户的首选。
2. EIP-4337 的解决方案:避开共识层修改
之前的账户抽象提案(如 EIP-2938)需要修改以太坊的底层共识协议,这是一个漫长而复杂的过程。EIP-4337 的巧妙之处在于,它完全在更高层的应用层实现了账户抽象,不需要改变以太坊核心协议。
它通过引入一组新的内存池(Mempool)和角色,模拟了一个新的交易流程。
3. EIP-4337 的核心组件与工作流程
它引入了一些新概念:
-
UserOperation:
- 这不是一个传统的“交易”。你可以把它理解为表达用户意图的“伪交易”对象。
- 它包含了执行动作、签名、Gas参数等信息,但它是发给新的“UserOperation内存池”的。
-
Bundler(捆绑器):
- 类似于现在的矿工/验证者。Bundler 监听 UserOperation 内存池,将多个 UserOperation 打包成一个单一的、有效的以太坊交易。
- 这个交易会调用一个特殊的入口点合约。
- Bundler 支付这个打包交易的 Gas 费,并从用户那里获得补偿(类似小费)。
-
Entry Point(入口点合约):
- 一个全局的、标准化的智能合约。它是整个系统的协调中心。
- Bundler 的交易就是调用这个合约。
- Entry Point 负责验证每个 UserOperation 的签名和支付能力,并执行用户的指令。它确保了系统的安全和无信任运行。
-
Paymaster(支付主管):
- 一个可选的智能合约,它允许第三方为用户支付Gas费。
- 这开启了“无Gas”交易体验,让dApp项目方可以为用户垫付费用,或者允许用户使用任何ERC-20代币(如USDC)来支付费用,由Paymaster自动兑换成ETH。
工作流程(以“无Gas”交易为例):
- 用户发起意图:用户在dApp上点击一个按钮,他的智能合约钱包创建一个
UserOperation,说“我想执行X操作”,并签名。这个操作被发送到专门的UserOperation内存池。 - Bundler 打包:一个 Bundler 节点从内存池中挑选一批
UserOperation(包括用户的),并将它们打包成一个交易,发送给Entry Point合约。 - Entry Point 协调:
Entry Point合约首先调用用户的智能合约钱包,验证用户的签名是否有效。- 然后,它调用
Paymaster合约,确认该项目方愿意为用户支付Gas费。
- 交易执行与支付:
- 验证通过后,
Entry Point执行用户请求的操作(例如,在Uniswap上交换代币)。 - 交易完成后,
Entry Point从Paymaster那里扣除所需的Gas费,并支付给 Bundler。 - Bundler 赚取了Gas费,用户享受了“无Gas”体验,dApp项目方获得了用户增长。
- 验证通过后,
4. EIP-4337 带来的主要优势
- 更好的用户体验:
- 无Gas交易:dApp可以为用户付费,用户甚至感觉不到Gas的存在。
- 任意代币支付Gas:可以用USDT、USDC等支付网络费用。
- 批量交易:将多个操作合并为一笔交易,只需确认一次。
- 更强的安全性:
- 社交恢复:如果你丢失了私钥,可以通过你信任的朋友或设备找回你的钱包。
- 多重签名:为高价值交易设置多个审批人。
- 交易限制:设置每日交易限额,防止黑客一次性转走所有资产。
- 恶意软件保护:可以设置交易黑名单,自动拒绝向已知恶意地址转账。
- 灵活性与创新:
- 开发者可以自由设计各种功能的智能合约钱包,例如订阅制支付、到期账户等。
5. 现状与生态
EIP-4337 已于 2023 年 3 月在以太坊主网上线。目前已经形成了一个活跃的生态:
- 智能合约钱包:Safe(原Gnosis Safe)、Stackup、Biconomy、Argent 等都已支持 4337 标准。
- Bundler 服务:Stackup、Pimlico、Alchemy 等提供 Bundler 基础设施。
- Paymaster 服务:许多项目提供灵活的 Paymaster 服务,帮助 dApp 实现无Gas交易。
- SDK 与工具:有成熟的开发者工具来帮助集成。
总结
EIP-4337 是通往下一代区块链大规模应用的关键基石之一。 它通过一种巧妙的、无需分叉的方式,将区块链钱包从“技术专家的工具”转变为“普通用户可用的产品”,极大地降低了使用门槛,并为安全和创新打开了新的大门。它正在推动以太坊从“可编程货币”向“可编程账户”演进。
