以太坊帳戶抽象進化史:從EIP4337到EIP7702的革命性變革

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

前言

本文分爲兩大部分:

上半部分從2015年的首個帳戶抽象(AA)提案出發,系統梳理了目前爲止的EIP提案主要內容,回顧AA歷史提案的發展歷程,並對各方案進行綜合評價。

下半部分重點對比了EIP4337提出後面臨的市場低迷反饋,深入分析即將納入以太坊下一版本升級的EIP7702。這一提案一旦合並,將全方位改變鏈上應用形態。

EIP-7702具有劃時代意義,讓我們深入了解其細節。

1. 帳戶抽象的背景

1.1 帳戶抽象的意義定位

以太坊創始人Vitalik在2023年底更新ETH發展路線圖時,對帳戶抽象的設定並未改變。當前主流模式正從EIP-4337,步入下一階段的自願轉換EOA帳戶。

在EIP4337推出一年多後(2023年3月1日在丹佛WalletCon上正式宣布),該方案得到用戶廣泛認可但未被廣泛使用。在這種矛盾的市場環境下,EIP-7702的進度被大幅提前,已確定將在下一次升級中合並。

1.2 帳戶抽象的市場現狀

經過一年半發展,EIP4337在主流鏈上的帳戶數僅1200萬,其中以太坊主網上活躍地址僅6,764個。相比之下,以太坊主網獨立地址數已達2.7億。可以說EIP4337在主網上幾乎沒有實質性發展。

然而,這並不影響AA的本質價值。EIP4337的設計注定了它難以解決主網的向前兼容性問題。隨着各類L2原生支持AA,EIP4337在L2上獲得爆發式增長,其中Base和Polygon鏈的7月月活分別達到100萬和300萬。

因此,EIP4337的設計並非錯誤,它有很多優點。當前現狀源於主網與L2之間的差異,它們需要各自適合的解決方案。

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

2. 什麼是帳戶抽象?

帳戶抽象本質上解決的是產權分離問題。

以太坊虛擬機(EVM)架構中有兩種帳戶:外部帳戶(EOA)和合約帳戶(Contract Account)。在外部帳戶中,所有權和籤名權由同一實體持有。持有私鑰的人不僅擁有帳戶的"所有權",還有權"籤名轉移所有資產"。

這是由以太坊帳戶交易結構決定的。以太坊的標準交易結構中實際上沒有From字段,資金轉帳的具體消費地址是通過VRS參數(用戶籤名)反向解析得出的。

這種設計導致了當前EOA地址的產權合並困境。而EIP4337的核心效果是在交易字段中增加Sender Address字段,從而實現私鑰與被操作地址的分離。

產權分離的重要性在於解決外部帳戶(EOA)設計帶來的諸多問題:

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

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

  • 用戶必須持有ETH並承擔價格波動風險。
  • 用戶需要處理復雜的Gas費用邏輯。
  • 錢包或應用的產品優化效果有限。

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

歷史上提出了多種方案,最終匯聚爲兩種主要路線。

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

3. AA歷史提案脈絡梳理

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

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

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

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

這一方案可以帶來諸多優勢:

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

但由於變革過於激進,對當時的交易哈希衝突和安全性考慮不周,該方案一直擱置。不過,其中的許多理念成爲後續EIP4337和EIP7702的核心功能。

後續還有一系列EIP試圖完善這一思路:

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

  • 解決代碼部署問題
  • 提出PAYGAS操作碼,作爲交易參數中驗證部分與執行部分的分隔符

EIP-7702:設置EOA帳戶代碼(2024-05-07)

  • 由Vitalik提出,作爲EIP-3074的替代方案
  • 已確定將在即將到來的ETH Prague/Electra硬分叉中納入

3.2 第二種路線:讓EOA地址驅動CA地址

EIP-3074:增加AUTH和AUTHCALL操作碼(2020-10-15)

  • 在EVM中加入兩個新操作碼,允許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)

  • 定義新的交易類型,作爲未來新增交易類型的信封
  • 允許引入新交易類型時只需向後兼容,無需向前兼容

EIP-3607:禁止EOA地址部署合約(2021-06-10)

  • 防止合約部署地址與EOA地址衝突
  • 禁止將代碼部署到已是EOA地址的地址上

3.4 如何理解帳戶抽象發展歷程?

轉爲CA後的主要價值體現在EIP-4337的實際效果:

然而,EIP-4337的核心缺點是違背人性動機原則:

  • 許多Dapp尚未兼容,用戶不願使用CA地址
  • 使用CA可能增加交易成本
  • 過度依賴Dapp的兼容性

這導致EIP-4337在以太坊主網上一直未能普及。

降低成本是用戶最關心的標準。要真正降低Gas費,就必須通過以太坊軟分叉升級,修改Gas計算或操作碼Gas消耗等模塊。既然要進行軟分叉,不如直接考慮EIP-7702。

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

4. 全面解析EIP-7702

4.1 EIP-7702簡介

EIP-7702通過新的交易類型,允許EOA在單筆交易中臨時具備智能合約功能,從而支持批量交易、無Gas交易和自定義權限管理等,且無需引入新的EVM操作碼。

它使用戶無需部署智能合約即可獲得大部分AA能力,甚至可以提供第三方代用戶發起交易的能力,只需籤名授權信息而無需提供私鑰。

4.2 數據結構

EIP-7702定義了新的交易類型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中的每個元組進行以下步驟:

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

4.3.2 執行操作階段

執行合約代碼和操作指令時:

  • 從authorization_list的address字段指定地址加載代碼
  • 在籤名者帳戶上下文中執行
  • 合約代碼存儲在鏈上特定地址,而非直接包含在交易中
  • 操作指令和相關參數存儲在交易負載的data字段

4.4 EIP-7702的價值

EIP-7702將對Web3錢包全鏈路產生變革,顯著改善用戶體驗。EOA發起的普通交易也可執行多種合約邏輯,如批量轉帳。這會影響CeFi場景的交易鑑別和衝提歸集手續費。

它打破了多個既有定勢:

  1. 帳戶餘額不再僅因源自該帳戶的交易而減少
  2. 交易執行開始後EOA nonce不再只增加1
  3. tx.origin和msg.sender兩個比對的防護邏輯失效
  4. EOA可發出事件,影響鏈上事件識別監聽
  5. EOA地址接收ERC20、721、1155等資產不再必然成功

4.5 EIP-7702與EIP-4337對比

EIP-7702優勢:

  • Gas成本更低,無需經過entrypoint模塊
  • 用戶遷移成本更低,無需提前部署鏈上合約
  • 與EIP-4337相似,支持代碼委托執行:
    • 完全委托:將某操作全部權限委托給特定地址
    • 受保護委托:在委托過程中增加限制和保護措施

EIP-7702缺點:

  • 需要軟分叉升級,改動巨大,對鏈上生態影響廣泛
  • 自由度高,難以審計,用戶更需可靠錢包提供安全保護
  • 對原架構變化大,許多基礎設施和不可改合約難以直接適配
  • 爲EOA地址提供合約能力,但對應存儲空間無法保留
  • 單獨交易成本略高,增加Calldata部分
  • 接收者簽署無接收功能代碼可能導致資產發送DoS
  • 鏈上充提邏輯可能不一致
  • EOA能發出事件可能帶來新問題

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

5. 總結

帳戶抽象目前被放在以太坊發展路線圖的第六模塊"修復一切"中。加快EIP-7702進度主要帶來

ETH2.4%
查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 7
  • 分享
留言
0/400
闪电手续费vip
· 07-11 01:32
又一轮牺牲效率的升级 矿工笑哭了
回復0
NFT悔改者vip
· 07-10 18:13
你以为EIP7702就能救活AA了?
回復0
Sandwich Huntervip
· 07-10 11:28
又看不懂又想学 占个位
回復0
SatoshiNotNakamotovip
· 07-08 02:04
又来割韭菜了
回復0
GasFeePhobiavip
· 07-08 02:03
啊tmd gas费又开始涨了
回復0
LayerHoppervip
· 07-08 02:01
呜呜这路线图一点没变 7702单抗冲啊
回復0
社区混子王vip
· 07-08 01:39
我的见底了又双叒升了
回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)