截至 2026 年 4 月,BundleBear 的数据显示,Ethereum 及主要 L2 上的 ERC-4337 UserOperations 已超过 10.7 亿笔,至少发生过一次交易的智能账户达到 5670 万个。这已不再是小众现象。Ethereum 于 2015 年推出的账户,只有一把密钥且仅支持 secp256k1 曲线,如今正被大规模绕开;链上数据也开始印证一个不那么显眼的协议层事实:账户本身现在可以编程。
本文是智能账户系列五篇文章中的第一篇。本文聚焦一个基础而关键的问题:解释 EOA 究竟是什么、智能账户究竟是什么,以及为什么“智能账户还是 EOA”不再只是用户体验上的偏好,而是关乎如何落实自托管的结构性选择。
从协议层面看,EOA 究竟是什么
Ethereum 黄皮书定义了两种账户:外部拥有账户(Externally Owned Accounts)和合约账户。它们在状态层面唯一的区别是 codeHash 字段。对于 EOA,codeHash 是空字符串的哈希值。对于合约账户,该字段指向可执行的 EVM 字节码。这就是协议层面上的全部区别。
因此,从任何有实际意义的角度来说,EOA 都不是“钱包”。它是一个地址,由 keccak256(public key) 的最后 20 个字节派生而来,密钥对固定使用 secp256k1 曲线。MetaMask、Ledger 和 Zelcore 是用于持有密钥的用户界面,它们本身并不是账户。如果您还不了解其中的原理,可以阅读我们的入门文章:公钥和私钥,以及地址的派生方式,了解完整过程。
ERC-4337 于 2023 年推出之前,Ethereum 上的每笔交易都必须由 EOA 发起,协议也只执行一条验证规则:交易哈希必须带有有效的 secp256k1 签名。持有余额,每笔交易签署一份 ECDSA 签名,再由同一账户以 ETH 支付 Gas。这就是 EOA 的全部能力,仅此而已。
对用户影响重大的结构性限制
这些并非只是用户体验上的小问题,而是我们在 2026 年仍看到大多数自托管资产损失背后的结构性原因。
- 单点故障。 一把私钥控制一切。丢失私钥,账户也就无法访问;私钥泄露,资金便会不可逆地损失。协议没有内置恢复机制,这正是单个助记词成为自托管主要故障点的原因。
- 只能使用一种曲线。 secp256k1 已被硬编码。您无法使用通行密钥(P-256)、Ed25519 密钥、BLS 或后量子方案。
- 不支持原生多重签名。 Ethereum 上所有“多重签名”方案,从最初的 Gnosis Multisig 到 Safe,都是由 EOA 调用的合约。EOA 本身永远无法要求提供两个签名。
- 不支持批量操作。 EOA 每笔交易只能执行一项操作。先批准代币,再进行兑换,需要签署两笔交易、确认两次并支付两次 Gas 费。
- 无法设置支出规则。 协议不支持“这把密钥每天最多可支出 500 美元”或“这把密钥只能调用 Uniswap”之类的规则。
- 必须由执行操作的同一账户以 ETH 支付 Gas。 协议原生不支持代付,也不支持直接用 USDC 支付。
十年来,每位 Ethereum 用户都只能在这样的框架中操作。
智能账户究竟是什么
从协议的字面定义来看,智能账户是一种合约账户:其地址的 codeHash 指向字节码。字节码通过代码规定账户在什么条件下接受操作。
EOA 的验证规则只有一条固定的 secp256k1 检查,而智能账户的验证规则则由合约决定。它可以要求 2-of-3 多重签名、使用 secp256r1 曲线验证的通行密钥签名、经硬件证明的密钥、时间锁、每日限额、白名单调用目标,或这些规则的任意组合。智能合约账户依据 EIP-1271 标准验证签名,而不是执行协议层面固定的 secp256k1 检查,因此才能支持其他签名方案。
由于规则由代码定义,因此可以升级、组合和撤销。智能账户自 2018 年起便已存在于 Ethereum 上(Safe 是典型案例)。当时缺少的是让智能账户成为默认账户的方式,以及无需先让 EOA 支付 Gas 就能发送交易的方式。ERC-4337 和 EIP-7702 填补了这一空缺。
发展历程:账户抽象简史
统一 EOA 与合约的构想几乎与 Ethereum 本身一样古老。Vitalik 于 2016 年起草的 EIP-86 是第一份详细提案。从那时起,经过五次尝试,才有了如今部署的标准。
- EIP-2938(2020 年 9 月) 提议在协议层实现账户抽象。该提案因改动过于激进而被放弃,当时 Ethereum 正深入推进权益证明转型。
- EIP-3074(2020 年 10 月) 引入
AUTH和AUTHCALL操作码,使 EOA 能够委托给调用合约。由于安全方面的顾虑,该提案被撤回并由其他方案取代。 - ERC-4337 于 2023 年 3 月 1 日 在 Ethereum 主网上线。它仅在应用层实现,无需硬分叉,并通过独立的内存池、Bundler 和单例 EntryPoint 合约来处理称为 UserOperations 的伪交易。
- EIP-7702 随 Pectra 升级于 2025 年 5 月 7 日 推出。它引入交易类型
0x04,在这种交易中,EOA 会签署授权元组(chain_id, address, nonce, y_parity, r, s),通过0xef0100 || address标记将账户指向受委托的合约代码。这样一来,EOA 无需迁移资金,便可暂时像智能账户一样运行。 - ERC-6900 将模块化插件架构标准化,让智能账户能够组合验证、执行和钩子模块。
由此可见,账户抽象已不再是实验。它已成为一套分层部署的标准:全新创建的智能账户可以采用清晰的 ERC-4337 路径,而 EIP-7702 则让每个现有 EOA 都能选择加入。
智能账户新增的五项能力
如果说 EOA 是“一把密钥、一份签名、一笔交易”,那么智能账户涵盖的能力更多。
- 可编程验证。 可采用任意签名方案(通行密钥、P-256、硬件 HSM)、任意签名门限(2-of-3、3-of-5)和任意条件(区块高度、预言机价格)。账户可以自行定义何为“已授权”。
- 原子化批量操作。 在一项签名操作中完成批准、兑换和存入;这些操作要么全部执行,要么全部不执行。这能直接免去用户以往必须手动处理的 Zelcore 中的批准负担和多重签名变通方案。
- 通过 paymaster 抽象 Gas。 第三方合约可以代用户支付 Gas,用户也可以使用 USDC、USDT 或 paymaster 接受的任意 ERC-20 代币支付。若要深入了解Gas、批准和 DeFi 机制如何相互配合,请先阅读 DeFi 基础知识一文。
- 会话密钥。 这类签名密钥有特定权限、有效时限,并绑定特定应用。例如:“接下来 24 小时内,这把密钥只能在 Uniswap 上支出最多 100 USDC。”即使会话密钥泄露,其造成的影响也受规则限制,不会波及账户中的全部资产。
- 恢复账户。 可通过社交恢复、硬件恢复或时间锁恢复账户。即使没有原始签名密钥,也能恢复账户;这样一来,助记词终于不再是单点故障载体。
为什么这如今已成为自托管的关键基础
采用趋势已不再有争议。Pectra 升级后首周,EIP-7702 的授权数量就超过 11,000 次;此后不久,使用该标准的钱包数量突破 25,000 个,其中 OKX 和 MetaMask 领跑。BundleBear 的累计数据(1.07B 次 UserOps、56.7M 个智能账户)则展现了其余情况。
真正发生变化的是威胁模型。对于 EOA,用户的任务是“永远保护好助记词,不签署恶意交易,不遭遇网络钓鱼,也不重复使用错误的设备”。事实证明,人类很难始终做到这些。对于智能账户,用户的任务则是“配置一次恢复法定人数和支出策略”。这项任务可以由代码强制执行。
智能账户不会取代硬件钱包,而是让硬件钱包发挥更大作用。事实上,对于智能账户而言,硬件钱包仍承担的角色会更加聚焦于效用最高的用途:为高价值、低频次的主操作签名;日常操作则交由会话密钥处理。
本系列接下来将介绍什么
本文介绍了本系列的基本框架,后续内容将深入探讨实际操作。
- 第 2 部分将拆解 ERC-4337 技术栈:UserOperations、Bundlers、EntryPoint、Paymasters,以及每个环节可能出现的故障。
- 第 3 部分将详细介绍 EIP-7702 委托:授权元组、
0xef0100指示符,以及将 EOA 指向他人代码时需要考虑的安全问题。 - 第 4 部分将比较主要的智能账户实现(Coinbase Smart Wallet、Safe、Argent、Ambire),并介绍它们各自的默认设置。
- 第 5 部分将总结实际操作:如何在真实账户上配置恢复机制、会话密钥和支出策略,同时保留自托管。
读完后请记住这句话:EOA 是带有地址的密钥;智能账户则是决定其密钥获准执行哪些操作的合约。



