2023 年年初,以太坊社區掀起了一陣有關「賬戶抽象」(Account Abstraction,常見簡稱AA)的討論熱潮,並發布了若干改進協議。
其中,有一份名為EIP-4337 的改進協議,在經過以太坊開發團隊的測試和OpenZeppelin 的審計之後,於2023 年3 月1 日被宣布確定成為以太坊標準ERC-4337(Ethereum Request for Comments,常見簡稱ERC),並已被正式部署到以太坊主網。
以太坊創始人Vitalik Buterin 曾表示,ERC-4337 的實施「將為錢包的設計打開創意之門」。
以太坊基金會安全研究員Yoav Weiss 在接受媒體採訪時也表示,ERC-4337 的實施將大舉降低Web3 的門檻——「新用戶將不再需要學習複雜的助記詞或設置錢包的技術過程,即可進入去中心化的加密世界。」
雖然ERC-4337 技術標準目前並不像涉及質押提取功能的以太坊協議EIP-4895 那般受到眾多數字資產持有者的關注,但從行業人士的評價也不難看出, ERC-4337 技術標準的實施,似乎正在給以太坊的用戶體驗帶來一場巨大的變革。
什麼是「賬戶抽象」
「賬戶抽象」(Account Abstraction),可以理解成是一個致力於減少以太坊現有賬戶體系中不必要操作細節的技術構想和解決方案,通過「賬戶抽象」的實現,可以降低用戶在區塊鏈上操作交易的複雜性,讓以太坊賬戶在功能上更具有可擴展性。
更多介紹,可查閱以下文章:
什麼是ERC-4337
ERC-4337 技術標準(也即EIP-4337)是一套在不需要修改共識規則的情況下,讓以太坊主網能夠實現賬戶抽象的技術規範和解決方案。
不需要修改共識規則,則意味著不需要修改底層交易類型,也不需要添加新的協議功能(protocol),那麼,這樣的情況下,該如何讓以太坊主網實現新功能?ERC-4337 的解決辦法是:為合約賬戶專門引入了一個名為UserOperation 的交易對象。
在使用中,用戶將UserOperation 對象發送到單獨的內存池中,一類被稱為bundlers 的區塊鏈構建器將UserOperation 對像打包成一個被調用的特殊合約交易,然後該交易的操作就會被handleOps 包含在一個區塊鏈中。
有了ERC-4337 這樣的技術操作,從此,以太坊上單個合約賬戶也可以發起交易——正是這樣的技術改進與功能實現,詮釋了以太坊創始人所談到的「為錢包的設計打開創意之門」,意味著錢包工具應用範圍將得到更大的拓展。
而當用戶可以輕鬆使用合約賬戶進行數字資產操作時,這確實也同時意味著,用戶不再需要牢記密鑰和助記詞了。
什麼是合約賬戶
合約賬戶(Contract Account),又稱智能合約賬戶。簡單理解,這其實就是一個智能合約,任何操作要利用代碼執行,但合約賬戶不受私鑰的控制,通過調整代碼,不僅可以實現對數字資產的操作,還可以有更多不同的功能操作。
不過,在當下,大部分數字資產持有者並不是通過智能合約(即合約賬戶)持有或操作數字資產,他們大多是通過一組記錄在鏈上的公鑰和私鑰去掌控鏈上的數字資產,這些公鑰和私鑰就對應構成了一類被稱為「EOA 賬戶」(Externally Owned Account,也被簡稱為外部賬戶)的管理體系。
所謂「外部」,顧名思義,其實就是連接區塊鏈以外世界與區塊鏈的一個渠道,從區塊鏈的層級關係來看,也可以理解成:合約賬戶,其實就是EOA 賬戶用戶部署的智能合約。
由此可見,ERC-4337 技術標準想實現的改進目標,能夠幫助用戶的操作「瘦身」,讓用戶能夠離區塊鏈的核心近一點、再近一點。
一直以來,大量使用EOA 賬戶持有數字資產的用戶,經常面臨的一個難題是:如何合理管理私鑰。這個管理不僅考驗用戶自身的管理能力,因為私鑰一旦遺忘或者遺失,沒有辦法能夠找回,同時也考驗用戶應對不法黑客攻擊的安全保障能力,這其實提高了用戶使用區塊鏈的門檻。
而受代碼控制的合約賬戶,不受私鑰控制,那麼,這也就意味著,如果能夠輕鬆使用合約賬戶進行數字資產的操作,用戶將不再被「私鑰如何牢記」「私鑰如何管理」等問題困擾或束縛。
可是,當使用合約賬戶操作數字資產時,用戶是不能夠像使用EOA 賬戶那樣直接主動地發起交易操作——在區塊鏈中,智能合約只能是作為一個交易的中繼,即如果一個合約賬戶要與另一個合約賬戶發生互動,必須還要有一個EOA 賬戶作為發起者,才能觸發相應函數,實現合約賬戶與目標合約賬戶之間的互動。
那麼,有沒有一種技術方案,能將EOA 賬戶的這個發起功能合併到合約賬戶裡,私鑰從此被抽象化,合約賬戶可以實現主動交易?——以上一切,就是ERC-4337 技術標準誕生的初衷。
ERC-4337 會給以太坊用戶帶來哪些操作改變?
1丟失私鑰不再意味著失去一切
ERC-4337 技術標準的實施,允許以太坊用戶使用合約賬戶執行數字資產的相關操作,不再需要處理私鑰,降低了數字資產永久損失的風險,也能夠提升隱私保護應用功能。
2可以創建多重簽名錢包
ERC-4337 技術標準的實施,允許用戶執行創建多重簽名交易,可以實現更安全、信任度更高的數字資產操作。
3可以創建自動化交易
ERC-4337 技術標準的實施,也開啟了一種新的可定制化——用戶可以為合約帳戶部署任意授權邏輯,比如自動支付、預約交易等。
4可以一次簽名確認完成多項操作
ERC-4337 技术标准的实施,可以允许用戶将多项操作或授权放在一起执行,提高了操作效率。
5沒有ETH 也可以支付操作費用
ERC-4337 技術標準中有關於Gas Fee 的幫助支付功能,允許開發人員為其用戶支付費用。這意味著即使用戶沒有ETH,也可以完成操作費用的支付。