當我們剛開始投身去中心化金融交易,首先需要的是一個錢包。而在操作鏈上錢包工具的過程中,大多數人可以感知到與我們習慣的用戶體驗並不相同——鏈上錢包可以實現完全託管數字資產,但缺乏賬戶安全保障(如以太坊系統的外部賬戶EOA「Externally Owned Accounts」 和合約賬戶CA「Contract Account」)。

以太坊賬戶抽象的未來——EIP 4337

EOA 和CA 賬戶執行時,外部賬戶的每筆鏈上交易都需要一個EOA 來簽署發起,用戶通過一對密鑰擁有一個EOA 錢包,這個密鑰被稱作signer。由於錢包地址的公鑰屬性,使得EOA 錢包既是賬戶又是signer,這將帶來嚴重的資產安全問題。也就是說signer 對賬戶有著完全控制權,我們可以試想有一天自己丟失了賬戶,而碰巧有人找到了自己的signer,那這個人就擁有了自己的賬戶以及名下的所有數字資產。

以太坊賬戶抽象的未來——EIP 4337

以太坊常見的鏈上自託管錢包EOA & CA 對比

對此,諸多開發者探索了不同基於EOA 和CA 賬戶的技術優化方案。增加資產轉移、合約私密控制、用戶操控等組件,為防止用戶資產丟失絞盡腦汁,但仍存在不少紕漏之處引來各方質疑。知名NFT 項目Bored Ape Yacht Club 就曾曝出數百個NFT 被盜事件,給以太坊用戶本就不好的錢包體驗感“雪上加霜” 。為此,我們將探尋把兩種賬戶優勢合二為一,又克服各自弊端的賬戶抽象方案,看其如何為Web3 時代的錢包工具打造成功範式。

賬戶抽象:全自動一體化支付

現有賬戶體係要求用戶必須安全存儲、保護私鑰/助記詞,否則就會產生丟失數字資產的風險。同時,安全缺失問題也讓很多想投身加密數字交易的用戶望而卻步,甚至阻止鏈上應用的使用功能。那麼解決賬戶錢包安全問題的方案是什麼?是賬戶抽象(Accout Abstraction),一種探索自動化可編程支付,支持自動提取資金的自託管錢包編寫智能合約。

以太坊賬戶抽象的未來——EIP 4337

帳戶抽象可以為用戶提供簡化使用帳戶的能力。就像我們開啟一個網站郵箱賬戶,只需學會操作辦法,而無需通曉工作原理。擁有賬戶抽象,我們可以擺脫助記詞/私鑰等束縛,還可以啟用不同的簽名選項,Gas 費用由DApp 贊助或通過Token 支付等方式實現。

賬戶抽象的最大目標就是解耦signer 和賬戶之間綁定的關係,防止signer 對錢包資產的絕對控制權。簡言之,賬戶抽象實現了交易驗證、執行的一體化過程,轉變為根據用戶需求進行調整的模塊化組件,將EOA 和CA 合二為一

利用EIP 4337 釋放賬戶抽象

明確了發展目標後,Vitalik 和以太坊的核心開發成員不斷起草“賬戶抽象”的解決方案。從最初的EIP 86 到如今的EIP 4337,交易權利進一步釋放到用戶手中,安全風險被高度削弱優化,下一代錢包工具呼之欲出。

發展歷程

以太坊賬戶抽象的未來——EIP 4337

EIP-86,引入智能合約作為“轉發合約”,任何人都可以從入口地址發送交易。
EIP-1014,預測部署合約地址,發揮智能合約錢包作用,確保合約地址在所有EVM 鏈上相同。
EIP-2938,創建全新的操作密碼進行“賬戶抽象”交易,協議變更過大後續被放棄。
EIP-3074,創建兩個全新的操作碼,一起使用時允許智能合約代表EOA 發送交易,但面臨安全風險未被實施。

在以太坊合併路線完成後,更多開發者投身賬戶抽象解決方案的修改制定。 2021 年9 月,Nethermind、Opengsn 研究人員在Vitalik 的幫助下,提出了EIP 4337。這一版本的最大特點是:無需更改任何共識層協議,為以太坊帶來“賬戶抽象”。

運行原理

EIP 4337 不修改共識層本身的邏輯,將當前交易存儲池(tx mempool)的功能複制進更高level 的系統中,這一提案創新地引入了“User Operations”的概念,允許將自定義功能編碼到智能合約錢包,用戶操作可以把意圖、簽名、其他數據打包起來進行驗證。 EIP 4337 的運作流程包含以下三個步驟:

  • User Operations:發起“用戶操作”,通過自定義Mempool 發送。

  • Bundler 打包: Bundler 根據費用優先級選擇包含UserOperation 的對象,利用捆綁器調用EntryPoint 合約進行驗證

  • 運行交易:在上述過程行進中如果沒有遇到任何錯誤,交易將包含在網絡的下一個區塊中實現。

以太坊賬戶抽象的未來——EIP 4337

在EIP 4337 提案的設計思路中,EntryPoint 發揮了驗證賬戶的功能,確保遵循預先指定的規則並執行;Bundler 作為EOA 地址將所有交易提交到鏈上;還可以添加Paymaste 擴展智能合約,實現輔助支持。相較之前幾個版本的解決方案來說,EIP 4337 能夠在進一步減少安全風險的同時,保障交易運行的有序性、穩定性,並不修改共識層相應內容,為開發者和用戶都帶來了操作上的便利和高效。

探析EIP 4337 的優越表現

以太坊賬戶抽象的未來——EIP 4337

安全性能

EIP 4337 應用的首要保障就是過硬的安全性能。用戶使用自定義簽名方案的操作機制,允許在以太坊上為多個簽名者提供原生支持,兩個及以上用戶就可以批准一筆交易,提高安全性。如若用戶不知何故丟失了私人密鑰/賬戶,只需聯繫自己的朋友、家人幫助恢復賬戶即可,這讓EIP 4337 的安全性能相比之前幾版草案有了質的飛躍。

操作自由

EIP 4337 的驗證和交易過程雖被分離成兩個智能合約,但如果錢包合約成功驗證了一筆交易,入口點合約就會自動執行下一個步驟並提交到相應的區塊,開發者和用戶也可以自由地將想要的內容通過自定義功能編入錢包合約(包括多重簽名、社會恢復、抗量子簽名方案等),克服了EOA 僅限於ECDSA 加密方案的局限性。

架構兼容

自由實現自定義功能編入的同時,需要多線程架構的兼容支撐才能達到額外的運行要求。對此,EIP 4337 引入了專門針對抽象賬戶的User Operations(上文提及的“用戶操作”),無論是用於User Operations 的Mempool,還是傳遞Entry Point 智能合約的Bundler,都能夠實現同時並舉,而不會產生高能耗、高費用等額外浪費。如果產生了共識層面改變和網絡硬分叉擠兌現象,增加全新的Mempool 也只需要更新以太坊節點客戶端即可。

費用補貼

捆綁器不僅作為重要節點入駐EIP 4337 的工作流程,還成了“省錢好幫手”。將多個交易、操作捆綁在一起後,批准Token 的支出、交易可作為單一執行節點,擯棄多線程交易的重複成本。此外, Paymaster 功能允許第三方支付某些User Operations 的交易成本,為用戶支付Gas 費用補貼協議使用。無論是用戶還是付款人的賬戶餘額都將伴隨執行循環不斷更新,真正讓“一次交費,多程運作”成為現實。

破困前行,讓EIP 4337 順利打造下一代錢包

抓住以太坊路線合併的紅利,EIP 4337 成了釋放賬戶抽象可能性的“潛力股”。我們可以看到, EIP 4337 改變了舊有鏈上賬戶體驗的不適,成為眾多Web3 應用給予用戶自行保管資產的主要方式,並有更多機會推動項目方大規模採用這一解決方案。這不僅是智能合約錢包熱潮中的關注焦點,也是區塊鏈技術在互聯網時代的重大革新。

然而,EIP 4337 擁有眾多優勢的同時,也需不斷克服自身不足,煥發新的生命力。比如,在執行過程中增加的DoS 漏洞帶來了比單個ECDSA 驗證更為複雜的邏輯;賬戶不能排隊將多個交易發送到Mempool,而只能一次進行一項交易;補貼Gas 費用之餘,本身運行的Gas 費用卻並不低廉……這些亟待優化的關鍵,值得更多開發人員深思並尋找解決路徑,唯有不斷優化草案細節、精進技術方案,才能讓EIP 4337 成為實現賬戶抽象的不二之選

期待2023 以太坊開發者社區能夠為EIP 4337 帶來更多創新,打造下一代錢包,為用戶呈上更為便捷、安全的支付工具。

參考文獻

簡析以太坊EIP-4337 提案機制設計與優缺點

EIP-4337 標準智能錢包實踐研究報告:全景式呈現4337 標準實例實現過程及機遇探討

簡析賬戶抽象和EIP-4337:未來智能合約錢包落地情況如何?

解析:EIP-4337 如何用賬戶抽象來改善以太坊複雜的用戶體驗問題

3 分鐘了解EIP 4337(賬戶抽象)如何改善以太坊UX

EIP-4337 標準智能錢包實踐研究報告:全景式呈現4337 標準實例實現過程及機遇探討