EIP7702: 以太坊账户抽象的重大突破与未来展望

深入解读以太坊账号抽象赛道的过去与未来

本文分为两大部分:

上半部分从2015年的首个AA提案开始,系统整理了目前为止的EIP提案主要内容,探讨AA历史提案的发展历程,并对各方案进行综合评价。

下半部分重点对比EIP4337提出后市场的低迷反馈,深入分析即将纳入下一版以太坊升级的EIP7702。该提案一旦合并,将全面改变链上应用形态。

EIP-7702具有划时代意义,让我们详细了解一下。

1. 账号抽象的背景

1.1 账号抽象的意义定位

以太坊创始人Vitalik在2023年底再次更新ETH发展路线图,但对账号抽象的设定未做改动。目前主流模式正从EIP-4337进入下一阶段"自愿转换EOA账号"。

在EIP4337推出一年多后,用户普遍认可但并未广泛使用。这种矛盾的市场环境加速了EIP-7702的进程,该提案已确认将在下次升级中合并。

1.2 账号抽象的市场现状

经过一年半发展,EIP4337在主流链上仅有1200万地址,其中以太坊主网活跃地址仅6,764个,远低于EOA和CA地址数。以太坊主网独立地址数已达2.7亿,可见EIP4337在主网上几乎没有实质性发展。

不过这并不影响AA的本质价值。EIP4337的设计注定难以解决主网的向前兼容问题。随着各类L2原生嵌入AA,EIP4337地址数在L2上呈爆发式增长,如Base和Polygon链7月月活分别达100万和300万。

因此,EIP4337设计并无问题,当前状况源于主网与L2的差异,它们需要不同的适用方案。

深入解读以太坊账号抽象赛道的过去与未来

2. 账号抽象是什么?

账户抽象本质上解决的是产权分离问题。

EVM架构中有外部账户(EOA)和合约账户(CA)两种。EOA的所有权和签名权实际由同一主体持有。拥有私钥的人不仅拥有账户"所有权",还能"签名转移所有资产"。

这是由以太坊账号交易结构决定的。标准交易中没有From字段,资金转账是通过VRS参数(用户签名)反解析出From地址。这种密码学保障的安全性导致了当前EOA地址产权合并的困境。

EIP4337的核心效果是在交易字段中增加Sender Address,从而实现私钥与被操作地址的分离。

产权分离如此重要,是因为EOA设计衍生出诸多问题:

  1. 私钥难保护:丢失私钥意味着失去所有资产
  2. 签名算法单一:原生协议只能使用ECDSA算法
  3. 签名权限过高:无原生多签,单签即可执行任意操作
  4. 交易手续费只能用ETH支付,不支持批量交易
  5. 交易隐私易泄露:一对一交易容易分析账户信息

这些约束让普通用户难以使用以太坊:

首先,用户必须持有ETH并承担价格波动风险。 其次,用户需处理复杂的费用逻辑。 最后,虽然许多钱包试图优化体验,但效果有限。

因此,突破口在于实现账户抽象,将所有权(Owner)和签名权(Signer)解耦,从而逐步解决上述问题。

历史上有多种方案,最终归纳为两条路线。

深入解读以太坊账号抽象赛道的过去与未来

3. AA历史提案脉络梳理

问题的解法看似有多个EIP提案,但归根结底只有两种核心思路。每个未通过的EIP考虑的问题都融入了现有方案中。

3.1 第一种路线:将EOA地址转为CA地址

2015年11月15日,Vitalik在EIP-101中就提出以合约作为账户的新结构。将地址改为只有代码和存储空间,改变手续费支付方式,通过预编译合约将原生代币改为类ERC20存储余额,精简交易字段。

这一大跃进式变革会大幅改动底层设计,让每个账户地址都拥有自己的"代码"逻辑(也是现在EIP-7702要实现的效果)。

衍生功能包括:

  1. 交易使用更多加密算法
  2. 具备抗量子攻击特性
  3. 以太币具备与ERC20一致的功能特性
  4. 提升账户自定义空间

未继续推进是因为步伐太大,对当前交易哈希冲突和安全性考虑不周,但每个优点理念都成为后续EIP4337和EIP7702的核心功能。

后续还有一系列EIP试图完善这种逻辑:

EIP-859(2018-01-30):主链账户抽象 解决Code部署问题,提出新的PAYGAS操作码。

EIP-7702(2024-05-07):设置EOA账户代码 作为EIP-3074替代方案,将在即将到来的ETH Prague/Electra硬分叉中纳入。

3.2 第二种路线:让EOA地址驱动CA地址

EIP-3074(2020-10-15):增加AUTH和AUTHCALL操作码 加入两个新操作码,让EOA能授权合约代替其身份调用其他合约。

EIP-4337(2021-09-29):用交易内存池实现账户抽象 受MEV启发设计,可完全避免共识层协议更改。提出新的UserOperation对象,由bundlers批量打包交付合约执行交易。

EIP-5189(2022-06-29):通过背书人操作抽象账户 优化EIP4337逻辑,通过资金罚款背书机制防止DoS攻击。

3.3 其他支持AA的提案

EIP-2718(2020-06-13):新交易类型的包装信封 定义新交易类型,作为未来新增交易类型的信封。

EIP-3607(2021-06-10):禁止EOA地址部署合约 防止合约部署地址与EOA地址冲突。

3.4 账号抽象发展历程解读

首先需理解转为CA后的价值,基本就是EIP-4337的实际效果。

但EIP-4337的核心缺点是违背人性动机原则。虽然看似更好,却陷入市场发展死循环。Dapp兼容性不足,用户不愿使用CA地址,CA使用成本更高,过于依赖Dapp兼容性。

因此在以太坊主网上一直未能普及。成本是用户最重要的衡量标准,必须降低成本。

要真正降低GAS,就需以太坊本身做软分叉升级,修改GAS计算或操作码GAS消耗。既然要软分叉,不如直接考虑EIP-7702。

深入解读以太坊账号抽象赛道的过去与未来

4. 全面解析EIP-7702

4.1 EIP-7702简介

通过新交易类型,允许EOA在单笔交易中临时具备智能合约功能,支持批量交易、无Gas交易和自定义权限管理等,且无需引入新EVM opCode。

用户无需部署智能合约即可获得大部分AA能力,甚至可由第三方代用户发起交易,只需签名授权信息。

4.2 数据结构

定义新交易类型0x04,TransactionPayload是以下内容的RLP编码序列化结果:

[chain_id, nonce, max_priority_fee_per_gas, max_fee_per_gas, gas_limit, destination, value, data, access_list, authorization_list, signature_y_parity, signature_r, signature_s]

新增authorization_list对象,存储签名者希望在EOA中执行的代码。用户签署交易同时签署要执行的合约代码,作为二维列表存在,可批量存放多个操作信息。

authorization_list = [[chain_id, address, nonce, y_parity, r, s], ...]

4.3 交易生命周期

4.3.1 验证阶段

交易执行开始时,对每个authorization_list元组:

  1. 从签名恢复出签名者地址
  2. 验证链ID
  3. 验证签名者代码是否为空或已委托
  4. 验证签名者nonce
  5. 设置签名者代码
  6. 增加签名者nonce
  7. 将签名者账户添加到已访问地址列表

4.3.2 执行操作阶段

新版本更改了代码部署行为。从authorization_list的address字段指定地址加载代码,并在签名者账户上下文中执行。

用户合约代码存储在链上特定地址,而非直接包含在交易中。操作指令和相关参数存储在交易负载的data字段中。

4.4 EIP-7702的价值

对Web3钱包全链路产生变化,改善用户体验。EOA发起普通交易可执行多种逻辑,如批量转账。影响CeFi场景交易鉴别和冲提归集手续费。

打破多个既有定势:

  1. 账户余额可因非源自该账户的交易而减少
  2. 交易执行开始后EOA nonce可能增加多个
  3. tx.origin和msg.sender比对防护逻辑失效
  4. EOA可发出事件
  5. EOA接收ERC20/721/1155资产可能失败

4.5 EIP-7702与EIP-4337对比

  1. EIP-7702优势:
  • gas更低,无需经过entrypoint模块
  • 用户迁移成本更低,无需提前部署链上合约
  • 同样支持代码委托执行:完全委托和受保护委托
  1. EIP-7702缺点:
  • 属软分叉升级,需共识推动,改动巨大
  • 自由度高,难审计,用户更需可靠钱包保护
  • 对原架构变化大,many基建难直接适配
  • EOA获得合约能力,但存储空间无法留存
  • 单独交易成本略高,增加Calldata部分
  • 接收者签署无接收功能代码可能导致DoS
  • 链上充提逻辑可能不一致
  • EOA发出事件可能引发问题

这些缺点基于目前EIP7702提案内容总结,最终实现可能有变化。

深入解读以太坊账号抽象赛道的过去与未来

5. 总结

账户抽象目前只能放在"修复一切"模块最后推行。加快EIP7702进度主要带来系统安全性挑战。虽然改变巨大,但由于降低了用户成本,值得所有Dapp研究适配。用户终将站在EIP7702一边。

深入解读以太坊账号抽象赛道的过去与未来

ETH5.2%
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 5
  • 转发
  • 分享
评论
0/400
冷钱包守护者vip
· 14小时前
4337不都跑路一批了 7702行不行还两说呢
回复0
合约自由人vip
· 17小时前
4337这菜刀都卷不动 下个大菜还不来
回复0
空投民工小张vip
· 17小时前
哎哟 v神啥时候才能把用户体验提上去啊 这码太费脑子了
回复0
钱包恐慌症患者vip
· 17小时前
v神还在坚持他的小执念啊...
回复0
梯子上的工具人vip
· 17小时前
是4337不给力还是我没追上最新八卦?
回复0
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)