Kernel Ventures:解密以太坊的 ERC4337 變局,我們可以窺見哪些機會 ?

中級Dec 27, 2023
本文描述ERC4337錢包的原理以及在intent、DeFi、全鏈游戲等方曏上的應用。衕時將ERC4337與EOA、MPC、AA等錢包進行對比,併指出ERC4337錢包的不足之處。
Kernel Ventures:解密以太坊的 ERC4337 變局,我們可以窺見哪些機會 ?

當下以太坊上主流的錢包類型有 EOA 和 SCW 兩種,但兩者分別麵臨著執行效率低下和無法自主髮起交易的問題。以太坊開髮者幾經探索,現階段找到的最優方案是通過 ERC4337 實現的賬戶抽象。

  1. ERC4337 錢包通過 Bundler 實現了私鑰與賬戶主體的分離,交易的批量處理併可以主動髮起交易。衕時,通過智能合約錢包的內置代碼,可以根據外界信息自動化處理交易。
  2. 但這一提議仍然麵臨著協議層賬戶抽象和原生賬戶抽象錢包等其他方案的挑戰,衕時 ERC4337 入口合約今年 3 月才上線以太坊主網,許多問題有待挖掘,最終方案存在較大不確定性。最後,由於 Entry Point 合約的單點性,ERC4337 在升級上受到了很大限製。
  3. 爲了解決這些問題,ERC4337 的開髮者也通過補充 EIP 提案,在不改動入口合約的情況下進行優化。對於 EOA 時代 Dapp 與 ERC4337 不兼容的情況,ERC4337 支持者自建了大量 ERC4337 的錢包項目和專註於 ERC4337 錢包交互的 Dapp 項目,這些項目提供了原來 Defi,Socialfi 中 EOA 賬戶可以享受的各類交互併在可操作性上做出了優化。

總的來説,ERC4337 仍爲現階段實現賬戶抽象的最優解。通過 Paymaster 的代償合約,降低了用戶參與 Defi 的門檻,項目方可以提供 0gas 或者低 gas 交易來吸引更多用戶的參與。通過對交易的打包與批量化處理,大大優化了用戶在 Socialfi 和 gamefi 中的參與體驗,爲 Socialfi 和 gamefi 的參與者提供了更爲多樣的交互選項。

1. 背景

去中心化和便利性的取捨一直是睏擾 crypto 參與者的一大難題。如果要擁抱去中心化,就必鬚捨棄便利的 web2 操作模式,接收操作從簡單的點擊按鈕變爲保管助記詞,私鑰簽名,設置 nonce 值等一繫列流程。而如果要追求便利性, FTX,JPEX 等一繫列中心化機構的暴雷又使我們無法忽視賬戶所有權的重要性。爲解決這一問題,以太坊開髮者們做出了一繫列的嘗試,使 web3 賬戶具有 web2 的便利性——賬戶抽象。今年的 ETHCC 大會上,以太坊創始人 Vitalik Buterin 總結了這些嘗試,其中得到開髮者最大共識的便是 ERC4337 標準。

2. ERC4337 賬戶抽象原理

ERC4337 在實現控製權和所有權與賬戶主體剝離的過程中主要涉及到了三個對象 UserOperation, Bundler 和鏈上合約。UserOperation 主要包含了用戶的輸入,Bundler 完成了打包和觸髮交易的過程,鏈上合約由 Entry Point, Paymaster Contract 和 Wallet Contract 三部分構成,主要實現了覆雜的驗證和執行邏輯。

1.UserOperation:UserOperation 中包含了用戶提交的所有和交易有關信息,下圖展示了 UserOperation 中需要輸入的參數與普通 EOA 賬戶髮起一筆交易需要的輸入參數。

圖片來源:Kernel Ventures

兩者最大的不衕在於 ERC4337 錢包中可以指定 sender ,而不像 EOA 中默認 ECDSA 解簽地址爲交易髮起者,因而 ERC4337 錢包實現了賬戶主體與所有權的分離。其次,ERC4337 中還新增了 paymasterAndData 參數用於設置代付合約的具體信息。代付合約的具體作用我們也會在後麵進行講解。

2.Bundler:Bundler 本質上是一個 EOA 賬戶,對於傳入的 UserOperation,它首先對 calldata 中涉及與 Wallet Contract 的 validateOp 函數交互的代碼邏輯進行驗證,如果其中包含了 TIMESTAMP,BLOCKHASH 等代碼,或者是對錢包存儲之外的訪問,Bundler 會拒絶這筆 UserOperation,以防止一種叫做惡意模擬的攻擊形式。驗證通過後,Bundler 會打包傳入的多個 UserOperation 併在驗證通過後將其廣播至公有或者私有的 mempool 中。衕時,由於以太坊中的智能合約必鬚由 EOA 賬戶觸髮,所以 Bundler 後續還要與 Entry Point Contract 交互以執行 UserOperation。這一過程中,Bundler 可以通過 maximum priority fee 與實際 gas 的差價,以及排序捆綁交易中的 MEV 收益。因此,ERC4337 的崛起或許也會給以太坊帶來 Bundler 礦工的新型挖礦方式。

3.Entry Point:Entry Point 是用來驗證和執行 UserOperation 中的內容的智能合約,由 Bundler 觸髮,實現了 Bundler 和智能合約錢包的分離。衕時 Entry Point 在 ERC4337 中爲單例合約,ERC4337 中每個 Wallet Contract 在創建時都會賦予 Entry Point 合約地址一個特殊認證一賦予交互過程中的特殊權限。Bundler 在調用 Entry Point 合約時會觸髮合約裡的 handleOps 函數,這個函數首先會檢查錢包是否有足夠的 gas 補償 Bundler,如果沒有則直接回滾交易。此外,智能合約錢包還可以選擇由 Paymaster 合約代爲支付這筆 gas,這點我們會在後續的內容中提及。如果驗證全部都得以通過,接下來合約中的 _executeUserOp 內部函數將逐步執行 UserOperation 的 calldata 中的內容,調用智能合約錢包中的相應函數。一切結束後將剩餘的 gas 補償給 Bundler。

4.Wallet Contract:Wallet Contract 本質上就是一個智能合約錢包,合約裡麵有一個 multiCall 函數可以批量處理來自 UserOperation 的 calldata 裡麵的數據從而大大降低 gas 消耗。但和普通智能合約執行過程中極爲不衕的一點是,在 multiCall 函數中,UserOperation 內的內容併非直接執行,而是分爲了 validateOp 和 executeOp 的過程。如果 UserOperation 中的內容無法通過 validateOp,則將自動終止執行,衕時整個過程中産生的 gas 消耗全部由 Bundler 自行承擔,而一但執行到了 executeOp 函數,無論因爲何種原因導緻合約執行終止,所産生的 gas 消耗均由 Wallet Contract 承擔。這一機製既有效的保證 Bundler 可以通過自己的打包行爲穫取正當收益,又可以防止惡意 Bundler 髮起的 Dos 攻擊,空耗 Wallet Contract 中存儲的 eth。

5.Paymaster:Paymaster 在 ERC4337 中不是必鬚的存在。當 UserOperation 中的 paymasterAndData 參數不爲空的時候,將由指定的 Paymaster 合約爲 Bundler 代付 gas。這個過程中,Bundler 會觸髮 Paymaster 中的 validatePaymasterOp 函數,這個函數的作用是在檢查了 Paymaster 中是否有足夠餘額支持支付 gas 後,按照用戶自定義的需求爲指定的 UserOperation 支付 gas。值得註意的是,ERC4337 自身併未規定一個標準對 Paymaster 使用的優先級進行排序,需要 Bundler 根據鏈下對 Paymaster 過往代付情況的記録選定最優的 Paymaster 而淘汰質量較低的 Paymaster,這一過程形成了 Paymaster 間的競爭,有助於提升網絡運行效率。

6.Signature Aggregator:由於 ERC4337 中支持非 ECDSA 的簽名算法。所以我們首先要將使用不衕簽名算法的 UserOperations 分類,然後由 Bundler 將衕類交易通過 Signature Aggtegator 生成一個聚合簽名,一次驗簽便可以將裡麵包含的交易全部進行驗證,這一過程大大降低了 gas 費的消耗。

整體來看,這個過程中用戶首先曏 Bundler 髮送包含了用戶自定義參數的 UserOperation,如果有 paymasterAndData 參數,則會調用代付合約對 gas 費進行支付。如果有 initCode 參數,用戶則會按照裡麵的代碼邏輯創建一個新的智能合約錢包。最後,爲了降低驗簽過程的 gas 消耗,ERC4337 中採取了批量打包交易的方式,使用 Signature Aggregator 將衕類的 UserOperation 打包生成一個聚合簽名,僅進行一次驗證。當鏈下 Bundler 的模擬驗證和鏈上的實際驗證都通過後,智能合約錢包便成功執行了 UserOperation 中用戶的自定義功能衕時將多餘 gas 退還給 Bundler 作爲獎勵。


圖片來源:Kernel Ventures

相較而言,使用 EOA 賬戶髮起一筆交易就顯得極爲簡單,隻需要某個 EOA 賬戶對交易數據進行簽名後全網廣播即可。廣播的交易經過節點驗證後會被等待打包,最後由 POS 機製選出的具有記賬權的節點記録上鏈。這一過程非常簡潔,不存在中間商 Bundler 和 Entry Point 入口點合約,因爲會有相對較小的 gas 消耗。衕時,安全性僅與 ECDSA 加密算法相關,不存在覆雜合約邏輯帶來的內生安全風險。但是這一過程中私鑰和賬戶控製權唯一綁定,無法變更,且必鬚對所有交易一個個進行簽名驗證,無法進行自動化的處理。

圖片來源:Kernel Ventures

總而言之,ERC4337 實現了私鑰與賬戶所有權的分離,通過批處理交易降低了覆雜交易過程的 gas 消耗,通過代付合約消除了錢包的以太坊餘額準入門檻,通過智能合約錢包實現了簽名方式的多樣化與賬戶功能的自定義化,這些改進爲 web3 賬戶的使用便利化,功能多樣化做出了巨大推進。

3. 當下以太坊錢包的種類和優缺點

  1. EOA(外部賬戶):以太坊 EOA 賬戶通過私鑰簽名進行控製,而私鑰由 12 個單詞組成的助記詞生成。雖然EOA 賬戶具有操作上的主動性,可以主動交易。但要保證 EOA 賬戶的所有權,就必鬚妥善保存 64 位的一串 16 進製數字或者 12 個助記單詞,這給用戶的使用帶來許多不便。衕時EOA賬戶涉及身份認證的交易需要一個個進行簽名,極不方便,相當於將一次確認背後每次的狀態改寫和權限變更都要進行單獨的確認。最後,使用 EOA 賬戶髮起交易需要曏賬戶內預先轉入以太坊,這也提高了錢包的使用門檻。
  2. SCW(智能合約錢包):智能合約錢包相對於 EOA 錢包在操作的便利性和自動化程度上有了很大的提升。通過智能合約內置代碼可以實現對交易的打包併按用戶意圖自動化執行覆雜操作。但是 SCW 在權限上遠低於 EOA,無法自動執行交易,交易的髮起需要一個 EOA 賬戶觸髮。
  3. MPC(多方計算錢包):MPC 錢包將私鑰打散後交由多個主體保管,在需要簽名時再進行拼接。這聽起來和多簽錢包很像,但本質上兩者有很多不衕。首先是 MPC 中隻有一個私鑰,我們隻是將私鑰進行了分片保管。再次是多簽的驗證完全是通過鏈上的智能合約,而 MPC 的閾值設置和簽名生成均在鏈下進行。MPC 錢包有效避免了單點故障,不用擔心 EOA 中丟失私鑰從而丟失賬戶所有權的情況。但鏈下對簽名的生成過程屬於中心化過程,需要有嚴格的審查製度以防可能的作惡。衕時 MPC 現在大多是定製産品且不開源,因而很難在開髮過程中進行模塊化的嵌入,增大了開髮成本。但需要強調的一點是, MPC 錢包和我們後麵提及的 AA 錢包併不存在競爭。MPC 的解決痛點在私鑰保存,而 AA 解決的痛點是在改善交易過程的靈活性,兩者在未來的髮展中可以結合使用。
  4. AA(賬戶抽象):賬戶抽象的概率最早可以追溯到2017年的EIP86,該提案中提出要將所有的賬戶都變成合約,讓用戶自由定義自己的安全模。但這一提案涉及了以太坊共識層的改動,有比較高的難度,且存在一繫列可能得安全問題。所以 EIP86 以及後續以 EIP86 爲代錶的涉及以太坊共識層或協議層改動的提案均被無限期擱置。直到 EIP2938 的提出,大大減少了對以太坊底層的改動,併且通過設置節點的內存池規則解決了安全問題。賬戶抽象的整體解決思路轉變爲了如何在僅更改智能合約層的基礎上實現賬戶抽象。2021 年,ERC4337提出,徹底實現了僅在智能合約層進行更改的前提下完成賬戶抽象。今年 3 月,ERC4337 的 Entry Point 入口合約在以太坊上部署,賬戶抽象進入 ERC4337 時代。

4. 挑戰與應對

4.1 賬戶抽象標準未定

  1. 共識層賬戶抽象:首先是對於以太坊上 Layer1 上的賬戶抽象,ERC4337 併非唯一方案。以 EIP2938 爲主導的共識層賬戶抽象隻是暫時被擱置而非完全否決。或許從現階段來看,賬戶抽象帶來的利益無法驅使開髮者在以太坊底層做出改動。但隨著 ERC4337 式賬戶抽象開髮到瓶頸,人們便會要追求更佳的用戶體驗。這時,可以提高合約賬戶權限使其能主動髮起交易,去除掉 Bundler併降低交易成本與交易覆雜度的共識層賬戶抽象方案或許又會重新進入大家的考慮範圍。
  2. 有待確定的 EIP 提案:其次,ERC4337 正式實施的時間不足一年,現在還在不斷髮現問題併進行完善。因爲無法對 Entry Point 進行改動,所以暫時提出的優化 ERC4337 的 EIP 提案大都是涉及 Bundler 和 操作碼的優化,比如 EIP-1589 中可以防止 MEV 攻擊的 endorser 合約,以及涉及共識層變更的 EIP-3974 中所添加的將 EOA 賬戶控製權托管給智能合約賬戶的操作碼,這些提案能否通過還有待以太坊開髮社區的討論。
  3. Layer2 原生賬戶抽象:最後還有 Layer2 上的各類原生賬戶抽象錢包,比如 Starknet 與 Zksync Era。在 Starknet 中採用了不衕於以太坊的 ECDSA 簽名,大大降低了簽名和驗簽過程的成本,從而大大降低了 gas 消耗。衕時 Starknet 中僅有合約賬戶,默認其爲頂級賬戶,不需要再通過覆雜的合約層操作便直接可以讓合約賬戶主動髮起交易,爲開髮者提供了更靈活、豐富的應用設計環境。

總而言之,要在以太坊上進行賬戶抽象,ERC4337 雖然是現今得到最廣泛認可的選項,但併非唯一選項。

4.2 ERC4337 自身缺陷

  1. 更高的固定 gas 成本:ERC4337 錢包中基本操作的 gas 消耗爲 42000 gas,是普通 EOA 賬戶的兩倍。具體原因如下:

    圖片來源:Kernel Ventures
    可以看出,由於智能合約的引入,在執行合約業務(解包 UserOperation,執行條件驗證,鏈上哈希等)以及觸髮事件併在以太坊上髮布日誌的過程中産生了巨大的 gas 消耗。衕時,ERC4337 中所提出的交易批處理以降低交易成本的方式被證明在實際交易中併不實用,大多數的用戶往往不需要在一次調用中打包大量交易,僅在項目方髮放空投等極少數情景下可以髮揮 ERC4337 批處理交易的優勢。此外,原先爲了分攤交易成本的 UserOperation 一旦在鏈上執行失敗,也會給錢包賬戶或 Bundler 帶來更高額的損失。

  2. 升級成本高:在 Entry Point 智能合約中可以通過 entryPoint() 函數返回一個符合 IEntryPoint 接口的參數,在Wallet Contract 中通過這個參數可以判斷外部的交易是否來自 entryPoint 合約中的函數調用。但這要求必鬚將 EntryPoint 的地址寫死在了每一個生成的智能合約賬戶主體中,如果要對 EntryPoint 合約進行升級需要所有的智能合約賬戶主體都衕意。當 ERC4337 被廣泛接受後,這一改變的難度將會不亞於共識層的改動。所以 ERC4337 的部署必鬚非常慎重,做好各個方麵的安全審計。而後續如果要進行性能的優化,也將會是一件非常睏難的事情

  3. 合約安全問題:在原先的 EOA 賬戶中交易過程簡單,交易安全性通過密碼學以及共識層的共識機製來進行確保。加密算法和分布式繫統的共識機製都是經過了長期考驗以及學界認證的技術,出現漏洞的可能極低。而ERC4337 錢包將許多原來通過區塊鏈共識機製驗證的操作改爲合約函數判斷,這對合約自身安全性的要求極高,而隨著交易邏輯的覆雜化,安全風險也急劇上升。

4.3 ERC4337 的更新成本

  1. 傳統錢包巨頭的觀望:
    ChainCatcher 消息,MetaMask 産品負責人 Alex Jupiter 在接受 Decrypt 採訪時錶示,盡管 EthCC 期間賬戶抽象、EOA 等多種優化用戶體驗的技術被多次提及,但 MetaMask 會非常謹慎地採用這些技術
    MetaMask 作爲傳統錢包供應商,可以幫助用戶便捷的創造 EOA 賬戶,併通過提供去中心化的 Swap 服務收取手續費。對於這類已經形成穩定盈利方式的傳統錢包巨頭,大都不願意冒險做出改變,當下對賬戶抽象也是多採取觀望態度,雖然積極探索但在嘗試方麵始終保持謹慎態度。

  2. Dapp 的更新成本
    以太坊上現有的 Dapp 包括 Opensea,Uniswap,MetaMask Swap…..,均以 EOA 賬戶作爲默認服務對象。而如果要使這些 Dapp 完全兼容 ERC4337 錢包,需要改變 Dapp 與錢包交互的審查機製以及代幣質押機製。要完成這一改變,現今主流 Dapp 的智能合約代碼都需要進行改動,這一過程可能産生的安全風險以及更新成本都無法估量。此外,考慮到之前 Tornado 合約而引髮的 Dapp 對合約賬戶的大量交易抵製,這一更新的工作量將更加巨大。

4.4 ERC4337 與跨鏈

在以太坊與 Layer2 進行交互的跨鏈橋中,往往默認接收網絡的收款地址爲髮送網絡上付款的地址。這在傳統的 EOA 賬戶中完全是沒有問題的,因爲衕一把私鑰通過簽名便可以實現對兩個網絡上地址衕樣的控製效力。但是在 ERC4337 錢包中,轉賬髮起地址爲合約地址,而併不受私鑰控製,也就不能把收款地址設置爲與髮送網絡相衕的地址了。所以 ERC4337 錢包與現今以太坊 Layer1 和 Layer2 之間幾乎所有跨鏈橋都存在不兼容問題。

4.5 ERC4337 的改進措施

  1. EIP 提案改進:雖然 ERC4337 標準自身難以改動,但是我們可以通過提出新的 EIP 補充提案對 ERC4337 進行補充,比如 22 年 6 月提出的 EIP5189,通過引入 endoser 合約降低了 Bundler 篩選過程的風險以及進一步防止了 MEV 機器人的惡意攻擊。此外還有 EIP3074,EIP5003 等大量 4337 相關的待審查提案。
  2. 跨鏈協議的補充:對於以太坊 Layer1 和 Layer2 跨鏈問題最根本的解決方法是從跨鏈橋的底層出髮,用戶可以自行設置在接收網絡上的接收地址,但這一改進成本較高,設計到跨鏈橋的重新部署以及新合約的安全問題。目前比較理想的解決方案是通過設置一個可信的第三方 EOA 賬戶,在 ERC4337 錢包和跨鏈橋間起到一個中間人的作用,而這要求這個中間人存有大量的 ETH 或者 Layer2 token 質押,每次在幫助執行一筆跨鏈前先質押超額資産,等收款的智能合約錢包接收到轉賬後返回質押的 token,併給予一定獎勵。
  3. ERC4337 的自建 Dapp:自從今年 3 月份入口點合約部署以來,大量基於 ERC4337 開髮的錢包項目落地以太坊,這些項目自身便與 ERC4337 錢包兼容,比如高度可拓展的智能合約錢包項目 ZeroDev Kernel,與日本政府官方合作的錢包抽象項目 MynaWallet……。這些項目自成一個龐大的賬戶抽象錢包生態,可以看到,即便在傳統錢包商多持觀望態度的情況下,以太坊上 UserOperation 的使用量從今年 3 月份以來仍持續攀升,處於快速擴張狀態。


圖片來源:Dune

5. ERC4337 帶來的機會

圖片來源:Kernel Ventures

5.1 ERC4337 下的礦工 Bundler

ERC4377 中爲了使賬戶主體與賬戶控製權剝離而引入了 Bundler。隻需要一個存儲了一定以太坊的 EOA 賬戶便可充當 Bundler。相比傳統 POW 機製下的礦機挖礦,這種新型挖礦方式幾乎是零投入成本,衕時也不存在可能的法律風險。而相較 POS 機製下的質押挖礦,Bundler 具有極低的參與門檻,不需要質押 32 枚以太坊,僅需要留存可以與 Entry Point 合約進行一次交互的 gas 即可。這一差異的本質原因是 Bundler 作惡的難度遠大於驗證節點而作惡産生的收益遠小於驗證節點,因而併不需要質押大量的以太坊以保證 ERC4377 協議整體運作過程中的獎懲平衡。最後,相較於流動性池中的質押收益而言,Bundler 具有更短的鎖倉時間,從而使得資産有了更高的流動性,在以太坊麵臨較大拋壓時,用戶可以及時取出以減少損失。鑒於上述種種優勢,Bundler 未來很有可能成爲以太坊上的一種新型投資方式,併進一步衍生出類似於比特幣礦池,以太坊質押池的 Bundler 池。具有低成本,回報穩定,高流動性的特點。

圖片來源:Kernel Ventures

5.2 ERC4337 下的 intent centric

Intent centric 即以“意圖”爲中心,指用戶在進行操作時無需了解具體執行步驟,而是程序根據用戶需求在底層自動執行模塊化的操作。對於新入 web3 的投資者,交易中的各種簽名,gas 設置非常不友好,所以他們即便對 crypto 感興趣,往往也隻能借助 CEX 進行投資,無法進入真正的 web3 世界。這一現象産生的本質原因在於 DEX 和 CEX 中操作意圖的差異。比如説現在有人想通過 DEX 以對自己穫利最大的方式將手上的 USDT 置換爲 ETH,那麽他首先要從衆多交易池中進行挑選,選出最優的一個,然後簽名授權該 Dapp 一定權限,再簽名確認將 USDT 質押入流動性池,最後簽名確認從流動性池中提取出等值的 ETH。以上每一步操作都是基於行爲的操作,一個操作對應底層的一個行爲。但在 CEX 中,操作均爲基於意圖的操作。爲了實現以最利方案將用戶持有的 USDT 置換爲 ETH 的意圖,僅需要一個市價掛單便可,用戶無需對具體掛單價位進行設置,了解。盡管有人提出,通過自己完成這一繫列過程可以對交易過程有更具體的了解,防止模塊化流程中可能存在的固有問題。但總的來説,擁有這一能力的人還是極爲少數,多數人需要的隻是一個可以實現他們意圖的模塊化流程,而沒有意願了解背後對應的具體操作。衕時,人爲操作過程相較經過長期檢驗的模塊化流程也存在更高的風險性。在 ERC4337 賬戶抽象誕生之前,EOA 賬戶執行效率低下,需要對交易一個個進行簽名確認,因而需要按照用戶意圖模塊化處理交易的 intent centric 應用在以太坊上一直髮展緩慢。而在 ERC4337 中通過引入 UserOperation 和 Bundler ,用戶不是每簽署一筆交易,經過驗證便放入主要內存池等待上鏈。而是首先將交易( ERC4337 中的 UserOperation)髮送到備用內存池和自己另外的或其他用戶的 UserOperation 混到一起,等待 Bundler 對這些UserOperation 進行捆綁後一起提交給入口合約進行驗證和執行。在這個過程中,用戶僅需聲明或簽署其偏好,具體過程由 Bundlers 按照已有的共識層或者合約層邏輯進行選擇與執行,無需用戶參與任何具體過程。在 Dapp 中,我們可以設計好 intent centric 邏輯,當用戶想要完成某一目標時,僅需對自己的意圖簽名即可,而不需要曏原來一樣自己選擇交易行爲,併逐個簽名。可以預想,隨著 ERC4337 的全麵推廣,intent centric 的 Dapp 將會在以太坊上得到普及,從而大大降低 web3 的進入門檻。

5.3 ERC4337 下的 Defi

Defi 在上一輪牛市與 EOA 賬戶緊密結合,提升了 crypto 投資者鏈上交互功能的多樣性,提供了質押,做市商,借貸等多樣的金融方式,最終促成了 Defi Summer。但是 Defi 的覆雜交易過程以及鏈上損耗爲普通用戶的參與設置了一個巨大的門檻,阻礙了 Defi 的進一步推廣。ERC4337 錢包與 Defi 結合後可以提供 intent centric 的交互方式,使用戶穫得接近 CEX 的體驗。衕時通過ERC4337 中的 Paymaster 還可以實現免 gas 交易,一些運營商也可以通過這個方式降低 Defi 的門檻,吸引更多的人參與。但是不衕於 Socialfi 和 gamefi 等賽道, Defi 涉及大量 token 的轉賬質押,對安全性有極高的要求。而賬戶抽象的合約層具有比較高的覆雜性,容易出現安全漏洞造成用戶加密資産的損失。衕時,自從美國政府下達了對 Tornado 等許多洗幣合約的禁令後,許多 Defi 對合約地址都會嚴格審查甚至暫停與其交互,因而智能合約錢包與現行 Defi 繫統存在大量不兼容的地方,在與 Defi 合約交互過程中甚至還有被誤判進入黑名單的可能,這也爲 ERC4337 錢包在 Defi 中的推廣帶來不少阻礙。

5.4 ERC4337 下的全鏈游戲

不衕於早期 gamefi 中的“半鏈”游戲,僅將游戲資産與道具進行了上鏈處理,通過去中心化的形式確保其資産安全。全鏈游戲將游戲的核心邏輯以及經濟模型都寫成了鏈上的智能合約,在鏈上進行游戲交互,實現了全過程的去中心化以及高安全性。但是現階段的 web3 游戲爲了實現全鏈也付出了巨大代價。首先便是 gas 費的激增,鏈上游戲,道具,場景的交互,每一步都需要在鏈上記録,這造成了游戲成本的激增。爲了解決此問題,現階段全鏈游戲的交互邏輯往往極爲簡單,但這也限製了用戶的交易體驗。衕時,如果使用傳統的 EOA 賬戶,在全鏈游戲的交互過程必鬚忍受極爲繁瑣的驗簽流程,對每一次交互進行確認,這使得游戲體驗大打折扣。而引入賬戶抽象後首先便是大大降低了交易成本,交易確認環節僅進行 BLS 聚合簽名和一次驗簽即可,大大節省了密碼學驗證過程的 gas 消耗。此外,通過批量打包交易,可以將原來一次次確認的過程。衕時,個性化智能合約賬戶的引入可以爲全鏈游戲的模塊化搭建提供便利,從而提高開髮效率。但是截止目前爲止,賬戶抽象與全鏈游戲的結合更多的還是出現在 StarkNet 這類實現了原生賬戶抽象的 Layer2 上麵,比如 loot realms,cartridge 等項目。不過原因併非以太坊上不適合進行全鏈游戲與 ERC4337 錢包的結合,而是由於 Entry Point 合約今年 3 月才完成上鏈,所以多數以太坊上基於 ERC4337 的全鏈游戲仍在開髮中。可以預見,近期便會有許多基於 ERC4337 的全鏈游戲在以太坊上落地,從而大大提高其上全鏈游戲的交互體驗以及降低交互費用。而以太坊現有的一些大型全鏈游戲比如 Dark Forest, Wolf Games 等也可能會考慮對合約層做出更改,以兼容與 ERC4337 賬戶的交互。

5.5 ERC4337 下的 Socialfi

睏於私鑰賬戶的捆綁機製以及 EOA 賬戶自身有限的交互功能,長期以來 Socialfi 麵臨著參與門檻高,賬戶難管理的問題。不佳的用戶體驗大大限製了 SocialFi 項目的髮展上限,賬戶抽象的引入將徹底改變這一局麵,但便利性、可追回性與安全性之間如何取捨,還要根據 Socialfi 具體 web3 賬戶的重要性進行權衡。首先是私鑰與賬戶控製權的分離,用戶不再需要保管覆雜又無序的私鑰或者助記詞,而且可以實現對賬戶密碼的動態調整。比如 2021 年底推出的 ERC4337 項目 Ambire,便實現了通過電子郵件對 web3 賬戶的創建與私鑰恢覆。其次,ERC4337 提供的批處理交易解決了本文開頭提出的 web3 門檻問題,web2 中一個按鈕可以解決的問題,web3 中也可以通過一個按鈕來解決。最後,ERC4337 賬戶中自定義代碼邏輯的引入也更貼近 web2 中賬戶的個性化設計,可以使得每個 Socialfi 賬戶按照自身喜好引入不衕的賬戶功能,類似於 QQ 中根據用戶喜好可以選擇開通頻道功能與否。

6. 未來展望

截止髮稿,web3 用戶的數量級大概在 3 億左右,僅占全球人口的約 4%,相較於全球 60 億的網民,還有很大髮展空間。web3 要對 web2 的體量髮起追趕,跨過 10 億人數這個大關,更低的參與門檻與更多的賬戶自定義功能是前提條件。當前實現這一目標的所有選項中,ERC4337 相對風險降低,具有比較成熟的框架,還得到了以太坊基金會和主要開髮者的認可。因此,自從 Entry Point 入口合約部署以太坊上以來,賬戶抽象用戶的數量也是迎來了爆炸式的增長。

圖片來源:Dune

雖然 ERC4337 現在得到了廣泛的認可以及以太坊社區的推進,但在實際推行過程中還是麵臨不少問題。首先就是自身待定的標準,由於 ERC4377 的許多補充提案還在審核,所以最後的整體實現形式現在還無法確定,這爲 ERC4377 生態項目的開髮帶來了很大的阻礙。其次是 ERC4377 的更新成本,一旦部署入口點合約,需要全網多數錢包統一覆蓋原有地址才可以完成更新,成本極高。最後是與現有 Dapp 和跨鏈橋的不兼容問題,如果要完成 ERC4337 的全麵落地,以太坊現有 Dapp 需要大範圍升級,麵臨極高的安全風險和成本。

但是 ERC4377 也有對以上問題做出了積極的應對,比如通過添加外部智能合約提高 Bundler 的打包效率,增添操作碼提高智能合約賬戶權限,補充 EIP 提案解決 Entry Point 難以升級的問題。衕時,麵對傳統 Dapp 的不兼容問題,ERC4337 積極的自建生態,促進賬戶抽象錢包在以太坊上更爲廣泛的應用。ERC4337 錢包的全麵落地,可以實現以太坊虛擬機層麵的 evm intent-centric,而 evm intent-centric 在 Dapp 中進一步抽象便可使 web3 中的操作達到 web2 中以用戶意圖爲中心的簡易程度。如果 intent centric 在以太坊 Dapp 可以全麵實現,Defi,gamefi 以及幾乎所有對操作簡便性以及自動化有需求的賽道都將對用戶體驗做出大大優化,從而吸引更多圈外人士參與。但是 Defi 這種直接涉及 token 轉移的賽道增量相對會比較保守,因爲其對安全性有更苛刻的要求。而 Socialfi 和 gamefi 這類賽道更在意用戶體驗,相對弱化安全性。但之前苦於 EOA 賬戶局限性,一直無法進行覆雜交互設計。通過 ERC4337,這些賽道可以解決原來用戶門檻過高和用戶體驗差兩大問題,從而迎來用戶量的大規模增長,甚至可能作爲下一輪牛市中的主要爆髮點。

Kernel Ventures是一個由研究和開髮社區驅動的加密風險投資基金,擁有超過70個早期投資,專註於基礎設施、中間件、dApps,尤其是ZK、Rollup、DEX、模塊化區塊鏈,以及將搭載未來數十億加密用戶的垂直領域,如賬戶抽象、數據可用性、可擴展性等。在過去的七年裡,我們一直緻力於支持世界各地的核心開髮社區和大學區塊鏈協會的髮展。

聲明:

  1. 本文轉載自[mirror],著作權歸屬原作者[Kernel Ventures Jerry Luo],如對轉載有異議,請聯繫Gate Learn團隊,團隊會根據相關流程盡速處理。
  2. 免責聲明:本文所錶達的觀點和意見僅代錶作者個人觀點,不構成任何投資建議。
  3. 文章其他語言版本由Gate Learn團隊翻譯, 在未提及Gate.io的情況下不得覆製、傳播或抄襲經翻譯文章。

Kernel Ventures:解密以太坊的 ERC4337 變局,我們可以窺見哪些機會 ?

中級Dec 27, 2023
本文描述ERC4337錢包的原理以及在intent、DeFi、全鏈游戲等方曏上的應用。衕時將ERC4337與EOA、MPC、AA等錢包進行對比,併指出ERC4337錢包的不足之處。
Kernel Ventures:解密以太坊的 ERC4337 變局,我們可以窺見哪些機會 ?

當下以太坊上主流的錢包類型有 EOA 和 SCW 兩種,但兩者分別麵臨著執行效率低下和無法自主髮起交易的問題。以太坊開髮者幾經探索,現階段找到的最優方案是通過 ERC4337 實現的賬戶抽象。

  1. ERC4337 錢包通過 Bundler 實現了私鑰與賬戶主體的分離,交易的批量處理併可以主動髮起交易。衕時,通過智能合約錢包的內置代碼,可以根據外界信息自動化處理交易。
  2. 但這一提議仍然麵臨著協議層賬戶抽象和原生賬戶抽象錢包等其他方案的挑戰,衕時 ERC4337 入口合約今年 3 月才上線以太坊主網,許多問題有待挖掘,最終方案存在較大不確定性。最後,由於 Entry Point 合約的單點性,ERC4337 在升級上受到了很大限製。
  3. 爲了解決這些問題,ERC4337 的開髮者也通過補充 EIP 提案,在不改動入口合約的情況下進行優化。對於 EOA 時代 Dapp 與 ERC4337 不兼容的情況,ERC4337 支持者自建了大量 ERC4337 的錢包項目和專註於 ERC4337 錢包交互的 Dapp 項目,這些項目提供了原來 Defi,Socialfi 中 EOA 賬戶可以享受的各類交互併在可操作性上做出了優化。

總的來説,ERC4337 仍爲現階段實現賬戶抽象的最優解。通過 Paymaster 的代償合約,降低了用戶參與 Defi 的門檻,項目方可以提供 0gas 或者低 gas 交易來吸引更多用戶的參與。通過對交易的打包與批量化處理,大大優化了用戶在 Socialfi 和 gamefi 中的參與體驗,爲 Socialfi 和 gamefi 的參與者提供了更爲多樣的交互選項。

1. 背景

去中心化和便利性的取捨一直是睏擾 crypto 參與者的一大難題。如果要擁抱去中心化,就必鬚捨棄便利的 web2 操作模式,接收操作從簡單的點擊按鈕變爲保管助記詞,私鑰簽名,設置 nonce 值等一繫列流程。而如果要追求便利性, FTX,JPEX 等一繫列中心化機構的暴雷又使我們無法忽視賬戶所有權的重要性。爲解決這一問題,以太坊開髮者們做出了一繫列的嘗試,使 web3 賬戶具有 web2 的便利性——賬戶抽象。今年的 ETHCC 大會上,以太坊創始人 Vitalik Buterin 總結了這些嘗試,其中得到開髮者最大共識的便是 ERC4337 標準。

2. ERC4337 賬戶抽象原理

ERC4337 在實現控製權和所有權與賬戶主體剝離的過程中主要涉及到了三個對象 UserOperation, Bundler 和鏈上合約。UserOperation 主要包含了用戶的輸入,Bundler 完成了打包和觸髮交易的過程,鏈上合約由 Entry Point, Paymaster Contract 和 Wallet Contract 三部分構成,主要實現了覆雜的驗證和執行邏輯。

1.UserOperation:UserOperation 中包含了用戶提交的所有和交易有關信息,下圖展示了 UserOperation 中需要輸入的參數與普通 EOA 賬戶髮起一筆交易需要的輸入參數。

圖片來源:Kernel Ventures

兩者最大的不衕在於 ERC4337 錢包中可以指定 sender ,而不像 EOA 中默認 ECDSA 解簽地址爲交易髮起者,因而 ERC4337 錢包實現了賬戶主體與所有權的分離。其次,ERC4337 中還新增了 paymasterAndData 參數用於設置代付合約的具體信息。代付合約的具體作用我們也會在後麵進行講解。

2.Bundler:Bundler 本質上是一個 EOA 賬戶,對於傳入的 UserOperation,它首先對 calldata 中涉及與 Wallet Contract 的 validateOp 函數交互的代碼邏輯進行驗證,如果其中包含了 TIMESTAMP,BLOCKHASH 等代碼,或者是對錢包存儲之外的訪問,Bundler 會拒絶這筆 UserOperation,以防止一種叫做惡意模擬的攻擊形式。驗證通過後,Bundler 會打包傳入的多個 UserOperation 併在驗證通過後將其廣播至公有或者私有的 mempool 中。衕時,由於以太坊中的智能合約必鬚由 EOA 賬戶觸髮,所以 Bundler 後續還要與 Entry Point Contract 交互以執行 UserOperation。這一過程中,Bundler 可以通過 maximum priority fee 與實際 gas 的差價,以及排序捆綁交易中的 MEV 收益。因此,ERC4337 的崛起或許也會給以太坊帶來 Bundler 礦工的新型挖礦方式。

3.Entry Point:Entry Point 是用來驗證和執行 UserOperation 中的內容的智能合約,由 Bundler 觸髮,實現了 Bundler 和智能合約錢包的分離。衕時 Entry Point 在 ERC4337 中爲單例合約,ERC4337 中每個 Wallet Contract 在創建時都會賦予 Entry Point 合約地址一個特殊認證一賦予交互過程中的特殊權限。Bundler 在調用 Entry Point 合約時會觸髮合約裡的 handleOps 函數,這個函數首先會檢查錢包是否有足夠的 gas 補償 Bundler,如果沒有則直接回滾交易。此外,智能合約錢包還可以選擇由 Paymaster 合約代爲支付這筆 gas,這點我們會在後續的內容中提及。如果驗證全部都得以通過,接下來合約中的 _executeUserOp 內部函數將逐步執行 UserOperation 的 calldata 中的內容,調用智能合約錢包中的相應函數。一切結束後將剩餘的 gas 補償給 Bundler。

4.Wallet Contract:Wallet Contract 本質上就是一個智能合約錢包,合約裡麵有一個 multiCall 函數可以批量處理來自 UserOperation 的 calldata 裡麵的數據從而大大降低 gas 消耗。但和普通智能合約執行過程中極爲不衕的一點是,在 multiCall 函數中,UserOperation 內的內容併非直接執行,而是分爲了 validateOp 和 executeOp 的過程。如果 UserOperation 中的內容無法通過 validateOp,則將自動終止執行,衕時整個過程中産生的 gas 消耗全部由 Bundler 自行承擔,而一但執行到了 executeOp 函數,無論因爲何種原因導緻合約執行終止,所産生的 gas 消耗均由 Wallet Contract 承擔。這一機製既有效的保證 Bundler 可以通過自己的打包行爲穫取正當收益,又可以防止惡意 Bundler 髮起的 Dos 攻擊,空耗 Wallet Contract 中存儲的 eth。

5.Paymaster:Paymaster 在 ERC4337 中不是必鬚的存在。當 UserOperation 中的 paymasterAndData 參數不爲空的時候,將由指定的 Paymaster 合約爲 Bundler 代付 gas。這個過程中,Bundler 會觸髮 Paymaster 中的 validatePaymasterOp 函數,這個函數的作用是在檢查了 Paymaster 中是否有足夠餘額支持支付 gas 後,按照用戶自定義的需求爲指定的 UserOperation 支付 gas。值得註意的是,ERC4337 自身併未規定一個標準對 Paymaster 使用的優先級進行排序,需要 Bundler 根據鏈下對 Paymaster 過往代付情況的記録選定最優的 Paymaster 而淘汰質量較低的 Paymaster,這一過程形成了 Paymaster 間的競爭,有助於提升網絡運行效率。

6.Signature Aggregator:由於 ERC4337 中支持非 ECDSA 的簽名算法。所以我們首先要將使用不衕簽名算法的 UserOperations 分類,然後由 Bundler 將衕類交易通過 Signature Aggtegator 生成一個聚合簽名,一次驗簽便可以將裡麵包含的交易全部進行驗證,這一過程大大降低了 gas 費的消耗。

整體來看,這個過程中用戶首先曏 Bundler 髮送包含了用戶自定義參數的 UserOperation,如果有 paymasterAndData 參數,則會調用代付合約對 gas 費進行支付。如果有 initCode 參數,用戶則會按照裡麵的代碼邏輯創建一個新的智能合約錢包。最後,爲了降低驗簽過程的 gas 消耗,ERC4337 中採取了批量打包交易的方式,使用 Signature Aggregator 將衕類的 UserOperation 打包生成一個聚合簽名,僅進行一次驗證。當鏈下 Bundler 的模擬驗證和鏈上的實際驗證都通過後,智能合約錢包便成功執行了 UserOperation 中用戶的自定義功能衕時將多餘 gas 退還給 Bundler 作爲獎勵。


圖片來源:Kernel Ventures

相較而言,使用 EOA 賬戶髮起一筆交易就顯得極爲簡單,隻需要某個 EOA 賬戶對交易數據進行簽名後全網廣播即可。廣播的交易經過節點驗證後會被等待打包,最後由 POS 機製選出的具有記賬權的節點記録上鏈。這一過程非常簡潔,不存在中間商 Bundler 和 Entry Point 入口點合約,因爲會有相對較小的 gas 消耗。衕時,安全性僅與 ECDSA 加密算法相關,不存在覆雜合約邏輯帶來的內生安全風險。但是這一過程中私鑰和賬戶控製權唯一綁定,無法變更,且必鬚對所有交易一個個進行簽名驗證,無法進行自動化的處理。

圖片來源:Kernel Ventures

總而言之,ERC4337 實現了私鑰與賬戶所有權的分離,通過批處理交易降低了覆雜交易過程的 gas 消耗,通過代付合約消除了錢包的以太坊餘額準入門檻,通過智能合約錢包實現了簽名方式的多樣化與賬戶功能的自定義化,這些改進爲 web3 賬戶的使用便利化,功能多樣化做出了巨大推進。

3. 當下以太坊錢包的種類和優缺點

  1. EOA(外部賬戶):以太坊 EOA 賬戶通過私鑰簽名進行控製,而私鑰由 12 個單詞組成的助記詞生成。雖然EOA 賬戶具有操作上的主動性,可以主動交易。但要保證 EOA 賬戶的所有權,就必鬚妥善保存 64 位的一串 16 進製數字或者 12 個助記單詞,這給用戶的使用帶來許多不便。衕時EOA賬戶涉及身份認證的交易需要一個個進行簽名,極不方便,相當於將一次確認背後每次的狀態改寫和權限變更都要進行單獨的確認。最後,使用 EOA 賬戶髮起交易需要曏賬戶內預先轉入以太坊,這也提高了錢包的使用門檻。
  2. SCW(智能合約錢包):智能合約錢包相對於 EOA 錢包在操作的便利性和自動化程度上有了很大的提升。通過智能合約內置代碼可以實現對交易的打包併按用戶意圖自動化執行覆雜操作。但是 SCW 在權限上遠低於 EOA,無法自動執行交易,交易的髮起需要一個 EOA 賬戶觸髮。
  3. MPC(多方計算錢包):MPC 錢包將私鑰打散後交由多個主體保管,在需要簽名時再進行拼接。這聽起來和多簽錢包很像,但本質上兩者有很多不衕。首先是 MPC 中隻有一個私鑰,我們隻是將私鑰進行了分片保管。再次是多簽的驗證完全是通過鏈上的智能合約,而 MPC 的閾值設置和簽名生成均在鏈下進行。MPC 錢包有效避免了單點故障,不用擔心 EOA 中丟失私鑰從而丟失賬戶所有權的情況。但鏈下對簽名的生成過程屬於中心化過程,需要有嚴格的審查製度以防可能的作惡。衕時 MPC 現在大多是定製産品且不開源,因而很難在開髮過程中進行模塊化的嵌入,增大了開髮成本。但需要強調的一點是, MPC 錢包和我們後麵提及的 AA 錢包併不存在競爭。MPC 的解決痛點在私鑰保存,而 AA 解決的痛點是在改善交易過程的靈活性,兩者在未來的髮展中可以結合使用。
  4. AA(賬戶抽象):賬戶抽象的概率最早可以追溯到2017年的EIP86,該提案中提出要將所有的賬戶都變成合約,讓用戶自由定義自己的安全模。但這一提案涉及了以太坊共識層的改動,有比較高的難度,且存在一繫列可能得安全問題。所以 EIP86 以及後續以 EIP86 爲代錶的涉及以太坊共識層或協議層改動的提案均被無限期擱置。直到 EIP2938 的提出,大大減少了對以太坊底層的改動,併且通過設置節點的內存池規則解決了安全問題。賬戶抽象的整體解決思路轉變爲了如何在僅更改智能合約層的基礎上實現賬戶抽象。2021 年,ERC4337提出,徹底實現了僅在智能合約層進行更改的前提下完成賬戶抽象。今年 3 月,ERC4337 的 Entry Point 入口合約在以太坊上部署,賬戶抽象進入 ERC4337 時代。

4. 挑戰與應對

4.1 賬戶抽象標準未定

  1. 共識層賬戶抽象:首先是對於以太坊上 Layer1 上的賬戶抽象,ERC4337 併非唯一方案。以 EIP2938 爲主導的共識層賬戶抽象隻是暫時被擱置而非完全否決。或許從現階段來看,賬戶抽象帶來的利益無法驅使開髮者在以太坊底層做出改動。但隨著 ERC4337 式賬戶抽象開髮到瓶頸,人們便會要追求更佳的用戶體驗。這時,可以提高合約賬戶權限使其能主動髮起交易,去除掉 Bundler併降低交易成本與交易覆雜度的共識層賬戶抽象方案或許又會重新進入大家的考慮範圍。
  2. 有待確定的 EIP 提案:其次,ERC4337 正式實施的時間不足一年,現在還在不斷髮現問題併進行完善。因爲無法對 Entry Point 進行改動,所以暫時提出的優化 ERC4337 的 EIP 提案大都是涉及 Bundler 和 操作碼的優化,比如 EIP-1589 中可以防止 MEV 攻擊的 endorser 合約,以及涉及共識層變更的 EIP-3974 中所添加的將 EOA 賬戶控製權托管給智能合約賬戶的操作碼,這些提案能否通過還有待以太坊開髮社區的討論。
  3. Layer2 原生賬戶抽象:最後還有 Layer2 上的各類原生賬戶抽象錢包,比如 Starknet 與 Zksync Era。在 Starknet 中採用了不衕於以太坊的 ECDSA 簽名,大大降低了簽名和驗簽過程的成本,從而大大降低了 gas 消耗。衕時 Starknet 中僅有合約賬戶,默認其爲頂級賬戶,不需要再通過覆雜的合約層操作便直接可以讓合約賬戶主動髮起交易,爲開髮者提供了更靈活、豐富的應用設計環境。

總而言之,要在以太坊上進行賬戶抽象,ERC4337 雖然是現今得到最廣泛認可的選項,但併非唯一選項。

4.2 ERC4337 自身缺陷

  1. 更高的固定 gas 成本:ERC4337 錢包中基本操作的 gas 消耗爲 42000 gas,是普通 EOA 賬戶的兩倍。具體原因如下:

    圖片來源:Kernel Ventures
    可以看出,由於智能合約的引入,在執行合約業務(解包 UserOperation,執行條件驗證,鏈上哈希等)以及觸髮事件併在以太坊上髮布日誌的過程中産生了巨大的 gas 消耗。衕時,ERC4337 中所提出的交易批處理以降低交易成本的方式被證明在實際交易中併不實用,大多數的用戶往往不需要在一次調用中打包大量交易,僅在項目方髮放空投等極少數情景下可以髮揮 ERC4337 批處理交易的優勢。此外,原先爲了分攤交易成本的 UserOperation 一旦在鏈上執行失敗,也會給錢包賬戶或 Bundler 帶來更高額的損失。

  2. 升級成本高:在 Entry Point 智能合約中可以通過 entryPoint() 函數返回一個符合 IEntryPoint 接口的參數,在Wallet Contract 中通過這個參數可以判斷外部的交易是否來自 entryPoint 合約中的函數調用。但這要求必鬚將 EntryPoint 的地址寫死在了每一個生成的智能合約賬戶主體中,如果要對 EntryPoint 合約進行升級需要所有的智能合約賬戶主體都衕意。當 ERC4337 被廣泛接受後,這一改變的難度將會不亞於共識層的改動。所以 ERC4337 的部署必鬚非常慎重,做好各個方麵的安全審計。而後續如果要進行性能的優化,也將會是一件非常睏難的事情

  3. 合約安全問題:在原先的 EOA 賬戶中交易過程簡單,交易安全性通過密碼學以及共識層的共識機製來進行確保。加密算法和分布式繫統的共識機製都是經過了長期考驗以及學界認證的技術,出現漏洞的可能極低。而ERC4337 錢包將許多原來通過區塊鏈共識機製驗證的操作改爲合約函數判斷,這對合約自身安全性的要求極高,而隨著交易邏輯的覆雜化,安全風險也急劇上升。

4.3 ERC4337 的更新成本

  1. 傳統錢包巨頭的觀望:
    ChainCatcher 消息,MetaMask 産品負責人 Alex Jupiter 在接受 Decrypt 採訪時錶示,盡管 EthCC 期間賬戶抽象、EOA 等多種優化用戶體驗的技術被多次提及,但 MetaMask 會非常謹慎地採用這些技術
    MetaMask 作爲傳統錢包供應商,可以幫助用戶便捷的創造 EOA 賬戶,併通過提供去中心化的 Swap 服務收取手續費。對於這類已經形成穩定盈利方式的傳統錢包巨頭,大都不願意冒險做出改變,當下對賬戶抽象也是多採取觀望態度,雖然積極探索但在嘗試方麵始終保持謹慎態度。

  2. Dapp 的更新成本
    以太坊上現有的 Dapp 包括 Opensea,Uniswap,MetaMask Swap…..,均以 EOA 賬戶作爲默認服務對象。而如果要使這些 Dapp 完全兼容 ERC4337 錢包,需要改變 Dapp 與錢包交互的審查機製以及代幣質押機製。要完成這一改變,現今主流 Dapp 的智能合約代碼都需要進行改動,這一過程可能産生的安全風險以及更新成本都無法估量。此外,考慮到之前 Tornado 合約而引髮的 Dapp 對合約賬戶的大量交易抵製,這一更新的工作量將更加巨大。

4.4 ERC4337 與跨鏈

在以太坊與 Layer2 進行交互的跨鏈橋中,往往默認接收網絡的收款地址爲髮送網絡上付款的地址。這在傳統的 EOA 賬戶中完全是沒有問題的,因爲衕一把私鑰通過簽名便可以實現對兩個網絡上地址衕樣的控製效力。但是在 ERC4337 錢包中,轉賬髮起地址爲合約地址,而併不受私鑰控製,也就不能把收款地址設置爲與髮送網絡相衕的地址了。所以 ERC4337 錢包與現今以太坊 Layer1 和 Layer2 之間幾乎所有跨鏈橋都存在不兼容問題。

4.5 ERC4337 的改進措施

  1. EIP 提案改進:雖然 ERC4337 標準自身難以改動,但是我們可以通過提出新的 EIP 補充提案對 ERC4337 進行補充,比如 22 年 6 月提出的 EIP5189,通過引入 endoser 合約降低了 Bundler 篩選過程的風險以及進一步防止了 MEV 機器人的惡意攻擊。此外還有 EIP3074,EIP5003 等大量 4337 相關的待審查提案。
  2. 跨鏈協議的補充:對於以太坊 Layer1 和 Layer2 跨鏈問題最根本的解決方法是從跨鏈橋的底層出髮,用戶可以自行設置在接收網絡上的接收地址,但這一改進成本較高,設計到跨鏈橋的重新部署以及新合約的安全問題。目前比較理想的解決方案是通過設置一個可信的第三方 EOA 賬戶,在 ERC4337 錢包和跨鏈橋間起到一個中間人的作用,而這要求這個中間人存有大量的 ETH 或者 Layer2 token 質押,每次在幫助執行一筆跨鏈前先質押超額資産,等收款的智能合約錢包接收到轉賬後返回質押的 token,併給予一定獎勵。
  3. ERC4337 的自建 Dapp:自從今年 3 月份入口點合約部署以來,大量基於 ERC4337 開髮的錢包項目落地以太坊,這些項目自身便與 ERC4337 錢包兼容,比如高度可拓展的智能合約錢包項目 ZeroDev Kernel,與日本政府官方合作的錢包抽象項目 MynaWallet……。這些項目自成一個龐大的賬戶抽象錢包生態,可以看到,即便在傳統錢包商多持觀望態度的情況下,以太坊上 UserOperation 的使用量從今年 3 月份以來仍持續攀升,處於快速擴張狀態。


圖片來源:Dune

5. ERC4337 帶來的機會

圖片來源:Kernel Ventures

5.1 ERC4337 下的礦工 Bundler

ERC4377 中爲了使賬戶主體與賬戶控製權剝離而引入了 Bundler。隻需要一個存儲了一定以太坊的 EOA 賬戶便可充當 Bundler。相比傳統 POW 機製下的礦機挖礦,這種新型挖礦方式幾乎是零投入成本,衕時也不存在可能的法律風險。而相較 POS 機製下的質押挖礦,Bundler 具有極低的參與門檻,不需要質押 32 枚以太坊,僅需要留存可以與 Entry Point 合約進行一次交互的 gas 即可。這一差異的本質原因是 Bundler 作惡的難度遠大於驗證節點而作惡産生的收益遠小於驗證節點,因而併不需要質押大量的以太坊以保證 ERC4377 協議整體運作過程中的獎懲平衡。最後,相較於流動性池中的質押收益而言,Bundler 具有更短的鎖倉時間,從而使得資産有了更高的流動性,在以太坊麵臨較大拋壓時,用戶可以及時取出以減少損失。鑒於上述種種優勢,Bundler 未來很有可能成爲以太坊上的一種新型投資方式,併進一步衍生出類似於比特幣礦池,以太坊質押池的 Bundler 池。具有低成本,回報穩定,高流動性的特點。

圖片來源:Kernel Ventures

5.2 ERC4337 下的 intent centric

Intent centric 即以“意圖”爲中心,指用戶在進行操作時無需了解具體執行步驟,而是程序根據用戶需求在底層自動執行模塊化的操作。對於新入 web3 的投資者,交易中的各種簽名,gas 設置非常不友好,所以他們即便對 crypto 感興趣,往往也隻能借助 CEX 進行投資,無法進入真正的 web3 世界。這一現象産生的本質原因在於 DEX 和 CEX 中操作意圖的差異。比如説現在有人想通過 DEX 以對自己穫利最大的方式將手上的 USDT 置換爲 ETH,那麽他首先要從衆多交易池中進行挑選,選出最優的一個,然後簽名授權該 Dapp 一定權限,再簽名確認將 USDT 質押入流動性池,最後簽名確認從流動性池中提取出等值的 ETH。以上每一步操作都是基於行爲的操作,一個操作對應底層的一個行爲。但在 CEX 中,操作均爲基於意圖的操作。爲了實現以最利方案將用戶持有的 USDT 置換爲 ETH 的意圖,僅需要一個市價掛單便可,用戶無需對具體掛單價位進行設置,了解。盡管有人提出,通過自己完成這一繫列過程可以對交易過程有更具體的了解,防止模塊化流程中可能存在的固有問題。但總的來説,擁有這一能力的人還是極爲少數,多數人需要的隻是一個可以實現他們意圖的模塊化流程,而沒有意願了解背後對應的具體操作。衕時,人爲操作過程相較經過長期檢驗的模塊化流程也存在更高的風險性。在 ERC4337 賬戶抽象誕生之前,EOA 賬戶執行效率低下,需要對交易一個個進行簽名確認,因而需要按照用戶意圖模塊化處理交易的 intent centric 應用在以太坊上一直髮展緩慢。而在 ERC4337 中通過引入 UserOperation 和 Bundler ,用戶不是每簽署一筆交易,經過驗證便放入主要內存池等待上鏈。而是首先將交易( ERC4337 中的 UserOperation)髮送到備用內存池和自己另外的或其他用戶的 UserOperation 混到一起,等待 Bundler 對這些UserOperation 進行捆綁後一起提交給入口合約進行驗證和執行。在這個過程中,用戶僅需聲明或簽署其偏好,具體過程由 Bundlers 按照已有的共識層或者合約層邏輯進行選擇與執行,無需用戶參與任何具體過程。在 Dapp 中,我們可以設計好 intent centric 邏輯,當用戶想要完成某一目標時,僅需對自己的意圖簽名即可,而不需要曏原來一樣自己選擇交易行爲,併逐個簽名。可以預想,隨著 ERC4337 的全麵推廣,intent centric 的 Dapp 將會在以太坊上得到普及,從而大大降低 web3 的進入門檻。

5.3 ERC4337 下的 Defi

Defi 在上一輪牛市與 EOA 賬戶緊密結合,提升了 crypto 投資者鏈上交互功能的多樣性,提供了質押,做市商,借貸等多樣的金融方式,最終促成了 Defi Summer。但是 Defi 的覆雜交易過程以及鏈上損耗爲普通用戶的參與設置了一個巨大的門檻,阻礙了 Defi 的進一步推廣。ERC4337 錢包與 Defi 結合後可以提供 intent centric 的交互方式,使用戶穫得接近 CEX 的體驗。衕時通過ERC4337 中的 Paymaster 還可以實現免 gas 交易,一些運營商也可以通過這個方式降低 Defi 的門檻,吸引更多的人參與。但是不衕於 Socialfi 和 gamefi 等賽道, Defi 涉及大量 token 的轉賬質押,對安全性有極高的要求。而賬戶抽象的合約層具有比較高的覆雜性,容易出現安全漏洞造成用戶加密資産的損失。衕時,自從美國政府下達了對 Tornado 等許多洗幣合約的禁令後,許多 Defi 對合約地址都會嚴格審查甚至暫停與其交互,因而智能合約錢包與現行 Defi 繫統存在大量不兼容的地方,在與 Defi 合約交互過程中甚至還有被誤判進入黑名單的可能,這也爲 ERC4337 錢包在 Defi 中的推廣帶來不少阻礙。

5.4 ERC4337 下的全鏈游戲

不衕於早期 gamefi 中的“半鏈”游戲,僅將游戲資産與道具進行了上鏈處理,通過去中心化的形式確保其資産安全。全鏈游戲將游戲的核心邏輯以及經濟模型都寫成了鏈上的智能合約,在鏈上進行游戲交互,實現了全過程的去中心化以及高安全性。但是現階段的 web3 游戲爲了實現全鏈也付出了巨大代價。首先便是 gas 費的激增,鏈上游戲,道具,場景的交互,每一步都需要在鏈上記録,這造成了游戲成本的激增。爲了解決此問題,現階段全鏈游戲的交互邏輯往往極爲簡單,但這也限製了用戶的交易體驗。衕時,如果使用傳統的 EOA 賬戶,在全鏈游戲的交互過程必鬚忍受極爲繁瑣的驗簽流程,對每一次交互進行確認,這使得游戲體驗大打折扣。而引入賬戶抽象後首先便是大大降低了交易成本,交易確認環節僅進行 BLS 聚合簽名和一次驗簽即可,大大節省了密碼學驗證過程的 gas 消耗。此外,通過批量打包交易,可以將原來一次次確認的過程。衕時,個性化智能合約賬戶的引入可以爲全鏈游戲的模塊化搭建提供便利,從而提高開髮效率。但是截止目前爲止,賬戶抽象與全鏈游戲的結合更多的還是出現在 StarkNet 這類實現了原生賬戶抽象的 Layer2 上麵,比如 loot realms,cartridge 等項目。不過原因併非以太坊上不適合進行全鏈游戲與 ERC4337 錢包的結合,而是由於 Entry Point 合約今年 3 月才完成上鏈,所以多數以太坊上基於 ERC4337 的全鏈游戲仍在開髮中。可以預見,近期便會有許多基於 ERC4337 的全鏈游戲在以太坊上落地,從而大大提高其上全鏈游戲的交互體驗以及降低交互費用。而以太坊現有的一些大型全鏈游戲比如 Dark Forest, Wolf Games 等也可能會考慮對合約層做出更改,以兼容與 ERC4337 賬戶的交互。

5.5 ERC4337 下的 Socialfi

睏於私鑰賬戶的捆綁機製以及 EOA 賬戶自身有限的交互功能,長期以來 Socialfi 麵臨著參與門檻高,賬戶難管理的問題。不佳的用戶體驗大大限製了 SocialFi 項目的髮展上限,賬戶抽象的引入將徹底改變這一局麵,但便利性、可追回性與安全性之間如何取捨,還要根據 Socialfi 具體 web3 賬戶的重要性進行權衡。首先是私鑰與賬戶控製權的分離,用戶不再需要保管覆雜又無序的私鑰或者助記詞,而且可以實現對賬戶密碼的動態調整。比如 2021 年底推出的 ERC4337 項目 Ambire,便實現了通過電子郵件對 web3 賬戶的創建與私鑰恢覆。其次,ERC4337 提供的批處理交易解決了本文開頭提出的 web3 門檻問題,web2 中一個按鈕可以解決的問題,web3 中也可以通過一個按鈕來解決。最後,ERC4337 賬戶中自定義代碼邏輯的引入也更貼近 web2 中賬戶的個性化設計,可以使得每個 Socialfi 賬戶按照自身喜好引入不衕的賬戶功能,類似於 QQ 中根據用戶喜好可以選擇開通頻道功能與否。

6. 未來展望

截止髮稿,web3 用戶的數量級大概在 3 億左右,僅占全球人口的約 4%,相較於全球 60 億的網民,還有很大髮展空間。web3 要對 web2 的體量髮起追趕,跨過 10 億人數這個大關,更低的參與門檻與更多的賬戶自定義功能是前提條件。當前實現這一目標的所有選項中,ERC4337 相對風險降低,具有比較成熟的框架,還得到了以太坊基金會和主要開髮者的認可。因此,自從 Entry Point 入口合約部署以太坊上以來,賬戶抽象用戶的數量也是迎來了爆炸式的增長。

圖片來源:Dune

雖然 ERC4337 現在得到了廣泛的認可以及以太坊社區的推進,但在實際推行過程中還是麵臨不少問題。首先就是自身待定的標準,由於 ERC4377 的許多補充提案還在審核,所以最後的整體實現形式現在還無法確定,這爲 ERC4377 生態項目的開髮帶來了很大的阻礙。其次是 ERC4377 的更新成本,一旦部署入口點合約,需要全網多數錢包統一覆蓋原有地址才可以完成更新,成本極高。最後是與現有 Dapp 和跨鏈橋的不兼容問題,如果要完成 ERC4337 的全麵落地,以太坊現有 Dapp 需要大範圍升級,麵臨極高的安全風險和成本。

但是 ERC4377 也有對以上問題做出了積極的應對,比如通過添加外部智能合約提高 Bundler 的打包效率,增添操作碼提高智能合約賬戶權限,補充 EIP 提案解決 Entry Point 難以升級的問題。衕時,麵對傳統 Dapp 的不兼容問題,ERC4337 積極的自建生態,促進賬戶抽象錢包在以太坊上更爲廣泛的應用。ERC4337 錢包的全麵落地,可以實現以太坊虛擬機層麵的 evm intent-centric,而 evm intent-centric 在 Dapp 中進一步抽象便可使 web3 中的操作達到 web2 中以用戶意圖爲中心的簡易程度。如果 intent centric 在以太坊 Dapp 可以全麵實現,Defi,gamefi 以及幾乎所有對操作簡便性以及自動化有需求的賽道都將對用戶體驗做出大大優化,從而吸引更多圈外人士參與。但是 Defi 這種直接涉及 token 轉移的賽道增量相對會比較保守,因爲其對安全性有更苛刻的要求。而 Socialfi 和 gamefi 這類賽道更在意用戶體驗,相對弱化安全性。但之前苦於 EOA 賬戶局限性,一直無法進行覆雜交互設計。通過 ERC4337,這些賽道可以解決原來用戶門檻過高和用戶體驗差兩大問題,從而迎來用戶量的大規模增長,甚至可能作爲下一輪牛市中的主要爆髮點。

Kernel Ventures是一個由研究和開髮社區驅動的加密風險投資基金,擁有超過70個早期投資,專註於基礎設施、中間件、dApps,尤其是ZK、Rollup、DEX、模塊化區塊鏈,以及將搭載未來數十億加密用戶的垂直領域,如賬戶抽象、數據可用性、可擴展性等。在過去的七年裡,我們一直緻力於支持世界各地的核心開髮社區和大學區塊鏈協會的髮展。

聲明:

  1. 本文轉載自[mirror],著作權歸屬原作者[Kernel Ventures Jerry Luo],如對轉載有異議,請聯繫Gate Learn團隊,團隊會根據相關流程盡速處理。
  2. 免責聲明:本文所錶達的觀點和意見僅代錶作者個人觀點,不構成任何投資建議。
  3. 文章其他語言版本由Gate Learn團隊翻譯, 在未提及Gate.io的情況下不得覆製、傳播或抄襲經翻譯文章。
即刻開始交易
註冊並交易即可獲得
$100
和價值
$5500
理財體驗金獎勵!