解析:EIP-4337如何用賬戶抽象來改善以太坊複雜的用戶體驗問題


文:Nishil

來源:推特

以太坊的一個主要缺點是用戶體驗複雜。

本文將帶你了解Nethermind和OpenGSN.eth於2021年9月21日提出的EIP-4337如何嘗試使用賬戶抽象來解決這個問題。

讓我們從賬戶抽象(Account Abstraction,簡稱AA)的含義開始。

賬戶抽象為用戶提供了在更高層次上使用賬戶的能力,而無需對底層流程了解過多。

就像使用Gmail賬戶卻不知道它的運行原理一樣。

有了AA,我們就有機會遠離助記詞的可怕世界。

我們可以啟用不同的簽名選項,gas費可以由Dapp贊助或通過法幣支付,等等。

現在我們知道了AA是什麼,讓我們了解一下如何將它引入以太坊。

目前以太坊上有兩種類型的賬戶:

1. 外部擁有賬戶(EOA)

2. 智能合約賬戶

外部自有賬戶由用戶的密鑰對(公鑰和私鑰)控制。這是大多數用戶用來與以太坊交互的工具。

Metamask(錢包)等服務充當與這些賬戶交互的接口。

智能合約賬戶不受任何私鑰控制,而是由它們的代碼控制。例如,所有的DeFi協議都由智能合約帳戶控制。

以太坊的問題是EOA獲得了智能合約賬戶所沒有的特權。

最明顯的例子是啟動交易的能力。目前,只有EOA可以做到這一點。

這是個問題,因為EOA功能被硬編碼到以太坊協議中,沒有定制空間。

例如:Gmail為你提供了在你的帳戶上啟用2FA(雙因素認證)的選項。類似的自定義功能目前無法在以太坊上實現。

以太坊上的EOA有以下限制:

1. 用戶不能使用自定義簽名方案。 ECDSA是一種典型的簽名方案,以太坊使用它來生成公私鑰對。

2. Gas費用必須用原生加密貨幣(ETH)支付。

3.因為你的私鑰是你的帳戶,丟失私鑰就意味著丟失帳戶。

所有這些問題都可以通過智能合約錢包輕鬆解決,因為它們允許使用自定義邏輯。

但如前所述,以太坊上的交易只能通過ECDSA保護的外部擁有賬戶(EOA)啟動,而不能通過智能合約錢包。

現在你可能會問,為什麼我們不改變這種情況呢?

EIP-2938是解決這個問題的一條途徑。它引入了以太坊協議變更,允許交易從智能合約而不是EOA開始。

但如前所述,這需要重大的協議更改。

因此,Nethermind和OpenGSN.eth得到了Vitalik Buterin的幫助,提出了EIP-4337。

該提案提出了一個沒有任何共識層協議更改的解決方案。

它為以太坊帶來了“帳戶抽象”。

它沒有修改共識層本身的邏輯,而是提議在更高級別的系統中復制當前交易內存礦池的功能。

該提案引入了“user operations”(用戶操作)的概念,這些操作允許我們將自定義功能編碼到我們的智能合約錢包。

用戶操作將用戶的意圖與簽名和其他數據打總結,以便進行驗證。

解析:EIP-4337如何用賬戶抽象來改善以太坊複雜的用戶體驗問題

以下是通過智能合約錢包發起的交易的一般流程:

1、Alice(用戶)發起一個“用戶操作”,並包含它想要執行的交易。

解析:EIP-4337如何用賬戶抽象來改善以太坊複雜的用戶體驗問題

2、她將操作發送到高級別的“用戶操作內存礦池”。

3、操作被部分驗證並廣播到P2P內存礦池節點網絡。

4、操作由“Bundler”(打包者)負責,Bundler可以是任何人——MEV搜索者、驗證者、你或我,等等。

5、然後所有的操作被打包者打包成一筆大額交易。

6、打包者將該區塊與其他交易一起包含在以太坊區塊中。

現在,讓我們試著分析打包者的功能,來了解交易將如何被執行和驗證。

1、打包者將交易路由到一個全局的“入口點”智能合約。

解析:EIP-4337如何用賬戶抽象來改善以太坊複雜的用戶體驗問題

2、全局合約通過每個用戶操作並調用智能合約錢包中的“驗證函數”。

3、錢包運行這個函數來驗證用戶操作的簽名,並對打包者打包這些交易進行補償。

4、錢包運行一個執行操作來執行操作中指定的交易。

5、執行操作後,剩餘的gas會退還至錢包。

EIP-4337還提出了“paymaster”(付款人)的概念。

現在,用戶不用再依賴錢包,而是可以通過付款人的讚助獲得交易費用。

解析:EIP-4337如何用賬戶抽象來改善以太坊複雜的用戶體驗問題

受讚助的交易有很多用例。最常提到的用例是:

允許應用程序開發者代表其用戶支付費用

允許用戶以ERC20代幣支付費用,合約作為收取ERC20代幣的中介。

所有這些都非常令人振奮,原因有很多。

1. EIP-4337提案允許我們使用自定義簽名方案。用戶現在可以使用iOS和Android設備的內置方案,將手機都變成硬件錢包。

2. 它允許在以太坊上為多個簽名者提供原生支持。兩個或以上用戶現在可以批准一筆交易,從而提高安全性。

3.可以啟用社會恢復。如果一名用戶不知何故丟失了密鑰,那麼他只需讓他的朋友和家人幫他恢復賬戶就可以了。

資訊來源:由0x資訊採集自互聯網。版權歸作者“CT中文”所有,未經許可,不得轉載

Total
0
Shares
Related Posts