
原文作者:Nishil原文編譯:DeFi 之道
原文編譯:DeFi 之道
原文編譯:DeFi 之道EIP-4337原文編譯:DeFi 之道
是如何嘗試用賬戶抽象(Account Abstraction)來解決這個問題的。
賬戶抽象EIP-4337 將如何改善以太坊UX?
那麼,讓我們從帳戶抽象(AA)的意義開始。
一、帳戶抽象(AA)的定義
帳戶抽象可以為用戶提供了簡化使用帳戶的能力,從而降低對底層流程的了解要求。
就像我們使用一個gmail 帳戶,而不需要知道它是如何工作的一樣。
有了帳戶抽象,我們就有機會遠離可怕的助記詞世界。
我們可以啟用不同的簽名選項,gas 費用可以由Dapp 贊助或通過法定貨幣支付等等。
現在,我們知道了帳戶抽象(AA)的定義是什麼,讓我們了解如何將它帶到以太坊。
二、如何為以太坊實現賬戶抽象
目前以太坊上有兩種類型的賬戶:外部擁有賬戶(EOA)與智能合約賬戶。
所謂外部擁有賬戶(EOA),是指這些帳戶由用戶的密鑰對(公鑰和私鑰)控制, 這是大多數用戶用來與以太坊交互的方式,Metamask(錢包)等服務充當與這些帳戶交互的接口。
智能合約賬戶則不受任何私鑰控制,而是由其代碼控制。例如,所有的DeFi 協議都由智能合約賬戶控制。
以太坊的問題在於,外部擁有賬戶(EOA) 獲得了智能合約賬戶所沒有的特權。最顯著的例子是發起交易的能力。目前,只有外部擁有賬戶(EOA) 可以做到這一點。
這是一個問題,因為EOA 功能被硬編碼到以太坊協議中,並且沒有定制空間。
例如:Gmail 為你提供了在你的帳戶上啟用2FA 的選項。而今天在以太坊上無法實現類似的可定制性。
以太坊上的EOA 有以下限制:
用戶不能使用自定義簽名方案。 ECDSA 是以太坊用來生成公私密鑰對的典型簽名方案。
Gas 費必須以原生加密貨幣($ETH) 支付。
因為你的私鑰就是你的賬戶,丟失你的密鑰就意味著丟失你的賬戶。
所有這些問題都可以通過智能合約錢包輕鬆解決,因為它們允許使用自定義邏輯。
現在你可能會問——我們為什麼不改變它呢?EIP-2938好吧,
好吧,
是解決此問題的一種途徑。它引入了以太坊協議更改,允許交易從智能合約而不是EOA 發起。
因此,nethermind 以及opengsn 的研究人員在Vitalik Buterin 的幫助下提出了EIP-4337。
賬戶抽象EIP-4337 將如何改善以太坊UX?
該提案提出了一種解決方法,無需更改任何共識層協議,就能為以太坊帶來“賬戶抽象”。
它沒有修改共識層本身的邏輯,而是將當前tx 存儲池的功能複製到更高level 的系統中。
流程有很多活動部分,其中包括:
用戶操作(User operations)
捆綁者(Bundler)
Paymaster(可選)
接下來,讓我們一一了解這幾個概念。
該提案引入了“用戶操作”的概念,這些操作允許我們將自定義功能編碼到我們的智能合約錢包中。
相關圖像:
賬戶抽象EIP-4337 將如何改善以太坊UX?
1、Alice(用戶)發起一個“用戶操作”並包含它想要執行的tx;
賬戶抽象EIP-4337 將如何改善以太坊UX?
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-4337 將如何改善以太坊UX?
贊助交易功能有很多用例, 最常被引用的用例是:
允許應用開發人員代表其用戶支付費用;
允許用戶以ERC20 代幣支付費用,合約充當收取ERC20 的中介;
三、賬戶抽像對我們意味著什麼?
所有這一切都非常令人興奮,但我們為什麼要關心呢?好吧,有多種原因。
提案允許我們使用自定義簽名方案。用戶現在可以使用iOS 和Android 設備的內置方案,將每部手機變成硬件錢包。
它允許在以太坊上為多個簽名者提供原生支持。兩個或更多用戶現在可以批准單筆交易,從而提高安全性。
可以啟用社交恢復。如果用戶不知何故丟失了他的密鑰,那麼他可通過簡單地讓他的朋友和家人為他恢復賬戶。