返回
Kevin Riedl

8 分钟 阅读 · 2026年5月26日
最近审核

下一篇
图片在你的设备上生成,不连接 Instagram。文章链接会复制到剪贴板,供链接贴纸使用。

生产环境中的账户抽象(ERC-4337):它能实现什么,又不能保证什么

ERC-4337 是可编程账户的基础设施,不是无 Gas 交易、恢复、Passkey、Session Key、更低费用或安全性的现成承诺。它定义了涉及智能账户、Bundler、EntryPoint 和可选 Paymaster 的 UserOperation 流程。产品属性来自具体账户实现与周边服务。

Wavect 曾参与 账户抽象产品,包括公开的 AA 案例MetaMask Snap 项目。这些经验构成本清单的背景,但不能证明一个技术栈适合所有钱包。

正在开发智能钱包?

 预约免费咨询

什么是 ERC-4337?

ERC-4337 通过上层基础设施引入 UserOperation,无需修改 Ethereum 共识。用户将 UserOperation 发送给 Bundler,Bundler 验证并打包为提交到 EntryPoint 的交易。智能账户验证授权并执行调用,可选 Paymaster 可以按策略承担费用。规范定义了防重放绑定、验证、Deposit、Stake、模拟和执行行为 (ERC-4337 规范)

签名字段由智能账户实现解释。这种灵活性可以支持多种授权方案,但 ERC-4337 本身不会自动提供 Passkey、Guardian、恢复、支出上限或 Session Key。

具体智能账户技术栈能实现什么?

  • 代付费用。Paymaster 验证通过时可以支付网络费,但赞助方仍需策略、Deposit、预算、滥用控制与对账。
  • 替代收费。产品可以把代付与链下收费或 token 结算结合,具体受实现、价格、流动性和监管限制。
  • 多次调用。账户可以按代码执行多个调用。是否只需一次用户批准、是否节省 Gas,取决于实现与负载。
  • 自定义授权。账户可以验证支持的签名方案、Passkey、多签、Guardian、角色或限定范围的委托。
  • 恢复与轮换。钱包实现可以定义密钥轮换或恢复,其安全性取决于恢复因子、延迟、取消路径与治理。
  • 首次使用时部署。Factory 可以在 UserOperation 被处理时创建反事实账户。

ERC-4337 不保证什么?

  • 无 Gas。总有人支付网络费,失败或回滚的操作也可能产生费用。
  • 更低 Gas。验证、EntryPoint、Paymaster、Factory 和账户执行会增加工作量。批处理可能摊薄部分成本,但必须实测。
  • 安全恢复。恢复可降低密钥丢失风险,也会增加 Guardian、身份、延迟、胁迫和社会工程风险。
  • Bundler 去中心化或可用性。产品必须评估兼容运营方、策略、EntryPoint 支持、故障切换、审查风险和服务水平。
  • 跨链身份。账户地址、部署、Deposit、服务商、状态和功能可能因链而异。
  • 易懂的同意。多次调用和委托权限仍需要准确模拟与清晰的用户授权。

哪些攻击面需要明确测试?

攻击面失败示例所需证据
账户验证重放、签名歧义、Nonce 错误、未授权 EntryPoint、不安全模块规范测试、不变量、Fuzzing 与独立审查
初始化与升级初始化抢跑、错误实现、Storage 冲突、Authority 被攻破签名初始化、升级测试、延迟、监控与回滚方案
PaymasterDeposit 耗尽、绕过配额、高成本回滚、定价错误、后处理失败对抗模拟、预算、限额、记账与告警
Bundler模拟不一致、策略不兼容、审查、宕机、费用错误兼容性测试、故障切换演练、遥测与服务目标
委托与恢复范围过宽、权限过期、Guardian 合谋、恢复因子泄露策略矩阵、到期、撤销、延迟、取消与恢复演练
用户界面隐藏调用、误导模拟、链错误、无限权限可读意图、解码效果、警告与失败状态测试

如何设计 Paymaster?

定义谁符合资格、允许哪些调用、最大成本、时间和防重放绑定、预算、速率限制、定价、授权与记账,并假设输入具有敌意。Paymaster 持有支付费用的 Deposit,在其验证方式需要时还持有 Stake。即便执行回滚,它也可能付款。

ERC-4337 文档介绍了 Deposit 耗尽、高成本、回滚调用、超时和竞争风险,以及确定性验证与 Bundler 模拟要求 (Paymaster 安全指南)。链下签名服务与 API 也属于安全边界。

EOA 与 ERC-4337 智能账户如何比较?

外部账户通过密钥获得固定的协议授权。智能账户实现可以加入更丰富的验证与执行,同时增加代码、配置、服务和治理风险。对消费者、运营方或高频用户而言,没有一种方案必然正确。

应比较具体方案的上手流程、兼容钱包、恢复、授权、交易模拟、Gas、延迟、可用性、升级、审计、集成、支持与退出。不要假设 EOA 没有恢复路径,也不要假设智能账户一定拥有恢复能力。

Kevin Riedl

"账户抽象创造了可编程安全边界。安全性取决于你实际交付的程序、权限主体、服务与恢复路径。"

什么是 EIP-7702?

EIP-7702 允许 EOA 设置指向代码的委托标记。委托会持续存在,直到修改或清除,并非只对单笔交易生效。它可以通过被委托实现支持批处理、代付与受限子密钥,也会引入初始化、Storage、委托、Relayer 和兼容性风险。

该 EIP 规定了授权元组和持久代码委托,并记录初始化抢跑、Storage 管理、代付 Relayer 干扰以及与 tx.origin 交互等安全事项 (EIP-7702)。ERC-4337 也定义了 EIP-7702 委托账户如何提交 UserOperation。两种方法可以互补。

可以自建 Bundler 吗?

可以,前提是实现支持相关 EntryPoint 与 Mempool 规则。自营会增加节点依赖、模拟、费用估算、Mempool 策略、信誉规则、监控、更新、拒绝服务防护、密钥运维和值班责任。托管服务则带来对手方、兼容性、可用性、策略、隐私与退出风险。

依据可测量需求选择。产品承诺连续性时,至少测试一个备用方案,并验证切换能保留操作状态、幂等性、费用处理和用户沟通。

需要自定义账户合约吗?

默认不需要。应根据所需签名方案、模块、恢复、升级、标准、链、EntryPoint 版本、审计历史、事故响应、集成支持与治理,评估持续维护的实现。没有证据支持某些具名实现能覆盖 90% 真实需求。

只有在明确需求无法满足,并且收益足以承担设计、测试、独立审计、监控、升级和迁移责任时,才开发自定义代码。复用代码并不能省去对配置与模块的评估。

哪些证据应批准生产上线?

  1. 固定支持的账户、EntryPoint、Factory、模块、Paymaster、Bundler、链与客户端版本。
  2. 记录授权、恢复、升级、暂停、Deposit、代付与紧急操作的责任主体。
  3. 测试重放、初始化、签名、Nonce、模块、委托、Paymaster、模拟、失败与升级路径。
  4. 测量代表性成功、回滚、代付、批量与恢复操作的 Gas 和延迟。
  5. 针对风险边界执行独立审查,包括配置与集成。
  6. 演练 Bundler 和服务商故障、Deposit 耗尽、密钥泄露、回滚与用户支持。
  7. 监控合格结果、拒绝原因、代付成本、Bundler 健康、账户版本和特权变更。

当操作在钱包、Bundler、Paymaster 与 EntryPoint 之间失败时,可将原始产物粘贴到免费的 ERC-4337 UserOperation 调试器。它会在本地拆解打包字段与 AA 错误码,无需再次发出 RPC 请求。我们的 区块链工程服务可以帮助把威胁模型转化为实现与证据。

最终思考

ERC-4337 通过可编程账户、Bundler、EntryPoint 和可选 Paymaster 提供另一条 UserOperation 路径。它无需修改 Ethereum 共识,就能支持自定义授权、执行和费用支付设计。它本身并不保证 Passkey、社交恢复、Session Key、更低 Gas、去中心化或更高安全性。

应评估具体账户实现与周边服务。把 Paymaster Deposit、Bundler 策略、初始化、升级、模块、委托、恢复、跨链状态与用户同意视为产品及安全决策。EIP-7702 为 EOA 加入持久委托,也可以与 ERC-4337 配合,但它带来自己的边界。只有具体技术栈通过可测量的验收与恢复测试后,才能上线。

承载真实价值的 Web3 系统

如果你正在交付区块链、钱包、ZK 或 token 基础设施,而错误代价很高,Wavect 会用安全、UX 和交付纪律构建生产级链上产品。

相关服务:

只收重要内容

关注与你相关的内容

每当我们发布新文章,你会收到一封简短邮件。你可以关注整个博客,也可以只选感兴趣的主题。

你希望接收哪些内容?
选择主题

免费、双重确认、不使用跟踪像素。

返回
Kevin Riedl

8 分钟 阅读 · 2026年5月26日
最近审核

下一篇

获取下一篇关于Web3 与隐私的一线笔记

有新文章时发送一封简短邮件,不使用跟踪像素,也不发送填充内容。

免费、双重确认、不使用跟踪像素。