---
title: "账户抽象上生产 - 博客"
canonical: https://wavect.io/zh/blog/account-abstraction-erc4337-production/
language: zh
description: "ERC-4337 账户抽象在生产环境里到底解决了什么，没解决什么，又引入了哪些新的攻击面。无 Gas UX、批量交易、社交恢复。"
image: "https://wavect.io/img/blog/headers/header_account-abstraction-erc4337-production.png"
---

[**返回**](/zh/blog/overview/)

[![Kevin Riedl](/img/team/kevin.webp)](/zh/team/kevin-riedl/)

[Kevin Riedl](/zh/team/kevin-riedl/) https://linkedin.com/in/wsdt

8 分钟 阅读 · 2026年5月26日

[**下一篇**](/zh/blog/smart-contract-security-checklist-pre-audit/)

# Account Abstraction（ERC-4337）在生产环境中：它真正解决了什么，又解决不了什么

要点速览

ERC-4337 账户抽象是 UX 上的进步，不是安全上的进步。它解决了 gasless 交易、批量签名、社交恢复、session keys 和 passkeys 这些真实痛点，却没解决 bundler 中心化、paymaster 经济模型，还引入了需要单独审计的新攻击面。务实做法：消费级入门流程默认用 AA，技术用户和运营人员仍用 EOA，只需要批量和代付 gas 时考虑 EIP-7702。

ERC-4337 上线时间足够长，已经不再是一个思想实验。我们已经为客户在生产环境中交付了 [账户抽象](/zh/glossary/account-abstraction/) 钱包（参见 [我们的 AA 案例研究](/zh/case-studies/account-abstraction/) 以及 [MetaMask Snap 工作](/zh/case-studies/metamask-snap/) ）。诚实的总结是：AA 是 UX 上的进步，不是安全上的进步。它解决了用户长期抱怨的一长串小痛点，同时引入了一份较短的、让工程师抱怨的新攻击面清单。这篇文章就是拆解：它修复了什么，没修复什么，以及客户在投入前常问我们的问题。

## 用一段话讲清楚 ERC-4337 是什么？

这是一项标准，允许智能合约充当用户账户，无需修改底层 [EVM](/zh/glossary/evm/) 协议。用户签署一个 UserOperation，bundler 将其打包，paymaster 可以选择代付 gas，entry-point 合约负责验证并执行。最终效果是：用户无需持有 ETH 即可交易，可以用 passkey 或社交恢复代替助记词，并且可以把多个动作合并成一次授权。ERC-4337 是标准，具体的钱包实现（Safe、Kernel、Biconomy、Alchemy 的 Light Account、ZeroDev）在其之上叠加各种功能。

## AA 在生产中到底解决了什么？

- **通过 paymaster 实现 gasless UX。** 用户不需要持有 ETH。由别人（你自己、赞助合约、代币内换 gas）来支付 gas。这一项改变就堵住了 EVM 产品最大的入门缺口。
- **批量交易。** 授权加 swap，一次签名搞定。授权加存入加质押，一次签名搞定。提示更少，流程放弃率更低。
- **社交恢复。** 守护人可以轮换签名密钥而不动用资金。用户不再因为弄丢助记词而失去钱包。
- **Session keys。** 有时间和范围限制的签名权限。用户签一次，dapp 在限制范围内可以继续行动，无需再次提示。对游戏和高频产品来说意义巨大。
- **基于角色的消费策略。** “在这个 DEX 每天交易最多 $500，其他都需要守护人签名。”钱包里有真正的策略引擎，而不是应用里。
- **Passkeys 与 WebAuthn。** 用指纹或设备 passkey 签名，而不是助记词。对非加密原生用户来说是巨大的 UX 提升。

## AA 没有解决什么？

- **Bundler 中心化。** 大部分生产流量经过少数几家 bundler 运营商。审查风险和可用性风险集中在那里。
- **Paymaster 经济模型。** gas 最终总要有人付。如果是你来付，你需要预算、配额和女巫防护策略。
- **社工型恢复攻击。** 如果你的恢复流程信任邮箱或手机号，那就是你新的最弱环节。恢复听起来很安全，但只取决于你选的守护人是否安全。
- **多链钱包 UX。** 每条链都有自己的 AA 部署、自己的 bundler、自己的 paymaster。面向用户的钱包把这些隐藏起来，但工程团队感受得到。
- **Dapp 签名 UX 的混乱。** EIP-712 typed data 对大多数用户来说仍然让人困惑。AA 并没有改变用户被要求签署的内容。
- **根本上“这笔交易到底做什么”的问题。** 批量的 UserOperation 比单笔转账更难安全地展示。UX 工作仍然必不可少。

## AA 引入了哪些新的攻击面？

不是“更小”，而是“不同”。值得列出来，因为我们在那些跳过严肃威胁建模的项目里见过这些问题。

1. **Paymaster 伪造。** 如果你的 paymaster 校验逻辑松散，攻击者可以通过触发本不该获得赞助的操作来掏空 paymaster 预算。
2. **签名聚合器的微妙问题。** 聚合签名方案存在微妙的可塑性和重放问题。它们需要独立的审计。
3. **Init-code 钓鱼。** 钱包首次部署包含 init code。恶意 dapp 可以建议一段 init code，从第一天就给钱包留后门。
4. **UserOperation 模拟漂移。** bundler 模拟时看到的状态可能与执行时的状态不一致。处理不当，这就会变成骚扰向量。
5. **Session key 授权过宽。** 授予容易，遗忘也容易。我们见过 dapp 请求的 session key 范围远大于它实际需要的。
6. **守护人串谋。** 社交恢复把信任从助记词转移到守护人集合。请相应地选择。

## 快速对比：EOA 与 AA

| 关注点 | EOA（当下） | AA（ERC-4337） |
| --- | --- | --- |
| 是否需要助记词 | 是 | 否（passkey、社交或混合） |
| 用户是否持有 gas 代币 | 是 | 可选（paymaster 代付） |
| 一次签名批量执行 | 否 | 是 |
| 密钥丢失后的恢复 | 否（彻底完蛋） | 是（守护人或混合） |
| 单笔交易成本 | 较低 | 较高（entry-point 开销） |
| 审计面 | 小 | 更大（钱包合约 + paymaster） |
| 审查风险 | 验证者层级 | 验证者 + bundler 层级 |

![Kevin Riedl](/img/team/kevin.webp)

"AA 是 UX 上的进步，不是安全上的进步。这样定位，你就能正确划定它的范围。"

## 问答：我们还需要 EOA 吗？

目前还需要。EOA 仍然更简单、单笔交易更便宜，审计面也小得多。对于技术用户的高频低风险交易，EOA 没问题。对于面向消费者的入门流程，AA 才是正确的默认值。我们经常交付混合产品：消费者流程用 AA，资深用户或运营人员流程用 EOA。

## 问答：AA 更便宜还是只是更好用？

就每笔交易而言，AA 比 EOA 消耗更多 gas，因为 entry-point 和钱包合约要做额外的验证工作。用户体验更便宜（签名提示更少，不必预先购买 ETH）。只有当你在一个 UserOperation 中批量打包足够多操作，使每个操作的均摊成本低于 EOA 对应的成本时，费用经济才会反转。批量打包就是 gas 数学的胜利所在。

## 问答：我们能自己跑 bundler 吗？

可以。已经有多个开源 bundler（Pimlico 的 Alto、Stackup、ETH Infinitism 参考实现）。自跑 bundler 给你抗审查能力和可预测的性能，同时也给你 24/7 的运维负担、节点基础设施账单和 DDoS 目标。对于大部分产品，使用托管 bundler 是务实的答案。对于把抗审查作为核心承诺的产品，自托管是值得的。

## 问答：EIP-7702 怎么算？

EIP-7702（自 Pectra 起上线）让 EOA 能暂时表现得像智能账户。这改变了取舍：对于很多主要想要 AA 用于批量打包和赞助 gas 的产品来说，EIP-7702 在不引入新钱包合约的情况下交付了大部分 UX 上的好处。ERC-4337 仍然是完整社交恢复、session keys 和策略丰富钱包的正确答案。我们会根据产品本身，而不是潮流，帮客户在两者之间做选择。

## 问答：AA 与其他链上的 [智能合约](/zh/glossary/smart-contract/) 如何交互？

每条链都需要自己的 AA 部署。entry-point 地址、bundler 和 paymaster 合约都是按链来的。用户看到的是一个钱包，工程团队看到的是 N 套部署。跨链钱包抽象工具正在追赶，但还很粗糙。请提前规划。

## 问答：我们需要自定义钱包合约吗？

通常不需要。Safe、Kernel、Light Account 等实现都经过良好审计，覆盖了 90% 真实产品需求。当你有特定的策略引擎、签名方案或恢复模型，而现有实现不支持时，自定义钱包合约才合适。自定义更贵，审计负担也更重。参见我们的 [区块链工程服务](/zh/services/blockchain/) 了解我们如何对此进行范围界定。

当具体 operation 在 wallet、bundler、paymaster 与 EntryPoint 之间失败时，把原始产物粘贴到免费的 [ERC-4337 UserOperation 调试器](/zh/tools/erc-4337-useroperation-debugger/) 。它会在本地拆分 packed 字段并解释 AAxx 错误，不会再发送 RPC 请求。

## 最终思考

生产环境中的 ERC-4337 是一种工具，不是一种宗教。它解决了一份真实、可衡量的 UX 问题清单：gas、批量、恢复、session keys、passkeys。它没有解决 bundler 中心化、paymaster 经济模型，也没有解决信任正确守护人的人性问题。它引入了一个新的审计面，需要像对待任何其他智能合约工作一样认真对待。2026 年务实的立场是：在以入门摩擦为护城河的消费级产品中默认使用 AA，对技术用户和运营人员默认使用 EOA，当你只需要 AA 工具箱的一部分时再去用 EIP-7702。无论你选哪个，请建模威胁、把钱包合约和 paymaster 一起审计，并为 bundler 的运维成本做好规划。UX 进步是真正的进步，只是不要把它误以为是免费午餐。把 AA 做好的团队把它当作一个有工程牙齿的产品决策。做砸的团队把它当作一个营销复选框。

## 你可能也喜欢..

[**以太坊 gas 价格** 为什么 gas 费对产品经济很重要，我们如何围绕它进行设计。](/zh/blog/ethereum-gas-prices/) [**Wavect vs 一家通用型开发外包** 通用型卖产能，我们卖产品判断加上能交付的工程能力。](/zh/compare/wavect-vs-dev-agencies/)

区块链基础设施

## 继续浏览此集群

Web3 系统的网络、智能合约、支付与生产架构。

[从核心文章开始**Ethereum 到 Solana 迁移成本**](/zh/blog/ethereum-to-solana-migration-cost/)

- [原生 Rollup vs Based Rollup](/zh/blog/native-rollups-vs-based-rollups/)
- [2026 Tokenomics 落地指南：从模型到生产](/zh/blog/tokenomics-implementation-infrastructure-2026/)
- [德国企业可选的 10 家 Web3 与智能合约审计公司（2026）](/zh/blog/top-smart-contract-auditors-germany/)
- [x402 支付协议指南：Coinbase、Stripe 与主流方案](/zh/blog/x402-payments-comparison-2026/)
- [解读 Open USD：一个联盟稳定币改变了什么](/zh/blog/open-usd-stablecoin-explained-2026/)

只收重要内容

## 关注与你相关的内容

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

[**返回**](/zh/blog/overview/)

[![Kevin Riedl](/img/team/kevin.webp)](/zh/team/kevin-riedl/)

[Kevin Riedl](/zh/team/kevin-riedl/) https://linkedin.com/in/wsdt

8 分钟 阅读 · 2026年5月26日

[**下一篇**](/zh/blog/smart-contract-security-checklist-pre-audit/)

邮件订阅新文章 ×

×

通过邮件获取新文章

我们发布时给你一封简短邮件。免费，不做跟踪。

## Structured Data

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://wavect.io/#organization",
      "@type": [
        "Organization",
        "ProfessionalService",
        "LocalBusiness"
      ],
      "employee": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "founder": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "legalRepresentative": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "name": "Wavect GmbH",
      "subjectOf": {
        "@id": "https://wavect.io/verified-claims.json#dataset",
        "@type": "Dataset",
        "creator": {
          "@id": "https://wavect.io/#organization",
          "@type": [
            "Organization",
            "ProfessionalService",
            "LocalBusiness"
          ]
        },
        "description": "A machine-readable registry of quantitative and qualitative claims published by Wavect, with review dates, localized page appearances and public third-party citations where available.",
        "inLanguage": "en",
        "isAccessibleForFree": true,
        "license": "https://creativecommons.org/licenses/by/4.0/",
        "name": "Wavect verified publication claims",
        "url": "https://wavect.io/verified-claims.json"
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/team/kevin-riedl/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Kevin Riedl",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796365",
        "https://www.linkedin.com/in/wsdt",
        "https://github.com/wsdt"
      ],
      "url": "https://wavect.io/team/kevin-riedl/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/team/christof-jori/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Christof Jori",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796367",
        "https://www.linkedin.com/in/jocr77/",
        "https://github.com/jo-chris"
      ],
      "url": "https://wavect.io/team/christof-jori/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/#website",
      "@type": "WebSite",
      "inLanguage": [
        "en",
        "de",
        "es",
        "zh"
      ],
      "name": "Wavect",
      "potentialAction": {
        "@type": "SearchAction",
        "query-input": "required name=search_term_string",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "https://wavect.io/search/?q={search_term_string}"
        }
      },
      "publisher": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/zh/blog/account-abstraction-erc4337-production/#webpage",
      "@type": "WebPage",
      "dateModified": "2026-07-07",
      "inLanguage": "zh",
      "isPartOf": {
        "@id": "https://wavect.io/#website",
        "@type": "WebSite"
      },
      "lastReviewed": "2026-07-07",
      "url": "https://wavect.io/zh/blog/account-abstraction-erc4337-production/"
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "BlogPosting",
  "abstract": "ERC-4337 账户抽象是 UX 上的进步，不是安全上的进步。它解决了 gasless 交易、批量签名、社交恢复、session keys 和 passkeys 这些真实痛点，却没解决 bundler 中心化、paymaster 经济模型，还引入了需要单独审计的新攻击面。务实做法：消费级入门流程默认用 AA，技术用户和运营人员仍用 EOA，只需要批量和代付 gas 时考虑 EIP-7702。",
  "articleBody": " 博客概览/Web3 与隐私/区块链基础设施 Account Abstraction（ERC-4337）在生产环境中：它真正解决了什么，又解决不了什么 要点速览 ERC-4337 账户抽象是 UX 上的进步，不是安全上的进步。它解决了 gasless 交易、批量签名、社交恢复、session keys 和 passkeys 这些真实痛点，却没解决 bundler 中心化、paymaster 经济模型，还引入了需要单独审计的新攻击面。务实做法：消费级入门流程默认用 AA，技术用户和运营人员仍用 EOA，只需要批量和代付 gas 时考虑 EIP-7702。 ERC-4337 上线时间足够长，已经不再是一个思想实验。我们已经为客户在生产环境中交付了 账户抽象 钱包（参见 我们的 AA 案例研究 以及 MetaMask Snap 工作）。诚实的总结是：AA 是 UX 上的进步，不是安全上的进步。它解决了用户长期抱怨的一长串小痛点，同时引入了一份较短的、让工程师抱怨的新攻击面清单。这篇文章就是拆解：它修复了什么，没修复什么，以及客户在投入前常问我们的问题。 用一段话讲清楚 ERC-4337 是什么？ 这是一项标准，允许智能合约充当用户账户，无需修改底层 EVM 协议。用户签署一个 UserOperation，bundler 将其打包，paymaster 可以选择代付 gas，entry-point 合约负责验证并执行。最终效果是：用户无需持有 ETH 即可交易，可以用 passkey 或社交恢复代替助记词，并且可以把多个动作合并成一次授权。ERC-4337 是标准，具体的钱包实现（Safe、Kernel、Biconomy、Alchemy 的 Light Account、ZeroDev）在其之上叠加各种功能。 AA 在生产中到底解决了什么？ 通过 paymaster 实现 gasless UX。用户不需要持有 ETH。由别人（你自己、赞助合约、代币内换 gas）来支付 gas。这一项改变就堵住了 EVM 产品最大的入门缺口。 批量交易。授权加 swap，一次签名搞定。授权加存入加质押，一次签名搞定。提示更少，流程放弃率更低。 社交恢复。守护人可以轮换签名密钥而不动用资金。用户不再因为弄丢助记词而失去钱包。 Session keys。有时间和范围限制的签名权限。用户签一次，dapp 在限制范围内可以继续行动，无需再次提示。对游戏和高频产品来说意义巨大。 基于角色的消费策略。“在这个 DEX 每天交易最多 $500，其他都需要守护人签名。”钱包里有真正的策略引擎，而不是应用里。 Passkeys 与 WebAuthn。用指纹或设备 passkey 签名，而不是助记词。对非加密原生用户来说是巨大的 UX 提升。 AA 没有解决什么？ Bundler 中心化。大部分生产流量经过少数几家 bundler 运营商。审查风险和可用性风险集中在那里。 Paymaster 经济模型。gas 最终总要有人付。如果是你来付，你需要预算、配额和女巫防护策略。 社工型恢复攻击。如果你的恢复流程信任邮箱或手机号，那就是你新的最弱环节。恢复听起来很安全，但只取决于你选的守护人是否安全。 多链钱包 UX。每条链都有自己的 AA 部署、自己的 bundler、自己的 paymaster。面向用户的钱包把这些隐藏起来，但工程团队感受得到。 Dapp 签名 UX 的混乱。EIP-712 typed data 对大多数用户来说仍然让人困惑。AA 并没有改变用户被要求签署的内容。 根本上“这笔交易到底做什么”的问题。批量的 UserOperation 比单笔转账更难安全地展示。UX 工作仍然必不可少。 AA 引入了哪些新的攻击面？ 不是“更小”，而是“不同”。值得列出来，因为我们在那些跳过严肃威胁建模的项目里见过这些问题。 Paymaster 伪造。如果你的 paymaster 校验逻辑松散，攻击者可以通过触发本不该获得赞助的操作来掏空 paymaster 预算。 签名聚合器的微妙问题。聚合签名方案存在微妙的可塑性和重放问题。它们需要独立的审计。 Init-code 钓鱼。钱包首次部署包含 init code。恶意 dapp 可以建议一段 init code，从第一天就给钱包留后门。 UserOperation 模拟漂移。bundler 模拟时看到的状态可能与执行时的状态不一致。处理不当，这就会变成骚扰向量。 Session key 授权过宽。授予容易，遗忘也容易。我们见过 dapp 请求的 session key 范围远大于它实际需要的。 守护人串谋。社交恢复把信任从助记词转移到守护人集合。请相应地选择。 快速对比：EOA 与 AA 关注点 EOA（当下） AA（ERC-4337） 是否需要助记词是否（passkey、社交或混合） 用户是否持有 gas 代币是可选（paymaster 代付） 一次签名批量执行否是 密钥丢失后的恢复否（彻底完蛋）是（守护人或混合） 单笔交易成本较低较高（entry-point 开销） 审计面小更大（钱包合约 + paymaster） 审查风险验证者层级验证者 + bundler 层级 \"AA 是 UX 上的进步，不是安全上的进步。这样定位，你就能正确划定它的范围。\" 问答：我们还需要 EOA 吗？ 目前还需要。EOA 仍然更简单、单笔交易更便宜，审计面也小得多。对于技术用户的高频低风险交易，EOA 没问题。对于面向消费者的入门流程，AA 才是正确的默认值。我们经常交付混合产品：消费者流程用 AA，资深用户或运营人员流程用 EOA。 问答：AA 更便宜还是只是更好用？ 就每笔交易而言，AA 比 EOA 消耗更多 gas，因为 entry-point 和钱包合约要做额外的验证工作。用户体验更便宜（签名提示更少，不必预先购买 ETH）。只有当你在一个 UserOperation 中批量打包足够多操作，使每个操作的均摊成本低于 EOA 对应的成本时，费用经济才会反转。批量打包就是 gas 数学的胜利所在。 问答：我们能自己跑 bundler 吗？ 可以。已经有多个开源 bundler（Pimlico 的 Alto、Stackup、ETH Infinitism 参考实现）。自跑 bundler 给你抗审查能力和可预测的性能，同时也给你 24/7 的运维负担、节点基础设施账单和 DDoS 目标。对于大部分产品，使用托管 bundler 是务实的答案。对于把抗审查作为核心承诺的产品，自托管是值得的。 问答：EIP-7702 怎么算？ EIP-7702（自 Pectra 起上线）让 EOA 能暂时表现得像智能账户。这改变了取舍：对于很多主要想要 AA 用于批量打包和赞助 gas 的产品来说，EIP-7702 在不引入新钱包合约的情况下交付了大部分 UX 上的好处。ERC-4337 仍然是完整社交恢复、session keys 和策略丰富钱包的正确答案。我们会根据产品本身，而不是潮流，帮客户在两者之间做选择。 问答：AA 与其他链上的智能合约如何交互？ 每条链都需要自己的 AA 部署。entry-point 地址、bundler 和 paymaster 合约都是按链来的。用户看到的是一个钱包，工程团队看到的是 N 套部署。跨链钱包抽象工具正在追赶，但还很粗糙。请提前规划。 问答：我们需要自定义钱包合约吗？ 通常不需要。Safe、Kernel、Light Account 等实现都经过良好审计，覆盖了 90% 真实产品需求。当你有特定的策略引擎、签名方案或恢复模型，而现有实现不支持时，自定义钱包合约才合适。自定义更贵，审计负担也更重。参见我们的区块链工程服务了解我们如何对此进行范围界定。 当具体 operation 在 wallet、bundler、paymaster 与 EntryPoint 之间失败时，把原始产物粘贴到免费的 ERC-4337 UserOperation 调试器。它会在本地拆分 packed 字段并解释 AAxx 错误，不会再发送 RPC 请求。 最终思考 生产环境中的 ERC-4337 是一种工具，不是一种宗教。它解决了一份真实、可衡量的 UX 问题清单：gas、批量、恢复、session keys、passkeys。它没有解决 bundler 中心化、paymaster 经济模型，也没有解决信任正确守护人的人性问题。它引入了一个新的审计面，需要像对待任何其他智能合约工作一样认真对待。2026 年务实的立场是：在以入门摩擦为护城河的消费级产品中默认使用 AA，对技术用户和运营人员默认使用 EOA，当你只需要 AA 工具箱的一部分时再去用 EIP-7702。无论你选哪个，请建模威胁、把钱包合约和 paymaster 一起审计，并为 bundler 的运维成本做好规划。UX 进步是真正的进步，只是不要把它误以为是免费午餐。把 AA 做好的团队把它当作一个有工程牙齿的产品决策。做砸的团队把它当作一个营销复选框。 你可能也喜欢.. 以太坊 gas 价格 为什么 gas 费对产品经济很重要，我们如何围绕它进行设计。 Wavect vs 一家通用型开发外包 通用型卖产能，我们卖产品判断加上能交付的工程能力。 区块链基础设施 继续浏览此集群 Web3 系统的网络、智能合约、支付与生产架构。 从核心文章开始Ethereum 到 Solana 迁移成本 原生 Rollup vs Based Rollup 2026 Tokenomics 落地指南：从模型到生产 德国企业可选的 10 家 Web3 与智能合约审计公司（2026） x402 支付协议指南：Coinbase、Stripe 与主流方案 解读 Open USD：一个联盟稳定币改变了什么 集群中的上一篇Ethereum 到 Solana 迁移成本 相关服务： 账户抽象开发 看看生产环境中的应用: Account Abstraction 先做决定: 如何挑选软件开发公司 只收重要内容 关注与你相关的内容 每当我们发布新文章，你会收到一封简短邮件。你可以关注整个博客，也可以只选感兴趣的主题。 Company 电子邮箱 你希望接收哪些内容？ 完整的 Wavect 博客接收六个主题下的每一篇新文章。 仅接收所选主题请在下方选择一个或多个分类。 选择主题 AI 与智能体 产品与 MVP 交付与 QA 领导力与团队 商业与监管 Web3 与隐私 我希望接收所选的 Wavect 博客邮件，并已阅读 隐私信息。我可以随时退订。 发送确认邮件→ 免费、双重确认、不使用跟踪像素。 ",
  "articleSection": "Engineering",
  "author": {
    "@id": "https://wavect.io/team/kevin-riedl/#person",
    "@type": "Person",
    "name": "Kevin Riedl",
    "sameAs": [
      "https://www.wikidata.org/wiki/Q139796365",
      "https://www.linkedin.com/in/wsdt",
      "https://github.com/wsdt"
    ],
    "url": "https://wavect.io/team/kevin-riedl/"
  },
  "dateModified": "2026-07-07",
  "datePublished": "2026-05-26",
  "description": "ERC-4337 账户抽象是 UX 上的进步，不是安全上的进步。它解决了 gasless 交易、批量签名、社交恢复、session keys 和 passkeys 这些真实痛点，却没解决 bundler 中心化、paymaster 经济模型，还引入了需要单独审计的新攻击面。务实做法：消费级入门流程默认用 AA，技术用户和运营人员仍用 EOA，只需要批量和代付 gas 时考虑 EIP-7702。",
  "headline": "生产环境的账户抽象",
  "image": "https://wavect.io/img/blog/headers/header_account-abstraction-erc4337-production.svg",
  "inLanguage": "zh",
  "mainEntityOfPage": {
    "@id": "https://wavect.io/zh/blog/account-abstraction-erc4337-production/",
    "@type": "WebPage"
  },
  "publisher": {
    "@id": "https://wavect.io/#organization",
    "@type": [
      "Organization",
      "ProfessionalService",
      "LocalBusiness"
    ]
  },
  "url": "https://wavect.io/zh/blog/account-abstraction-erc4337-production/",
  "wordCount": 362
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "item": "https://wavect.io/zh/",
      "name": "首页",
      "position": 1
    },
    {
      "@type": "ListItem",
      "item": "https://wavect.io/zh/blog/overview/",
      "name": "博客概览",
      "position": 2
    },
    {
      "@type": "ListItem",
      "item": "https://wavect.io/zh/blog/topics/web3-privacy/",
      "name": "Web3 与隐私",
      "position": 3
    },
    {
      "@type": "ListItem",
      "item": "https://wavect.io/zh/blog/clusters/blockchain-infrastructure/",
      "name": "区块链基础设施",
      "position": 4
    },
    {
      "@type": "ListItem",
      "item": "https://wavect.io/zh/blog/account-abstraction-erc4337-production/",
      "name": "账户抽象上生产 - 博客 | ",
      "position": 5
    }
  ]
}
```
