【一種改變一切的升級】ERC-4337:讓Web3錢包用起來更順暢

眾所周知,Web3錢包是區塊鏈用戶的關鍵,但目前大多數錢包的用戶體驗並不是很好,這也是它獲得大規模采用的最大障礙之一。新用戶要在區塊鏈上交互,必須熟悉以下操作:創建錢包,保存好私鑰,購買和轉移資金,支付gas費,並在各種DAPP上進行繁瑣的操作。因此,降低新用戶的進入門檻和改善用戶體驗是加密貨幣得到大規模采用的前提。

ERC-4337是一種新的「賬戶抽象(Account Abstraction,縮寫為AA)」標準,它可以在以太坊區塊鏈及兼容EVM的網絡上解鎖智能合約錢包的功能。ERC-4337是Web3錢包工作方式的最關鍵的升級之一,它可以通過智能賬戶為用戶創造絲滑的用戶體驗。

本文將介紹什麽是AA智能合約賬戶(賬戶抽象),其工作原理,為什麽ERC-4337是Web3錢包用戶體驗的重要升級,以及如何在Web3應用程序中實現「智能賬戶」。

AA智能合約賬戶簡介
AA智能合約賬戶(賬戶抽象)把現行的合約賬戶、外部賬戶(EOA)兩種賬戶類型的優勢合二為一,讓賬戶本身「可編程」。在確保資產僅由智能合約持有的同時,可以擁有批量交易、代付gas、私鑰恢復等更多自定義和擴展功能。既簡化了鏈上交互的流程,又可以自動化實現gas補貼。

賬戶抽象這(ERC-4337)將是一次以太坊更新,可讓用戶創建非托管錢包作為可編程的智能合約。它可以解鎖許多可能性,例如錢包恢復,無痕交易和團隊錢包,從而使Web3體驗更安全、便捷、靈活。AA 智能合約錢包(賬戶抽象)又被稱為「智能賬戶」,「智能錢包」和「賬戶抽象錢包」等。

以太坊賬戶類型
以太坊賬戶是以太坊區塊鏈上存儲ETH並可以啟動和執行交易的獨特數字地址。以太坊賬戶可以分為外部賬戶(EOA)和合約賬戶這兩種類型。

外部賬戶(EOA):
EOA是由用戶擁有的錢包,從區塊鏈生態系統外手動操作。他們使用公鑰和私鑰對進行管理,只要擁有私鑰,就可以使用存儲在EOA中的資產。EOA最關鍵的部分是助記詞,即設置錢包時產生的12個隨機單詞(通常為12,有時候也會使用其他數量的單詞)。

EOA使用助記詞生成私鑰,然後用私鑰來簽署交易。因此,賬戶擁有者必須離線存儲助記詞才能免受黑客攻擊和盜竊。如果用戶丟失私鑰,則助記詞是重新獲取私鑰並找回資產的唯一方法。

目前流行的加密錢包大多數都是EOA,例如Coinbase錢包和Metamask。EOA是以太坊生態系統的關鍵部分,但它們在功能和靈活性方面受到限製,通常只能執行兩個動作:將token轉移到其他EOA或啟動觸發另一項智能合約的交易。

這些設計局限性提出了許多挑戰:

1.安全性弱:EOA的安全性與助記詞直接相關。如果用戶丟失私鑰和助記詞,則可能會丟失所有資產。而且沒有社會性的恢復選項。此外,用戶無法進行支出限製、雙重認證等安全設置。

2.缺乏自定義功能:EOA發起的交易無法自定義或自動化。用戶必須手動簽署每筆交易。

  1. Gas支付:用戶必須先有ETH才能為交易支付gas,而新註冊的用戶卻通常沒有ETH。

因此,盡管EOA在Web3旅程中扮演了重要角色,但用戶體驗不佳,特別是對大多數新用戶並不友好,因此EOA並非區塊鏈得以大量采用的理想方式。吸引大量新用戶需要更簡單的用戶界面,更好的安全性和更高的靈活性。

合約賬戶:
合約賬戶使用智能合約形式作為加密錢包。各種邏輯都可以被編碼到智能合約中,以自定義交易並在合同賬戶中添加其他功能。但是,合約賬戶沒有私鑰或助記詞,無法主動啟動交易。當來自EOA的交易觸發智能合約代碼時,它們只能執行某個操作。這意味著用戶需要維持具有ETH余額的EOA才能操作合約賬戶。這使合約賬戶操作比操作獨立EOA更加不便,但賬戶抽象可以改變這一點。

賬戶抽象的工作原理
賬戶抽象和ERC-4337最重要的創新並非基於合約的錢包,而是抽象(分開)單獨的EOA或合約賬戶的能力。賬戶抽象能夠創建可執行交易的,無需EOA的獨立智能合約賬戶。任何可用智能合約代碼形式定義的自定義操作,都可以在智能賬戶中實現。

智能賬戶的操作很簡單,它不需要像 EOA 一樣發送常規交易,而是使用「用戶操作對象」(UserOperation)代表用戶進行操作。用戶操作對象具有多個數據元素,描述了交易類型、token、交易各個步驟的 gas 價格、驗證交易的簽名以及其他數據。

基於「賬戶抽象」的智能賬戶,在每次發送用戶操作時,交易都先會進入用戶操作的通用等待區域「內存池」(Mempool)中。然後,這些請求被類似於驗證常規交易的節點打包者(Bundler)打包在一起,它們使用與驗證器節點相同的邏輯來確定可以提取最大價值的交易。被打包的用戶操作通過單個白名單的入口發送,在該白名單中,通過調用不同的功能來驗證和執行每個單獨的用戶操作。

用通俗的話來說,這其實不是一個錢包,而是一個智能合約,但是,你可以把它當作錢包來用,所以叫「抽象」的賬戶。這樣的做的好處是,它可以實現一些全新的,更好體驗的功能。那麽,到底是哪些功能呢?

以太坊智能賬戶功能
由於用戶操作可以包含任何類型的邏輯,因此它允許用戶實現各種自定義操作,以如何管理其賬戶和資金。以下是5個賬戶抽象的用例:

1.錢包恢復
與EOA不同,智能賬戶的安全性不依賴助記詞或私鑰。智能賬戶所有者可以將多個設備、人員或第三方服務設置為錢包監護人。如果賬戶所有者失去了賬戶憑據,可由監護人簽署一項交易以分配新的憑據以訪問智能賬戶。這一過程不會損害賬戶所有者對資產的控製或所有權。

2.合並交易
在DEX中將一種token兌換為另一種token需要兩項單獨的交易。首先,用戶需要使用其私鑰簽署批準DAPP使用其想要交換的token。然後,需要簽署交易以執行兌換。其他更復雜的Web3交易可能需要三次或更多的簽名批準。智能賬戶則可以將多個交易匯總在一起,並一次性批準所有交易,這會使DeFi 交易與傳統的金融交易一樣簡單。

3.共享賬戶和團隊錢包
EOA賬戶所有者通過助記詞可以控製對EOA的完全訪問,如果他想要與他人共享權限,只能給出完整訪問權限,或者自己保管全部權限,並沒有中間路線可選。而賬戶抽象可以讓賬戶所有者與多個用戶共享對錢包的不同級別的權限。例如,賬戶所有者可以創建一個多簽,需要其中兩個或多個用戶簽署交易才能執行交易。此外,還可以添加只能在特定時間內為一組特定錢包支付限額資金的用戶。

4.自動交易
使用EOA時,用戶必須手動啟動或簽署DAPP上的每筆交易。無法將此過程自動化以進行信任的交易。在智能賬戶中,用戶可以定義一系列參數,例如訪問特定token、花費限製、持續時間、gas限製、基於預設的觸發條件的特定操作等等。

5.使用Token作為手續費代幣
使用抽象的賬戶,即便你的賬戶裏沒有以太坊,當必要第三方服務商支持其他Token時,例如USDT,你同樣可以使用USDT作為手續費完成賬戶操作。

綜上,AA智能賬戶的功能包括多重身份驗證和賬戶恢復;將原來普通賬戶需要多個步驟的交互(例如在 DEX 中兌換token)合並為一鍵完成;解除了gas對主鏈幣的依賴,可以使用任何代幣包括穩定幣支付gas,並實現第三方代付gas;以及更多可能性,因為智能賬戶的錢包本身即是合約,安全性與非托管錢包相同,可以實現更多自定義的功能。

AA智能賬戶的挑戰與前景
目前,ERC-4337仍存在兼容性問題,因為目前並非所有DAPP都可以驗證合約賬戶簽名的有效性。 但實施EIP-1217之後將解決這一問題。另外,由於以太坊區塊鏈使用費用仍然昂貴,因此AA智能賬戶也同樣面臨gas成本問題。在短期內,可以預見的是,ERC-4337將在L2中得到更多的采用。

總體來說,AA智能賬戶為Web3應用程序和錢包帶來了各種新的可能性。借助智能賬戶,用戶不僅可以更輕松地管理錢包,而且還可以優化錢包運行方式的靈活性。智能賬戶將是Web3交互的未來,它們將為Web3的可能性設定新的標準。