技术

Account Abstraction

账户抽象

一种让区块链账户像智能合约一样工作的模式:无 Gas 交易、社交恢复、批量调用、自定义鉴权规则。

最近审阅: 审阅人Kevin Riedl wiki ↗

在标准 EVM 链上,每个账户要么是外部拥有账户(一把私钥),要么是智能合约。ERC-4337 引入了第三类:用户以一个智能合约账户的身份进行交易。因为账户本身就是合约,它可以承载逻辑。这些逻辑可以替用户付 Gas、通过 Guardian 从丢失的密钥中恢复、把多个调用打包进一笔交易,或强制执行像日支出上限这样的自定义鉴权规则。

对用户体验的影响很大。有了 AA,最终用户可以用邮箱加 Passkey 注册,而不再需要助记词。Gas 可以由应用代付,或用应用的代币支付,而非必须用 ETH。钱包可以对可疑交易做速率限制。代价是更高的链上复杂度和每笔交易更高的 Gas 成本。

举个实际例子:一个消费级支付应用想要非加密原生的用户。没有 AA,注册意味着「记下这十二个单词,丢了你的钱就永远没了」,这会扼杀漏斗。有了 AA,用户用一个 Passkey 注册,应用代付头几笔交易、让他们从不见到 Gas 费,丢失的设备通过 Guardian 而非助记词来恢复。同样的模式让钱包能在链上强制执行一个日支出上限,而那是一个中心化应用永远无法可信地做出的那种保证。

创始人常犯的错误是把 AA 当作一个勾选框。它改变了安全模型:社交恢复为普通用户去掉了助记词的自伤陷阱,却引入了 Guardian 被攻破这一新的攻击类别,对宁愿自己持有密钥的高级用户而言反而严格更差。诚实的取舍是,AA 用更多需要审计的合约代码和每个操作更多的 Gas,换来主流用户体验。Wavect 已经把账户抽象钱包和 Snap(MetaMask 插件)推到生产环境。这项技术是真实的,并且越来越主流。实现并不简单。如果一家供应商把 AA 当作便宜的附加项报价,请问清楚他们用的是哪一套基础设施、合约代码经过了哪些安全审计。适用于 zero-knowledge 电路的同一套审计纪律,在这里同样适用。

// FAQ

常见问题

是的。ERC-4337 自 2023 年 3 月起就在 Ethereum 主网上线。多个 L2 原生支持。多个生产环境钱包(包括我们做过的)今天都在用。
更安全,但不是绝对安全。社交恢复消除了助记词陷阱,同时引入「Guardian 被攻破」这类新风险。综合上看,对非技术用户安全性更好,对宁愿自己保管助记词的高级用户反而更差。
单笔比 EOA 更贵,但只要做批量(例如一次签名、三个调用),按「用户操作」算反而更便宜。成本不是核心争论点,真正重要的是体验,而不是 Gas 算式。