📢 Gate廣場專屬 #WXTM创作大赛# 正式開啓!
聚焦 CandyDrop 第59期 —— MinoTari (WXTM),總獎池 70,000 枚 WXTM 等你贏!
🎯 關於 MinoTari (WXTM)
Tari 是一個以數字資產爲核心的區塊鏈協議,由 Rust 構建,致力於爲創作者提供設計全新數字體驗的平台。
通過 Tari,數字稀缺資產(如收藏品、遊戲資產等)將成爲創作者拓展商業價值的新方式。
🎨 活動時間:
2025年8月7日 17:00 - 8月12日 24:00(UTC+8)
📌 參與方式:
在 Gate廣場發布與 WXTM 或相關活動(充值 / 交易 / CandyDrop)相關的原創內容
內容不少於 100 字,形式不限(觀點分析、教程分享、圖文創意等)
添加標籤: #WXTM创作大赛# 和 #WXTM#
附本人活動截圖(如充值記錄、交易頁面或 CandyDrop 報名圖)
🏆 獎勵設置(共計 70,000 枚 WXTM):
一等獎(1名):20,000 枚 WXTM
二等獎(3名):10,000 枚 WXTM
三等獎(10名):2,000 枚 WXTM
📋 評選標準:
內容質量(主題相關、邏輯清晰、有深度)
用戶互動熱度(點讚、評論)
附帶參與截圖者優先
📄 活動說明:
內容必須原創,禁止抄襲和小號刷量行爲
獲獎用戶需完成 Gate廣場實名
EIP-7702: 以太坊帳戶抽象的重大突破
深入解析以太坊帳戶抽象賽道的歷史與未來
前言
本文分爲兩大板塊:
上半部分從2015年的第一個AA提案出發,系統梳理了目前爲止的EIP提案主要內容,希望通過歷史視角探究AA歷史提案的發展歷程,並全面評價各方案的優缺點。
下半部分重點對比EIP4337推出後面臨的市場冷淡反應,深入分析即將納入以太坊下一版本升級的EIP7702。該提案一旦合並,將全面改變鏈上應用形態。
EIP-7702具有劃時代意義,讓我們一起詳細探討。
1. 帳戶抽象的背景
1.1 帳戶抽象的意義定位
以太坊創始人Vitalik在2023年底再次更新ETH發展路線圖,其中關於帳戶抽象的設定保持不變。當前主流模式正從EIP-4337邁入下一階段"自願轉換EOA帳戶"。
在EIP4337推出一年多後(2023年3月1日於丹佛WalletCon上,官方宣布以太坊基金會開發人員設計實現的ERC-4337核心合約已通過OpenZeppelin審計,被認爲是正式推出的歷史節點),市場呈現出用戶廣泛認可但不廣泛使用的矛盾狀態。這種環境下,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)設計會衍生出更多問題:
私鑰難保護:用戶丟失私鑰(遺失、黑客攻擊、密碼學破解)意味着失去所有資產。
籤名算法單一:原生協議交易驗證只能使用ECDSA籤名和驗籤算法。
籤名權限過高:無原生多籤(多籤只能通過智能合約實現),單籤即可執行任意操作。
交易手續費只能用ETH支付,不支持批量交易。
交易隱私泄露:一對一交易易於分析帳戶持有者隱私信息。
這些限制導致普通用戶難以使用以太坊:
首先,使用以太坊上的任何應用,用戶都必須持有以太(並承擔價格波動風險)。
其次,用戶需要處理復雜的費用邏輯,Gas price、Gas limit、交易阻塞(Nonce順序)等概念對用戶而言過於復雜。
最後,雖然許多區塊鏈錢包或應用試圖通過產品優化提升用戶體驗,但效果有限。
因此,突破口在於實現帳戶抽象,將所有權(Owner)和籤名權(Signer)解耦,從而逐步解決上述問題。
歷史上提出了多種方案,最終匯聚爲兩種路線。
3. AA歷史提案脈絡梳理
3.1 第一種路線:將EOA地址轉變爲CA地址
2015年11月15日,Vitalik在EIP-101中提出以合約作爲帳戶的新結構。將地址改爲只有代碼和存儲空間,改變手續費支持由ERC20支付,通過預編譯合約將原生代幣改爲類ERC20存儲餘額(具備代扣授權等功能),將交易字段精簡爲to、startgas、data和code。
這一提案可視爲大躍進式變革,會大幅改動底層設計,讓每個帳戶地址都擁有自己的"代碼"邏輯(也正是當前EIP-7702要實現的效果)。
它還能衍生出其他功能,如:
交易使用更多加密算法,可由各地址內部Code指定驗籤鑑權方法
具備抗量子攻擊特性,因爲代碼可升級
讓以太幣具備與ERC20合約一致的功能特性,核心效果是實現代扣授權,無需消耗原生幣
提升帳戶的自定義空間,兼容社交恢復、SBT支持、密鑰找回等
未能繼續推進的原因很簡單,顯然步伐太大,對當前交易哈希衝突問題、安全性隱患考慮不周,因此一直擱置。但每個優點理念都成爲後續EIP4337和EIP7702的核心功能之一。
之後還有一系列EIP試圖完善這種邏輯:
EIP-859:主鏈帳戶抽象(2018-01-30)
試圖解決Code部署問題,核心作用是,如果交易方合約未部署,則使用交易附帶code參數執行合約錢包部署。其次還提出新的PAYGAS操作碼,除支付gas外,也作爲交易參數中驗證部分與執行部分的分隔符。
雖然當時未能落地,但這也成爲現在EIP7702的核心邏輯之一。EIP7702的每筆交易結合特殊交易結構,可附帶一定代碼,從而在本次交易中讓EOA地址擁有合約能力。
EIP-7702:設置EOA帳戶代碼(2024-05-07)
這也是本文後續討論機制的核心EIP,由Vitalik提出作爲EIP-3074的替代方案。因此EIP-3074被棄用,EIP-7702確定將在即將到來的ETH Prague/Electra(Pectra)硬分叉中納入,具體內容我們稍後展開。
3.2 第二種路線:讓EOA地址驅動CA地址
EIP-3074:增加AUTH和AUTHCALL操作碼(2020-10-15)
在EVM中加入兩個新的OpCodes AUTH和AUTHCALL,讓EOA能通過這兩個opcode授權合約代替EOA身分調用其他合約。
概括來說,EOA能將已籤名的消息(交易)發送至自己信任的合約(稱爲Invoker)上,此Invoker合約可利用AUTH和AUTHCALL操作碼代替該EOA發送交易。
EIP-4337:用交易內存池實現帳戶抽象(2021-09-29)
受MEV啓發設計,其核心價值是可以完全避免共識層協議更改。
EIP4337提出新的交易對象UserOperation,用戶將此對象發送到內存池中,由bundlers從礦工維度批量打包交付合約執行交易事務,本質上是將底層交易與帳戶運作拉到合約層面執行。
EIP-5189:通過背書人操作抽象帳戶(2022-06-29)
這是對EIP4337邏輯的優化,面對惡意Bundler通過建立資金罰款背書endorser機制來防止DoS阻塞攻擊。
3.3 其他支持AA的提案
EIP-2718:新交易類型的包裝信封(2020-06-13)
這是一個已經Final的提案,定義新的交易類型,作爲未來新增交易類型的信封。
最終效果是,引入新交易類型時,通過特定編碼區分交易種類,只需向後兼容,無需向前兼容。最常見例子是EIP1559,區分了交易手續費,使用新的交易類型編碼,又不影響最初的legacy交易類型。
EIP-3607:禁止EOA地址部署合約(2021-06-10)
這是AA路徑上的補充方案,用於防止合約部署地址與EOA地址衝突。它會控制合約生成方法,禁止系統將代碼部署到已經是EOA地址的地址上。這個風險其實很小,畢竟以太坊地址有160位長,雖然存在用私鑰碰撞出指定合約地址私鑰的方法,但以比特幣全網算力估計,也需要一年時間。
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]元組:
從籤名r、s中採用ecrecover恢復出籤名者地址(注意這是以太坊本身的機制,所以該EIP沒有改變籤名算法)。 authority = ecrecover(keccak(MAGIC || rlp([chain_id, address, nonce])), y_parity, r, s](與之前解籤名得出from地址類似,這裏得出的是針對這個list的局部籤名地址)
驗證鏈ID(防分叉鏈重放)。
驗證authority籤名者的代碼是否爲空或已經委托(驗