# 深入解讀以太坊帳號抽象賽道的過去與未來本文分爲兩大部分:上半部分從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地址數。以太坊主網獨立地址數已達2.7億,可見EIP4337在主網上幾乎沒有實質性發展。不過這並不影響AA的本質價值。EIP4337的設計注定難以解決主網的向前兼容問題。隨着各類L2原生嵌入AA,EIP4337地址數在L2上呈爆發式增長,如Base和Polygon鏈7月月活分別達100萬和300萬。因此,EIP4337設計並無問題,當前狀況源於主網與L2的差異,它們需要不同的適用方案。## 2. 帳號抽象是什麼?帳戶抽象本質上解決的是產權分離問題。EVM架構中有外部帳戶(EOA)和合約帳戶(CA)兩種。EOA的所有權和籤名權實際由同一主體持有。擁有私鑰的人不僅擁有帳戶"所有權",還能"籤名轉移所有資產"。這是由以太坊帳號交易結構決定的。標準交易中沒有From字段,資金轉帳是通過VRS參數(用戶籤名)反解析出From地址。這種密碼學保障的安全性導致了當前EOA地址產權合並的困境。EIP4337的核心效果是在交易字段中增加Sender Address,從而實現私鑰與被操作地址的分離。產權分離如此重要,是因爲EOA設計衍生出諸多問題:1. 私鑰難保護:丟失私鑰意味着失去所有資產2. 籤名算法單一:原生協議只能使用ECDSA算法3. 籤名權限過高:無原生多籤,單籤即可執行任意操作 4. 交易手續費只能用ETH支付,不支持批量交易5. 交易隱私易泄露:一對一交易容易分析帳戶信息這些約束讓普通用戶難以使用以太坊:首先,用戶必須持有ETH並承擔價格波動風險。其次,用戶需處理復雜的費用邏輯。最後,雖然許多錢包試圖優化體驗,但效果有限。因此,突破口在於實現帳戶抽象,將所有權(Owner)和籤名權(Signer)解耦,從而逐步解決上述問題。歷史上有多種方案,最終歸納爲兩條路線。## 3. AA歷史提案脈絡梳理問題的解法看似有多個EIP提案,但歸根結底只有兩種核心思路。每個未通過的EIP考慮的問題都融入了現有方案中。### 3.1 第一種路線:將EOA地址轉爲CA地址2015年11月15日,Vitalik在EIP-101中就提出以合約作爲帳戶的新結構。將地址改爲只有代碼和存儲空間,改變手續費支付方式,通過預編譯合約將原生代幣改爲類ERC20存儲餘額,精簡交易字段。這一大躍進式變革會大幅改動底層設計,讓每個帳戶地址都擁有自己的"代碼"邏輯(也是現在EIP-7702要實現的效果)。衍生功能包括:1. 交易使用更多加密算法2. 具備抗量子攻擊特性 3. 以太幣具備與ERC20一致的功能特性4. 提升帳戶自定義空間未繼續推進是因爲步伐太大,對當前交易哈希衝突和安全性考慮不周,但每個優點理念都成爲後續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操作碼加入兩個新操作碼,讓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,就需以太坊本身做軟分叉升級,修改GAS計算或操作碼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中執行的代碼。用戶簽署交易同時簽署要執行的合約代碼,作爲二維列表存在,可批量存放多個操作信息。authorization_list = [[chain_id, address, nonce, y_parity, r, s], ...]### 4.3 交易生命週期#### 4.3.1 驗證階段交易執行開始時,對每個authorization_list元組:1. 從籤名恢復出籤名者地址2. 驗證鏈ID3. 驗證籤名者代碼是否爲空或已委托4. 驗證籤名者nonce5. 設置籤名者代碼6. 增加籤名者nonce7. 將籤名者帳戶添加到已訪問地址列表#### 4.3.2 執行操作階段新版本更改了代碼部署行爲。從authorization_list的address字段指定地址加載代碼,並在籤名者帳戶上下文中執行。用戶合約代碼存儲在鏈上特定地址,而非直接包含在交易中。操作指令和相關參數存儲在交易負載的data字段中。### 4.4 EIP-7702的價值對Web3錢包全鏈路產生變化,改善用戶體驗。EOA發起普通交易可執行多種邏輯,如批量轉帳。影響CeFi場景交易鑑別和衝提歸集手續費。打破多個既有定勢:1. 帳戶餘額可因非源自該帳戶的交易而減少2. 交易執行開始後EOA nonce可能增加多個3. tx.origin和msg.sender比對防護邏輯失效4. EOA可發出事件5. EOA接收ERC20/721/1155資產可能失敗### 4.5 EIP-7702與EIP-4337對比1. EIP-7702優勢:- gas更低,無需經過entrypoint模塊- 用戶遷移成本更低,無需提前部署鏈上合約- 同樣支持代碼委托執行:完全委托和受保護委托2. EIP-7702缺點:- 屬軟分叉升級,需共識推動,改動巨大- 自由度高,難審計,用戶更需可靠錢包保護- 對原架構變化大,many基建難直接適配- EOA獲得合約能力,但存儲空間無法留存- 單獨交易成本略高,增加Calldata部分- 接收者簽署無接收功能代碼可能導致DoS- 鏈上充提邏輯可能不一致- EOA發出事件可能引發問題這些缺點基於目前EIP7702提案內容總結,最終實現可能有變化。## 5. 總結帳戶抽象目前只能放在"修復一切"模塊最後推行。加快EIP7702進度主要帶來系統安全性挑戰。雖然改變巨大,但由於降低了用戶成本,值得所有Dapp研究適配。用戶終將站在EIP7702一邊。
EIP7702: 以太坊帳戶抽象的重大突破與未來展望
深入解讀以太坊帳號抽象賽道的過去與未來
本文分爲兩大部分:
上半部分從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地址數。以太坊主網獨立地址數已達2.7億,可見EIP4337在主網上幾乎沒有實質性發展。
不過這並不影響AA的本質價值。EIP4337的設計注定難以解決主網的向前兼容問題。隨着各類L2原生嵌入AA,EIP4337地址數在L2上呈爆發式增長,如Base和Polygon鏈7月月活分別達100萬和300萬。
因此,EIP4337設計並無問題,當前狀況源於主網與L2的差異,它們需要不同的適用方案。
2. 帳號抽象是什麼?
帳戶抽象本質上解決的是產權分離問題。
EVM架構中有外部帳戶(EOA)和合約帳戶(CA)兩種。EOA的所有權和籤名權實際由同一主體持有。擁有私鑰的人不僅擁有帳戶"所有權",還能"籤名轉移所有資產"。
這是由以太坊帳號交易結構決定的。標準交易中沒有From字段,資金轉帳是通過VRS參數(用戶籤名)反解析出From地址。這種密碼學保障的安全性導致了當前EOA地址產權合並的困境。
EIP4337的核心效果是在交易字段中增加Sender Address,從而實現私鑰與被操作地址的分離。
產權分離如此重要,是因爲EOA設計衍生出諸多問題:
這些約束讓普通用戶難以使用以太坊:
首先,用戶必須持有ETH並承擔價格波動風險。 其次,用戶需處理復雜的費用邏輯。 最後,雖然許多錢包試圖優化體驗,但效果有限。
因此,突破口在於實現帳戶抽象,將所有權(Owner)和籤名權(Signer)解耦,從而逐步解決上述問題。
歷史上有多種方案,最終歸納爲兩條路線。
3. AA歷史提案脈絡梳理
問題的解法看似有多個EIP提案,但歸根結底只有兩種核心思路。每個未通過的EIP考慮的問題都融入了現有方案中。
3.1 第一種路線:將EOA地址轉爲CA地址
2015年11月15日,Vitalik在EIP-101中就提出以合約作爲帳戶的新結構。將地址改爲只有代碼和存儲空間,改變手續費支付方式,通過預編譯合約將原生代幣改爲類ERC20存儲餘額,精簡交易字段。
這一大躍進式變革會大幅改動底層設計,讓每個帳戶地址都擁有自己的"代碼"邏輯(也是現在EIP-7702要實現的效果)。
衍生功能包括:
未繼續推進是因爲步伐太大,對當前交易哈希衝突和安全性考慮不周,但每個優點理念都成爲後續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操作碼 加入兩個新操作碼,讓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,就需以太坊本身做軟分叉升級,修改GAS計算或操作碼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中執行的代碼。用戶簽署交易同時簽署要執行的合約代碼,作爲二維列表存在,可批量存放多個操作信息。
authorization_list = [[chain_id, address, nonce, y_parity, r, s], ...]
4.3 交易生命週期
4.3.1 驗證階段
交易執行開始時,對每個authorization_list元組:
4.3.2 執行操作階段
新版本更改了代碼部署行爲。從authorization_list的address字段指定地址加載代碼,並在籤名者帳戶上下文中執行。
用戶合約代碼存儲在鏈上特定地址,而非直接包含在交易中。操作指令和相關參數存儲在交易負載的data字段中。
4.4 EIP-7702的價值
對Web3錢包全鏈路產生變化,改善用戶體驗。EOA發起普通交易可執行多種邏輯,如批量轉帳。影響CeFi場景交易鑑別和衝提歸集手續費。
打破多個既有定勢:
4.5 EIP-7702與EIP-4337對比
這些缺點基於目前EIP7702提案內容總結,最終實現可能有變化。
5. 總結
帳戶抽象目前只能放在"修復一切"模塊最後推行。加快EIP7702進度主要帶來系統安全性挑戰。雖然改變巨大,但由於降低了用戶成本,值得所有Dapp研究適配。用戶終將站在EIP7702一邊。