📢 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-4337到EIP-7702的重大突破
深入解读以太坊账户抽象的演进之路
前言
本文分为两大部分:
第一部分从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地址数。以太坊主网上EIP4337基本没有实质性发展。
不过,这并不影响AA的本质价值。EIP4337设计之初就决定了它难以解决主网向前兼容性问题。随着各L2链嵌入原生AA,EIP4337地址数在L2上获得爆发,其中Base和Polygon链7月活跃用户分别达到100万和300万。
因此,EIP4337设计并无错误,它有很多优点。当前状况源于主网与L2之间的差异,它们需要各自适合的方案。
2. 什么是账户抽象?
账户抽象本质上解决的是产权分离问题。
EVM架构中有两种账户:外部账户(EOA)和合约账户(CA)。外部账户的所有权和签名权实际上由同一实体持有。持有私钥的人不仅拥有账户"所有权",还有权"签名转移所有资产"。
这是由以太坊账户交易结构决定的。标准交易中没有From字段,资金转账实际是通过VRS参数(用户签名)反解析出From地址。这造成了当前EOA地址产权合并的困境。
EIP4337的核心效果是在交易字段中增加Sender Address,从而将私钥与被操作地址分离。
产权分离很重要,因为外部账户(EOA)设计会衍生出更多问题:
私钥难保护:丢失私钥意味着失去所有资产。
签名算法单一:原生协议只能使用ECDSA签名验证。
签名权限过高:无原生多签,单签即可执行任意操作。
交易手续费只能用ETH支付,不支持批量交易。
交易隐私泄露:一对一交易易分析账户持有者隐私信息。
这些限制让普通用户难以使用以太坊:
首先,使用以太坊应用需持有ETH并承担价格波动风险。
其次,用户需处理复杂的Gas price、Gas limit、Nonce等概念。
最后,虽然许多钱包试图优化体验,但效果有限。
突破这些限制的关键在于实现账户抽象,将所有权和签名权解耦,从而逐一解决上述问题。
历史上有多种方案,最终归结为两条路线。
3. AA历史提案脉络梳理
问题的解法看似有很多EIP提案,但归根结底就是两种核心思路。每个未通过的EIP考虑的问题都融入了现有方案中。
3.1 第一种路线:将EOA地址转为CA地址
2015年11月,Vitalik在EIP-101中提出以合约作为账户的新结构。将地址改为只有代码和存储空间,支持ERC20支付手续费,通过预编译合约将原生代币改为类ERC20存余额,将交易字段精简为to、startgas、data和code。
这是大跃进式变革,会大幅改动底层设计,让每个账户地址都有自己的"代码"逻辑(也是EIP-7702的目标)。
它还能衍生其他功能:
交易使用更多加密算法,由地址内部Code指定验签方法
具备抗量子攻击特性,因为代码可升级
让ETH具备与ERC20一致的功能,如代扣授权
提升账户自定义空间,兼容社交恢复、SBT支持、密钥找回等
未继续推进的原因很简单:步伐太大,对交易哈希冲突和安全性考虑不周。但每个优点理念都成为后续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操作码
在EVM中加入两个新操作码,让EOA授权合约代替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,就必须以太坊本身做软分叉升级。既然要软分叉,不如直接考虑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中执行的代码。
4.3 交易生命周期
4.3.1 验证阶段
4.3.2 执行操作阶段
从authorization_list的address字段指定地址加载代码,在签名者账户上下文中执行。
4.4 EIP-7702的价值
它将改变Web3钱包全链路,大幅提升用户体验。EOA发起的普通交易可执行多种逻辑,如批量transfer。
打破了多个既有定势:
4.5 EIP-7702与EIP-4337对比
EIP-7702优势:
EIP-7702缺点:
5. 总结
账户抽象只能放在"修复一切"模块最后推行。加快EIP7702进度主要带来系统安全性挑战。它最终会实现,因为用户成本更低了。
EIP7702打破了多个链上规则和大多数Dapp逻辑,但核心优势是用户成本更低。用户仍是EOA地址,按需使用CA逻辑,持有和使用成本都降低了。
尽管EIP7702改变很多,但由于成本优势,值得所有Dapp研究适配。这次用户必然站在EIP7702一边。