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)設計衍生的諸多問題:

  1. 私鑰難保護:丟失私鑰意味着失去所有資產。
  2. 籤名算法單一:原生協議僅支持ECDSA籤名驗證。
  3. 籤名權限過高:無原生多籤,單籤可執行任意操作。
  4. 交易手續費只能用ETH支付,不支持批量交易。
  5. 交易隱私泄露:一對一交易易暴露帳戶持有者隱私。

這些限制使普通用戶難以使用以太坊:

  • 使用任何應用都需持有ETH並承擔價格波動風險。
  • 用戶需處理復雜的費用邏輯,如Gas price、Gas limit、Nonce等。
  • 雖然許多錢包試圖通過產品優化提升用戶體驗,但效果有限。

破局之道在於實現帳戶抽象,將所有權(Owner)和籤名權(Signer)解耦,從而逐步解決上述問題。

歷史方案雖多,最終歸結爲兩種路線。

深入解讀以太坊帳號抽象賽道的過去與未來

3. AA歷史提案脈絡梳理

問題解決方案看似有多個EIP提案,但歸根結底只有兩種核心思路。每個未通過的EIP考慮的問題都融入了現有方案的突破點。

3.1 第一種路線:將EOA地址轉爲CA地址

早在2015年11月15日,Vitalik就在EIP-101中提出以合約作爲帳戶的新結構。主要變更包括:

  • 將地址改爲只有代碼和存儲空間
  • 改變手續費支持,允許ERC20代幣支付
  • 通過預編譯合約將原生代幣改爲類ERC20存儲餘額
  • 簡化交易字段,僅保留to、startgas、data和code

這一方案堪稱大躍進式變革,將大幅改動底層設計,使每個帳戶地址都擁有自身的"代碼"邏輯(正是EIP-7702要實現的效果)。

衍生功能包括:

  1. 支持更多加密算法,由地址內部Code指定驗籤方法
  2. 具備抗量子攻擊特性,因代碼可升級
  3. 賦予ETH與ERC20合約一致的功能,如代扣授權
  4. 提升帳戶自定義空間,兼容社交恢復、SBT支持、密鑰找回等

未能繼續推進的原因顯而易見:步子邁得太大,對當前交易哈希衝突問題和安全性隱患考慮不周,因此擱置。但每個優點理念都成爲後續EIP4337和EIP7702的核心功能之一。

後續一系列EIP試圖完善這一邏輯:

EIP-859(2018-01-30):主鏈帳戶抽象

  • 解決Code部署問題:交易方合約未部署時,使用交易附帶code參數執行合約錢包部署
  • 提出新的PAYGAS操作碼,作爲交易參數中驗證與執行部分的分隔符

雖然當時未果,但成爲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的實際效果:

  • 支持批量交易
  • 支持Gas代付
  • 支持帳戶恢復
  • 支持多籤名
  • 支持中繼交易
  • 支持籤名算法升級
  • 支持ERC4337合約錢包
  • 支持第三方代付Gas

然而,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]元組:

  1. 從籤名r、s中用ecrecover恢復籤名者地址
  2. 驗證鏈ID(防分叉鏈重放)
  3. 驗證authority籤名者代碼是否爲空或已委托
  4. 驗證authority籤名者的nonce(防authority籤名重放)
  5. 設置authority籤名者代碼爲0xef0100 || address
  6. 增加authority籤名者nonce(防局部籤名重放)
  7. 將authority籤名者帳戶添加到已訪問地址列表

4.3.2 執行操作階段

新版本僅更改代碼部署行爲。不再將帳戶代碼設爲contract_code,而是從authorization_list中檢索address指定的代碼並設爲帳戶代碼。

執行授權代碼時,從authorization_list的address字段指定地址加載代碼,在籤名者帳戶上下文中執行。

用戶合約代碼實際存儲在鏈上特定地址,而非直接包含在交易中。操作指令和相關參數存儲在交易負載的data字段。

4.4 EIP-7702的價值

對Web3錢包全鏈路產生變化,極大改善用戶體驗。EOA發起普通交易可執行多種合約邏輯,如批量transfer。影響CeFi場景交易鑑別、衝提歸集手續費等。

打破多個既有定勢:

  1. 帳戶餘額可因非源自該帳戶交易而減少
  2. 交易執行開始後EOA nonce可能增加多個
  3. tx.origin和msg.sender比對防護邏輯失效
  4. EOA可發出事件,影響鏈上事件識別監聽
  5. EOA地址接收ERC20、721、1155等資產可能失敗(回調機制)

4.5 EIP-7702與EIP-4337對比

EIP-7702優勢:

  • Gas更低,無需經過entrypoint模塊
  • 用戶遷移成本更低,無需提前部署鏈上合約
  • 同樣支持代碼委托執行,分爲完全
ETH0.45%
查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 7
  • 分享
留言
0/400
retroactive_airdropvip
· 07-28 20:44
标题党 7702有啥新的
回復0
区块链假面骑士vip
· 07-28 15:16
太长了看不动 V神你倒是说人话啊
回復0
Gas_Guzzlervip
· 07-27 22:47
这提案名字也太难记了叭 7702?
回復0
咖啡厅矿工vip
· 07-26 03:35
抽象接口又整新活了 别祸害小白
回復0
末曾在场vip
· 07-26 03:35
又开始吹7702了 真能演进
回復0
ApeWithNoFearvip
· 07-26 03:33
这么久了账户抽象还没整明白...vb你行不行啊
回復0
HashRateHermitvip
· 07-26 03:14
又又又在讲AA 啊烦死
回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)