EIP-7702:以太坊账户抽象的终局之战

账户抽象10年演进终局之战,透过EIP-7702看过去与未来

Pectra 是以太坊 Dencun 后的首次重大升级,涵盖布拉格执行层硬分叉和 Electra 共识层更新,集成史上最多的11项EIP,显著提升验证者灵活性、网络扩展性和执行效率。随着以太坊主网 Pectra 硬分叉预计于 2025年5月7日 正式激活,账户抽象(Account Abstraction)的"终极形态"------ EIP-7702,也正式走入大众视野!

如果还有什么 EVM 系的 Web3 钱包不支持 EIP-7702,那么毫无疑问,等于他放弃了以太坊整个生态与用户。这就是 Vitalik 与EF 的决心,也是潘多拉魔盒即将揭开的序幕!

请跟随本文,全面了解账户抽象的演进历史、EIP-7702带来的用户价值与市场改变、以及其中潜藏暗处的危险。

概述

  • EIP-7702 新增了一种交易类型,让普通EOA可以设置某个合约地址为其逻辑代理合约。

  • EIP-7702 会由于"成本优势"以及"灵活性"而全面继承并超越 ERC-4337 多年构建的生态。

  • EIP-7702 对普通用户也是隐形风险,即使用户不做升级,在特定场景也会引发交易失败或者安全资损风险。

  • EIP-7702 将带来全新的用户体验,当用户主体发生合约化迁移,市场应用也会随之演进,Gas 抽象、家庭分级账户等等期盼已久的丝滑体验将引领十亿人,低成本进入Web3世界。

  • 对于交易所、DApp 而言,应用上 EIP-7702 的特性将带来50%以上的成本缩减,进而全面拥抱合约账户时代。

账户为什么要抽象?

很难想象,账号抽象的愿景甚至要早于以太坊本身。

在这次 HK Web3 嘉年华中,Vitalik多次强调现在通过多签(Multi-sig)、账户抽象、ZK Email 等一系列方案,以太坊已完成"iPhone时刻"目标的50%。

是快是慢,是乐观还是局限?且让我们深入底层,看看AA为什么会有这样的影响力!毕竟,经过10年的长跑,Vitalik 终于迎来了AA领域他梦寐以求的终局,为23年绘制的以太坊路线图进度条,添上浓墨重彩的一笔。

账户抽象10年演进终局之战,透过EIP-7702看过去与未来

账户抽象,到底是为了什么?

其实,本质解决的是产权分离的问题,因为目前 EOA(Externally Owned Account 外部账户)的所有权 和签名权其实上是同一个体单位持有的(都依赖私钥进行任何指令的控制),其根源来自以太坊的交易结构,其实以太坊的标准交易里是没有 From 方的,执行时是通过其 VRS 参数(即用户签名)反解析出 From 地址。

而且以太坊作为"世界级状态机"的设计,完全依赖交易去实现链上状态的变更,结合由于无法指定 From 方,则让交易的执行权限与最高所有权耦合在一起。

这就是 EOA 虽然简单易懂,但使用不便的一系列问题之根源:

  • 私钥难保护:用户失去私钥(遗失、黑客攻击、量子破解)就意味着失去所有资产。

  • 签名算法少,不同签名算法带来不同的性能损耗,乃至于链上存储的成本。

  • 签名权限高,EOA 原生的私钥有这一切的权利。

  • 复杂交易的手续费高,手续费只能通过 ETH 支付,任意交易,单一的操作都需要至少 21000 的基础费用。

  • 交易无隐私,即使曾经有Circle提出的机密 ERC-20 协议,但并未成为主流。

归根究底,如今的区块链世界,对出入其中的用户太过于复杂了,用户需要理解Gas price、Gas limit、事务阻塞(Nonce 顺序)这些概念,对常规用户隐藏掉复杂的信息,这就是 EIP-7702 最终要解决的问题。

ERC-4337以及EIP-7702的核心区别?

围绕AA为目标,其实有十余种不同提案,笔者此前已有探究。其实整体梳理下来,本质是两种路线:

路线一:让 EOA 地址驱动 CA 地址

ERC-4337 就是这方面的典型,一句话总结是:提出新的事务对象 UserOperation,用户将此对象发送到内存池中,以 bundlers 的形式,批量打包指令,通过交付合约来逐个执行交易事务。本质上是把底层的交易与账户运作拉到合约层面执行。

执行原理如下图:

账户抽象10年演进终局之战,透过EIP-7702看过去与未来

通过 bundler 这个角色,可以说这套方案对于批量交易、免gas、签名算法少等等问题,都可以得到解决。但是他解决不了的是复杂度与用户交易成本,以及bundler 和 EntryPoint 的单点故障风险。

因为一旦用户迁移到了 ERC-4337 ,那么即使是上图中 user2 的需求,只是做一笔 Transfer 的交易,那么用户交易手续费也对比 EOA 而言是翻了一倍。

从 CA 以及 EOA 的最新用户量数据可以看出来,就算有的用户是个高端玩家,非常依赖于链上 CA 为主体的各类操作,批量 Call 等,但是如果这样为何不直接用普通CA呢?

账户抽象10年演进终局之战,透过EIP-7702看过去与未来

源于 bundler 的设计,让他可以避免硬分叉级别的升级,直接在应用层上推出,但 ERC-4337 也带来了翻倍的成本支出单点故障风险,以及用户也失去了 EOA 原有的灵活性。所以面对多元的用户需求,显然当前市场的用户并不那么青睐于ERC-4337 的方案,发展2年以来整体趋势下跌显著,即使巅峰用户数量面对以太坊 300M 的独立地址地址数而言,相隔甚远。

当然我们不是在苛责ERC-4337的不足,而是伴随其发展,在其上发展的 Paymaster、Gas 抽象等角色和概念,其实也在 EIP-7702 中再一次得到应用。

笔者认为,任何行业的发展,不会是一蹴而就的,重要的是从过往的兴衰中,能够发现规律与总结经验。

路线二:让 EOA 地址变为 CA 地址

其实早在2015年11月,Vitalik 就提出 EIP-101,以合约作为账户的新结构。将地址改为只有代码和存储空间,改变手续费支持由 ERC20 支付,通过预编译合约将原生代币改为类 ERC20 来存余额(可具备代扣授权等功能)。在2018年01月,又有 EIP-859 方案,核心作用是如果出现了若交易方合约未部署,则使用交易附带 code 参数执行合约钱包部署。最终,从 EIP-3074 的方案中,进一步推演出的 EIP-7702 ,最终纳入以太坊主网!

EIP-7702 的理念与效果其实很简单,它通过新的交易类型来完成初始化,在后续用户可以允许 EOA 在单笔交易中临时的、可选的具备智能合约的功能,进而支持业务上进行批量交易、无 Gas 交易和自定义权限管理等,其中最关键的能力,就是让用户具有了临时与可选的空间。

并且多人可以共享同一个逻辑合约,进而大幅度降低用户迁移的成本,用户要完成 EIP-7702 的设置,只需要 8W的 Gas,大概是 0.06 美金,而要再次设置新的合约或者取消设置逻辑合约,则只需要 4W Gas。

完成设置后,就可以显著会在批量交易的时候,带来用户大幅度的 gas 优化,看下表格:

账户抽象10年演进终局之战,透过EIP-7702看过去与未来

当然你可能会觉得,有必要做两次,甚至六次 Token Transfer 吗?

常规用户已经习惯一次交易做一件事情的情况下,看似场景不多,但是在类似 Web3 Game、Web3 Pay 此类多元化应用场景中,其实会很经常出现,比如同时用铜币(游戏内产生货币)和银币(用户充值货币)一起消费的情况。或者说参加某种活动,同时消耗 NFT 门票以及入场费。

就算我们不去遐想复杂的场景,回归如今链上最主流的 Swap 需求,同样也有 approve 与 Transfer 批量的需求。甚至,如今可以做一个小工具,简单的帮用户快速的删除其已经无用的 approve 授权。效果很容易对比出来,显然,成本可以直接减少 40%左右。

EIP-7702的核心原理

要探究为何有这样效果,就要回归他的原理,其实他的核心就是2个逻辑,分为用户设置环节 以及日常使用环节

设置逻辑合约环节

核心流程如下:

  • 第一步:签名授权,通过原始EOA的私钥,签署一个特殊的哈希字符串,内容是通过编码了 chain_id, address, nonce 构成的,这里 Address 就是最终要设置的逻辑合约的地址,而 Nonce 则是确保交易不被重放的策略。

  • 第二步:签名交易,有了第一步的授权信息后,任何人均可以再构建出一笔类型为4 的交易,可以包含多个授权信息,一次性为多个地址统一进行授权设置。

  • 第三步:广播上链,那么在交易处理完内部 Authorization 的时候,逻辑合约就已然生效。

这里还有更多技术上细节的地方,可以参考:okx 开源js sdk的实现,来看到底层数据编码的过程。当然,这套方案,其实亦有隐藏一些安全的隐患和复杂性,我们下文会详细的讲述。

执行逻辑合约环节

当你完成了设置,那么当任何交易 To 地址指向你的时候,那将会和调用智能合约一样,系统会将你原本设置的逻辑合约的代码,"加载"到你当前 EOA 的状态中去执行其逻辑。

同样我们用2个场景来查看:

第一种,你自己来调用你自己

假如你设置的是如 OKX 7702 Smart Contract 合约一样具有高度安全以及自定义控制能力,那么你可以通过提前编写好的calldata指定,让你当前的操作一次性完成多重指令。比如你可以同时完成 Approve+Transfer,也可以同时完成Approve+Swap。

千万别小瞧,在目前总计 27 亿笔以太坊交易中,Approve 大概为 75 M 笔,按每笔 8W Gas计算,则有 46W 个ETH消耗,按1700美金的 ETH 市价计算,则是接近8亿美金。

第二种,别人来调用你

曾经以太坊不存在别人调用 EOA 地址的情况,但是现在你就是一个万能的合约,完全可以自定义,你可以开辟子账户分权限,也可以给与少数 Paymaster 设置白名单,许可 DApp 的指定账户,来代替你发起一些交易,从而完全免除传统区块链应用中需要反复弹出签名的窗境。

多么强大的能力啊!所以这也是几乎全

此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 5
  • 分享
评论
0/400
薛定谔1空投vip
· 07-01 19:49
区块链大事件啊
回复0
SellTheBouncevip
· 07-01 17:30
又是必须要升级的点
回复0
DeFi老韭菜vip
· 07-01 17:26
期待未来去中心化
回复0
BrokenYieldvip
· 07-01 17:14
终于迎来大爆发了
回复0
鲸鱼观察员vip
· 07-01 17:06
这必成未来趋势
回复0
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)