📢 Gate广场 #NERO发帖挑战# 秀观点赢大奖活动火热开启!
Gate NERO生态周来袭!发帖秀出NERO项目洞察和活动实用攻略,瓜分30,000NERO!
💰️ 15位优质发帖用户 * 2,000枚NERO每人
如何参与:
1️⃣ 调研NERO项目
对NERO的基本面、社区治理、发展目标、代币经济模型等方面进行研究,分享你对项目的深度研究。
2️⃣ 参与并分享真实体验
参与NERO生态周相关活动,并晒出你的参与截图、收益图或实用教程。可以是收益展示、简明易懂的新手攻略、小窍门,也可以是行情点位分析,内容详实优先。
3️⃣ 鼓励带新互动
如果你的帖子吸引到他人参与活动,或者有好友评论“已参与/已交易”,将大幅提升你的获奖概率!
NERO热门活动(帖文需附以下活动链接):
NERO Chain (NERO) 生态周:Gate 已上线 NERO 现货交易,为回馈平台用户,HODLer Airdrop、Launchpool、CandyDrop、余币宝已上线 NERO,邀您体验。参与攻略见公告:https://www.gate.com/announcements/article/46284
高质量帖子Tips:
教程越详细、图片越直观、互动量越高,获奖几率越大!
市场见解独到、真实参与经历、有带新互动者,评选将优先考虑。
帖子需原创,字数不少于250字,且需获得至少3条有效互动
EIP-7702: 账户抽象的革命性突破与以太坊未来发展方向
深入解析以太坊账户抽象的演进历程与未来展望
前言
本文分为两大部分:
第一部分将从2015年首个AA提案出发,系统梳理迄今为止的主要EIP提案内容,追溯AA历史提案的发展历程,并综合评价各方案的优缺点。
第二部分重点对比EIP4337提出后面临的市场低迷反馈,深入分析即将纳入以太坊下一版本升级的EIP7702。该提案一旦合并,将全方位改变链上应用形态。
EIP-7702具有划时代意义,让我们详细探讨。
1. 账户抽象的背景
1.1 账户抽象的意义定位
以太坊创始人Vitalik在2023年底再次更新ETH发展路线图,但账户抽象相关设定未做改动。当前主流模式正从EIP-4337步入下一阶段:自愿转换EOA账户。
在EIP4337推出一年多后(2023年3月1日官方宣布通过审计),用户广泛认可但未广泛使用的矛盾市场环境下,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)和合约账户(Contract Account)。外部账户的所有权和签名权由同一主体持有。持有私钥的人不仅拥有账户"所有权",还有权"签名转移所有资产"。
这由以太坊账户交易结构决定。标准交易结构中没有From字段,资金转账实际通过VRS参数(用户签名)反解析出From地址。这涉及ECDSA等非对称加密和单向门限函数等概念,由密码学保障安全性,但也导致了当前EOA地址产权合并的困境。
EIP4337核心效果是在交易字段中增加Sender Address,实现私钥与被操作地址的分离。
产权分离的重要性在于解决外部账户(EOA)设计衍生的诸多问题:
这些限制使普通用户难以使用以太坊:
破局之道在于实现账户抽象,将所有权(Owner)和签名权(Signer)解耦,从而逐步解决上述问题。
历史方案虽多,最终归结为两种路线。
3. AA历史提案脉络梳理
问题解决方案看似有多个EIP提案,但归根结底只有两种核心思路。每个未通过的EIP考虑的问题都融入了现有方案的突破点。
3.1 第一种路线:将EOA地址转为CA地址
早在2015年11月15日,Vitalik就在EIP-101中提出以合约作为账户的新结构。主要变更包括:
这一方案堪称大跃进式变革,将大幅改动底层设计,使每个账户地址都拥有自身的"代码"逻辑(正是EIP-7702要实现的效果)。
衍生功能包括:
未能继续推进的原因显而易见:步子迈得太大,对当前交易哈希冲突问题和安全性隐患考虑不周,因此搁置。但每个优点理念都成为后续EIP4337和EIP7702的核心功能之一。
后续一系列EIP试图完善这一逻辑:
EIP-859(2018-01-30):主链账户抽象
虽然当时未果,但成为EIP7702的核心逻辑之一。EIP7702的每笔交易结合特殊交易结构,可附带一定代码,使EOA地址在本次交易中具备合约能力。
EIP-7702(2024-05-07):设置EOA账户代码 作为EIP-3074的替代方案,EIP-7702已确定将在即将到来的ETH Prague/Electra硬分叉中纳入。
3.2 第二种路线:让EOA地址驱动CA地址
EIP-3074(2020-10-15):增加AUTH和AUTHCALL操作码 在EVM中加入两个新操作码,允许EOA通过这些opcode授权合约代替EOA身份调用其他合约。
EIP-4337(2021-09-29):用交易内存池实现账户抽象 受MEV启发设计,核心价值在于完全避免共识层协议更改。提出新的事务对象UserOperation,用户将此对象发送到内存池,由bundlers批量打包交付合约执行交易事务,本质上是将底层交易与账户运作拉到合约层面执行。
EIP-5189(2022-06-29):通过背书人操作抽象账户 优化EIP4337逻辑,通过建立资金罚款背书endorser机制防止DoS阻塞攻击。
3.3 其他支持AA的提案
EIP-2718(2020-06-13):新交易类型的包装信封 已最终确定的提案,定义新交易类型作为未来新增交易类型的信封。引入新交易类型时,通过特定编码区分,实现向后兼容而无需向前兼容。如EIP1559区分了交易手续费,使用新交易类型编码,不影响最初的legacy交易类型。
EIP-3607(2021-06-10):禁止EOA地址部署合约 AA路径上的补充方案,防止合约部署地址与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编码序列化结果:
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的[chain_id, address, nonce, y_parity, r, s]元组:
4.3.2 执行操作阶段
新版本仅更改代码部署行为。不再将账户代码设为contract_code,而是从authorization_list中检索address指定的代码并设为账户代码。
执行授权代码时,从authorization_list的address字段指定地址加载代码,在签名者账户上下文中执行。
用户合约代码实际存储在链上特定地址,而非直接包含在交易中。操作指令和相关参数存储在交易负载的data字段。
4.4 EIP-7702的价值
对Web3钱包全链路产生变化,极大改善用户体验。EOA发起普通交易可执行多种合约逻辑,如批量transfer。影响CeFi场景交易鉴别、冲提归集手续费等。
打破多个既有定势:
4.5 EIP-7702与EIP-4337对比
EIP-7702优势: