---
title: "构建账户抽象的模块化未来：ERC-6900"
description: "出于对账户抽象模块化未来的承诺，我们发起了 ERC-6900——一套用于插件设计及其与智能账户交互的通用标准。"
---

# 构建账户抽象的模块化未来：ERC-6900

账户抽象是 Alchemy 让下一个十亿用户上链这一使命的核心。

使用过传统加密钱包的人都体验过糟糕的用户体验，而这一直是新用户进入该领域的主要障碍。通过让智能账户可编程，[ERC-4337](https://www.erc4337.io/) 正在开启钱包的新时代，为用户带来更好的体验，也为开发者带来了诸如赞助 gas 和社交登录等新功能。

尽管这些进展令人瞩目，但它们只是账户抽象所能实现功能的开端。ERC-4337 为创新的钱包功能打开了更大的空间，而开发者才刚刚开始探索这一领域。这类功能正越来越多地以模块或插件的形式构建，可以自动执行从定投到会话密钥等各种钱包内操作（Rhinestone 的[这份清单](https://www.notion.so/Module-ideas-for-developer-inspo-338100a2c99540f490472b8aa839da11?pvs=21)展示了其中的可能性）。

我们所构建的未来，是让开发者和用户都能充分受益于这种灵活性。要实现这一目标，不能仅停留在打造优秀的开发者工具和教育内容上——还需要为更大的开发者生态系统构建产品，并与之协作，就实现路径达成共识所需的工具形成共识。

我们对这种模块化账户抽象未来的承诺，促使我们发起了 [ERC-6900](https://eips.ethereum.org/EIPS/eip-6900)——一套用于设计插件及其与智能账户交互方式的通用标准。随着该标准首个[参考实现](https://github.com/erc6900/reference-implementation)的发布，我们很高兴能将 6900 带给更广泛的开发者群体。

本文接下来的部分将介绍 ERC-6900 的结构、当前状态和路线图。在此之前，我们先简要介绍一下模块化及其对账户抽象的重要性。

## 构建模块化

模块化最一般的概念，是将单一庞杂的技术拆解为组件式的模块。理论上，这是最优方案——应用开发者不会被锁定在单一提供商上，而是可以为技术栈的每个组件选择最合适的提供商。

但模块化不仅仅需要一组任意的组件——应用开发者需要能够使用这些模块并将其整合为一个连贯的整体，而模块的构建者也需要知道自己所构建的东西能够被尽可能广泛地使用。

为了说明这一点，让我们看两位开发者：Alice 和 Carol。

1. Alice 是一名应用开发者，她想构建能为用户创造价值的优秀应用。
1. Carol 开发模块，她希望确保自己开发的模块既容易被发现，又能被尽可能多的应用开发者使用。

Alice 和 Carol 该如何协作？

首先，有效的模块化需要一个丰富的插件**_生态系统_**供应用开发者选择，从而扩展他们的工具箱，减少对单一提供商的依赖。

其次，Alice 需要能够整合 Carol 的成果，而 Carol 也需要知道自己的成果与 Alice 的应用兼容，这样双方才有动力去构建。实现这一点的方式，是通过**_中立标准_**来消除摩擦，让生态系统中的开发者能够顺利集成。

换句话说，标准是模块化生态系统在垄断式锁定和无序混乱之间找到平衡的方式。

将这一点应用到账户抽象上，构建模块化的未来需要一个丰富的插件生态系统，而这反过来又需要一个开发者可以围绕其协调工作的中立标准。

## 为模块化构建中立标准：ERC-6900

通过标准化基础功能和接口，ERC-6900 旨在促进智能账户和插件开发者生态系统的共同发展。插件开发者应当能够编写一个适用于所有智能账户的插件，而不是将精力分散到多种不同的账户实现上。而智能账户开发者则应当能够通过标准化接口访问插件，放心地进行集成。

### 6900 是如何运作的？

为实现这些目标，ERC-6900 旨在达成两个技术目标：

- 为智能合约账户的插件设计提供标准。
- 为符合标准的账户应如何与插件交互提供标准。

遵循该标准的插件设计者可以使用三个标准化组件：

- **Validation functions（验证函数）**确保对智能账户的外部调用的有效性。
- **Execution functions（执行函数）**是智能合约，用于指定插件内各功能的执行逻辑。
- **Hooks（钩子）**用于指定更精细的操作和验证，可以设计在验证前后或执行前后触发。

<ImageBlock
  src="https://media.alchemy.com/1704724953-open-composability-across-plugins.jpg"
  alt="ERC-6900 插件架构图:智能账户组合验证、执行和钩子函数"
  width={2000}
  height={748}
  caption="跨插件的开放可组合性"
/>

ERC-6900 力求在插件间开放可组合性带来的好处，与维护安全性和互操作性的需求之间取得平衡。总体而言，它通过标准化账户与插件之间的交互方式，以及插件的预安装要求来实现这一点。

该标准还借鉴了 Android 开发者社区此前在标准化智能账户与插件之间接口方面所做的[工作](https://developer.android.com/guide/topics/permissions/overview)。每个符合标准的插件都将包含一份清单（manifest），列明安装时需要添加到智能账户中的各项功能和钩子。清单还会说明插件的元数据、依赖项和权限等方面，用以约束插件对智能账户的操作能力。

更多详细信息，请参阅[规范文档](https://eips.ethereum.org/EIPS/eip-6900)。

## ERC-6900 的下一步计划

ERC-6900 近期迎来一个重要里程碑：其参考实现已发布，可通过[公开的 Github 仓库](https://github.com/erc6900/reference-implementation)访问。这标志着该标准从 Alchemy 发起的项目向真正的社区标准演进过程中的一个关键时刻。虽然这份代码尚未经过审计，也还不能用于生产环境，但它为开发者提供了一份可用于实验的示例代码库，作为正式规范文档的补充。

在与社区持续的积极对话中，规范文档本身也经历了多次修订完善。作者团队也已扩充，加入了来自 Ethereum 基金会 ERC-4337 团队的 Yoav Weiss，作者们目前也已在与其他潜在利益相关方积极讨论中，包括 Rhinestone 的 ERC-7484 和 Safe 的 [ERC-7512](https://safe.mirror.xyz/Li4Mb4teTEmosE6dAsnJ_iz3aMKOV_4lDU84W4TSfc0) 等互补标准的开发者，以及其他正在开发账户抽象的主要团队。

作为公开构建这一新阶段的一部分，ERC-6900 团队也在将视野扩展到这些核心利益相关方之外。作者们即将开始举办每周一次、向公众开放的社区电话会议，首次会议将于 11 月 7 日举行。如果您想参加这些会议，欢迎[联系我们](mailto:account-abstraction@alchemy.com)，与我们在 telegram 上交流，或关注该标准的 [Twitter/X 账号](https://twitter.com/erc6900)获取每周更新。

一如既往——欢迎大家提出意见和反馈，无论是通过向 Github [仓库](https://github.com/erc6900/reference-implementation)提交 pull request，在 [Ethereum Magicians](https://ethereum-magicians.org/t/erc-6900-modular-smart-contract-accounts-and-plugins/13885) 上留言，还是在 Modular Smart Contract Accounts 的 telegram [频道](https://t.me/+KfB9WuhKDgk5YzIx)中提问。
