2021 年 9 月聯合發起的以太坊帳戶抽象提案 EIP-4337 在本月發布了新版本,帳戶抽象(Account Abstraction)是通過省略以太坊帳戶體系中不必要細節,來減少複雜性並有效地消除了對外部帳戶(EOA)和對智能合約錢包的需求。
(前情提要:合併只是墊腳石》以太坊 (ETH) 的敘事和機遇,才剛剛開始 )
(背景補充:以太坊 EIP-4895「開放質押提款」提案,確定上海升級時部署 )
以太坊的主要缺點之一是用戶體驗複雜,讓我們了解一下由 nethermind 以及 opengsn 研究者提出的 EIP 4337 是如何嘗試用帳戶抽象(Account Abstraction)來解決這個問題的。
那麼,讓我們從帳戶抽象(AA)的意義開始。
一、帳戶抽象(AA)的定義
帳戶抽象可以為用戶提供了簡化使用帳戶的能力,從而降低對底層流程的了解要求。
就像我們使用一個gmail 帳戶,而不需要知道它是如何工作的一樣。有了帳戶抽象,我們就有機會遠離可怕的助記詞世界。
我們可以啟用不同的簽名選項,gas 費用可以由 Dapp 贊助或通過法定貨幣支付等等。
現在,我們知道了帳戶抽象(AA)的定義是什麼,讓我們了解如何將它帶到以太坊。
二、如何為以太坊實現帳戶抽象
目前以太坊上有兩種類型的帳戶:
- 外部擁有帳戶(EOA)
- 智能合約帳戶
所謂外部擁有帳戶(EOA),是指這些帳戶由用戶的密鑰對(公鑰和私鑰)控制, 這是大多數用戶用來與以太坊交互的方式,Metamask(錢包)等服務充當與這些帳戶交互的接口。
智能合約帳戶則不受任何私鑰控制,而是由其程式碼控制。例如,所有的DeFi 協議都由智能合約帳戶控制。
以太坊的問題在於,外部擁有帳戶(EOA) 獲得了智能合約帳戶所沒有的特權。最顯著的例子是發起交易的能力。目前,只有外部擁有帳戶(EOA) 可以做到這一點。
這是一個問題,因為EOA 功能被硬編碼到以太坊協議中,並且沒有訂製空間。
例如:Gmail 為你提供了在你的帳戶上啟用 2FA 的選項。而今天在以太坊上無法實現類似的可訂製性。
以太坊上的 EOA 有以下限制:
- 用戶不能使用自定義簽名方案。ECDSA 是以太坊用來生成公私密鑰對的典型簽名方案。
- Gas 費必須以原生加密貨幣($ETH) 支付。
- 因為你的私鑰就是你的帳戶,丟失你的密鑰就意味著丟失你的帳戶。
所有這些問題都可以通過智能合約錢包輕鬆解決,因為它們允許使用自定義邏輯。
但如前所述,以太坊上的交易只能通過 ECDSA 保護的外部擁有帳戶(EOA) 發起,而不能通過智能合約錢包發起。
現在你可能會問——我們為什麼不改變它呢?
好吧,EIP 2938 是解決此問題的一種途徑。它引入了以太坊協議更改,允許交易從智能合約而不是EOA 發起。
但問題在於,它需要對協議進行重大更改。
因此,nethermind 以及opengsn 的研究人員在Vitalik Buterin 的幫助下提出了EIP 4337。
該提案提出了一種解決方法,無需更改任何共識層協議,就能為以太坊帶來「帳戶抽象」。
它沒有修改共識層本身的邏輯,而是將當前 tx 儲存池的功能複製到更高 level 的系統中。
流程有很多活動部分,其中包括:
- 用戶操作(User operations)
- 捆綁者(Bundler)
- Paymaster(可選)
接下來,讓我們一一了解這幾個概念。
該提案引入了「用戶操作」的概念,這些操作允許我們將自定義功能編碼到我們的智能合約錢包中。
用戶操作將用戶的意圖、簽名以及其他數據打包以進行驗證。
相關圖像:
以下是通過智能合約錢包發起一筆交易的一般流程:
1、Alice(用戶)發起一個「用戶操作」並包含它想要執行的 tx;
2、她將該操作發送到一個高level 的「用戶操作儲存池」。
3、該操作被部分驗證,並廣播到P2P 儲存池節點網路。
4 、操作由「Bundler」選擇執行,任何人都可以成為Bundler ,例如MEV 搜索者、驗證者、你或我等等。
5 、然後Bundler 將所有操作捆綁到一筆大的tx 中。
6 、Bundler 將區塊與其他tx 一起包含在以太坊區塊中。
現在讓我們嘗試分解Bundler 的功能,以了解如何執行和驗證tx。
1 、 Bundler 將tx 路由到一個全局「入口點」智能合約。
2 、 全局合約通過每個用戶操作並調用智能合約錢包中的「驗證函數」。
3 、 錢包運行此函數來驗證用戶操作的簽名並補償bundler 捆綁這些交易。
4 、 錢包運行一個執行操作以執行操作中指定的交易。
5 、 然後在執行操作後將剩餘的gas 退還給錢包。
該EIP 還提出了「付款人」(paymaster)的概念。
用戶現在可以不再依賴他們的錢包,而是可以讓付款人贊助他們的交易費用。
贊助交易功能有很多用例, 最常被引用的用例是:
- 允許應用開發人員代表其用戶支付費用;
- 允許用戶以ERC20 代幣支付費用,合約充當收取ERC20 的中介
三、帳戶抽像對我們意味著什麼
所有這一切都非常令人興奮,但我們為什麼要關心呢?好吧,有多種原因。
- 提案允許我們使用自定義簽名方案。用戶現在可以使用iOS 和Android 設備的內置方案,將每部手機變成硬體錢包。
- 它允許在以太坊上為多個簽名者提供原生支援。兩個或更多用戶現在可以批准單筆交易,從而提高安全性。
- 可以啟用社交恢復。如果用戶不知何故丟失了他的密鑰,那麼他可通過簡單地讓他的朋友和家人為他恢復帳戶。
好了,以上就是該提案的全部內容。
這個提案引入了多種創新途徑,我希望我解釋地清楚了它們。看到團隊構建的用例,為用戶提供更好的用戶體驗,將是令人興奮的。
📍相關報導📍
以太坊基金會官宣 : EIP-2982 「寧靜階段 0」完成!合併工作結案、將邁向分片