以太坊账户抽象路线图解析:EIP-3074、EIP-5806与EIP-7702

·

随着以太坊Deneb升级带来的重大变革,社区已将目光转向下一次硬分叉Pectra。为促进讨论,本文旨在梳理当前以太坊及其Rollup生态中账户抽象的发展现状,并探索清晰的前进路径。

本文将概述以太坊当前账户模型及其对交易有效性的影响,阐释账户抽象的核心概念与分析框架,重点评估EOA可编程性方案(包括EIP-5086、3074和7702),并探讨这些变革如何塑造未来的以太坊交易体验。

什么是账户抽象?

账户抽象旨在提升整个以太坊生态的用户与开发者体验。它不仅让链上操作更易用、更友好,还赋予开发者更强大的工具,以更具意义的方式服务用户。

根据实现机制的不同,账户抽象方案可分为三类:

1. EOA增强与可编程性

通过协议层改动,让外部拥有账户(EOA)重新定义其交易有效性规则中的执行逻辑部分。由于EOA通常由终端用户控制,此类方案将使用户对账户授权行为拥有更高控制权。

2. EOA转换与迁移

此类提案主张将EOA完全转换为合约账户(CA)。核心思路是合约账户已具备智能账户的大部分优势,因此无需过度复杂化系统,用户可直接使用合约账户作为主账户(通过智能合约钱包实现)。

3. 智能账户

这类设计允许EOA和CA通过完全重定义其有效性规则,成为“智能账户”。尽管早期提案如EIP-86和EIP-2938曾尝试在协议层实现智能账户,但因复杂度过高而未能推进。Vitalik在合并后重启讨论,ERC-4337作为可选智能账户标准被提出,类似MEV中的提议者-构建者分离(PBS)基础设施。

ERC-4337通过UserOperation结构让用户自定义账户逻辑与交易有效性规则,无需协议层支持即可享受智能账户的好处。然而,其复杂性仍是潜在故障点。为解决该问题,RIP-7560被起草为ERC-4337的协议内嵌版本,继承网络的抗女巫攻击机制而非依赖新规则集。

本文将聚焦EOA可编程性方案,评估相关EIP的优劣。系列后续文章将覆盖另两类账户抽象方案。

以太坊账户与交易基础

以太坊账户是以太币(ETH)持有实体,可发送交易。账户由42字符十六进制地址标识,作为状态树中的叶子节点,包含四个字段:

基于这些字段,账户分为两类:

外部拥有账户(EOA)

合约账户(CA)

交易机制

交易是账户发出的加密签名指令,引发网络状态变更。为确保无许可环境中的安全交互,交易必须遵循基于账户类型的有效性规则。

账户与交易有效性规则

EOA面向终端用户优化,易用性强,可自主发送交易,但必须遵循严格规则:

合约账户则更具灵活性:

简言之,EOA拥有完全自主性但可编程性有限;CA拥有高度可编程性但自主性受限。接下来我们将探讨这一设计选择带来的问题。

以太坊账户困境

EOA的局限性

  1. 易受量子攻击:ECDSA签名方案非抗量子计算
  2. 表达力不足:固定有效性规则限制交易批处理、原子性与委托
  3. 自给性差:必须自行支付Gas,且仅接受ETH作为Gas货币

CA的局限性

  1. 完全无自主性:仅能响应调用
  2. 逻辑人为错误风险:智能合约漏洞导致巨额资金损失

账户抽象时间线

账户抽象始终是以太坊路线图的重要组成部分。早期因复杂度推迟,合并后再次聚焦,现成为Pectra升级的核心议题。当前需求包括:

  1. 新账户标准需更具表达力且不损失自主性
  2. 桥接EOA与CA差距,保持与L2生态兼容

智能账户旨在结合EOA与CA的优势,允许账户自定义验证逻辑与执行逻辑。需区分:

交易有效性参数中,前四项(认证、授权、nonce逻辑、Gas支付)构成验证逻辑,最后一项为执行逻辑

下文将聚焦第一类方案:EOA可编程性。

可编程EOA方案

EIP-5806:委托调用增强

该提案允许EOA对合约账户逻辑执行委托调用(delegatecall),从而在保持验证逻辑的同时借用CA的执行逻辑。它引入新EIP-2718兼容交易类型,并限制某些操作码(如SSTORE、CREATE)以防止状态破坏。

应用场景

批评意见

EIP-3074:授权委托

该提案允许EOA将验证逻辑委托给专用合约(调用器),通过两个新操作码AUTH和AUTHCALL实现。调用器负责管理授权逻辑,支持Gas赞助和非ce并行等功能。

应用场景

批评意见

EIP-7702:代码指针设置

作为EIP-3074的优化版,该提案通过SET_CODE_TX_TYPE交易让EOA临时“借用”合约代码,成为智能账户。它引入授权列表,支持更灵活的委托机制。

应用场景

批评意见

👉 深入了解最新账户抽象技术

常见问题

什么是账户抽象?

账户抽象是以太坊的升级方案,允许账户自定义交易有效性规则,结合EOA的自主性与CA的可编程性,提升用户体验与开发者灵活性。

EIP-7702与EIP-3074有何区别?

EIP-7702采用代码指针机制,允许EOA临时设置为合约账户,兼容性更强且风险更低;EIP-3074则通过调用器委托授权,复杂度较高且存在中心化风险。

智能账户与智能合约钱包有何不同?

智能账户是协议层概念,指能自定义规则的账户;智能合约钱包是产品层工具,作为合约账户的管理界面,不改变底层账户属性。

账户抽象对普通用户有何好处?

用户可享受Gas赞助、交易批处理、密钥恢复等高级功能,无需担心Gas币种限制或单点故障风险,操作体验更接近传统Web2应用。

EIP-7702如何解决量子攻击风险?

EIP-7702本身不解决该风险,但它为过渡到抗量子签名方案提供路径,最终需通过协议升级替换ECDSA算法。

账户抽象是否影响现有DApp兼容性?

大多数方案设计为向后兼容,但部分DApp可能需要调整逻辑以适应新的交易类型和账户行为,建议开发者提前测试适配。

结论

当前EOA严重受限,无法充分利用EVM的可编程特性。账户抽象升级需平衡安全自托管原则与用户体验改进,充分考虑所有利益相关者的意见。

EIP-7702作为EOA可编程性的代表方案,已被列为Pectra升级中EIP-3074的替代品。它继承开放设计理念,降低攻击面,支持更广泛的应用场景。尽管仍需 refinements,该提案已获得社区广泛支持,包括Vitalik的背书。

然而,必须警惕量子计算威胁下的长期安全性。EOA可编程性应视为通向智能账户的过渡步骤,而非终极目标。它增强EOA能力,改善用户体验,同时保持与智能账户目标的兼容性。

在后续报告中,我们将深入探讨EOA迁移方案及其在账户抽象路线图中的定位,敬请期待!