最后更新:
账户抽象(Account abstraction)是 Ethereum 的一种方法,其中 智能合约 可以充当用户账户,允许对钱包安全和交易行为进行编程,而不是仅仅依赖于外部拥有账户(EOAs)。它旨在使钱包更加灵活且易于使用,同时实现恢复机制、交易限制和替代费用支付方式等功能。[1][2]
在传统的 EOA 模型中,用户的账户由私钥控制,并使用 公钥 创建地址。签名者和账户是同一个实体:任何控制私钥的人都可以授权交易,而丢失私钥则会导致账户无法访问。助记词 可以泄露私钥,而获取助记词的钓鱼攻击是一种常见的诈骗手段。[1][2]
智能账户是持有资产并使用可编程规则授权交易的 智能合约。账户抽象允许钱包逻辑在 Ethereum 上运行,包括管理交易如何被批准的逻辑,而不是要求每项操作都必须通过传统的 EOA 模型直接授权。[1]
Ethereum 文档描述了两种实现账户抽象的方法。EIP-4337 在现有协议之外增加了一个单独的交易系统,而 EIP-7702 则对 EOA 进行升级,以便 智能合约 可以控制它们。EIP-7702 原定于 2025 年 5 月 7 日包含在以太坊的 Pectra 升级中。[1]
EIP-4337 也被称为 ERC-4337,它在不改变以太坊核心协议或不需要 硬分叉 的情况下实现了智能合约钱包支持。它引入了 UserOperations(用户操作),代表提议的钱包动作。在 ERC-4337 描述的系统下,捆绑器(bundlers)从一个单独的 内存池 中收集 UserOperations,并将它们成捆提交给 EntryPoint(入口点)智能合约进行验证和执行。[1][3]
EIP-4337 EntryPoint 合约于 2023 年 3 月 1 日部署在以太坊 主网 上。据 Ethereum.org 报告,该标准已促成了超过 2600 万个 智能钱包 的创建,并处理了超过 1.7 亿次 UserOperations。[1]
账户抽象允许根据不同的安全需求定制钱包规则。钱包可以使用备份密钥、更换受损密钥、在信任的人之间分配控制权、对高价值交易要求多重签名,或将交易限制在受信任的地址。智能合约钱包还可以支持社交恢复(将恢复权委托给信任的人或硬件设备)以及每日支出限额。[1][3]
该模型还支持更改交易的支付和执行方式。代付者(paymaster)可以赞助用户的 Gas 费用,钱包可以使用 USDC 或 DAI 等代币支付费用,而无需为了交易成本而持有 ETH。
交易也可以进行批处理——例如,将代币授权与兑换执行合并——或者由应用程序赞助 Gas。这些选项可以简化诸如一键兑换之类的操作,并减少用户仅为了支付费用而维持 ETH 余额的需求。[1][3]
通过将钱包逻辑从单密钥账户的限制中分离出来,账户抽象为开发者提供了在钱包中构建恢复、治理和代码执行功能的方法。
Ethereum.org 将这种方法描述为给钱包和去中心化应用开发者创造了机会,而 Coinbase 则认为更容易的恢复、无签名交易和团队钱包是可编程非托管钱包的可能应用方向。[1][2]