科普 | 一文了解EIP-4337提案的工作原理和優缺點

原標題:《賬戶抽象:EIP-4337》

在這篇文章中我們將得到一個關於EIP-4337在帳戶抽象中的角色的完整概念。

科普 | 一文了解EIP-4337提案的工作原理和優缺點

介紹

該提案包括一些更改,以避免對共識層協議的更改,而不是依賴於更高層的基礎設施。它旨在實現以下目標:

  • 帳戶抽象:允許用戶使用包含任意驗證邏輯的智能合約錢包,而不是EOA作為他們的主要帳戶。
  • 去中心化:允許任何綁定者參與包含帳戶抽象用戶活動的過程。用戶不需要知道任何參與者的直接通信地址,就可以處理跨公共內存池發生的任何活動。
  • 無共識更改:為了更快的採用,這個提議避免了共識變更。
  • 支付交易費用:使用ERC-20代幣支付交易費用,使開發人員能夠為他們的用戶支付費用,以及類似EIP -3074的贊助交易用例。

以下是該提案中的一些新特性。所有操作都在對等內存池中進行。用戶不必擔心他們的錢包合約已經發布,因為錢包存在於確定性的CREATE2地址,如果錢包不存在,UserOperation會自動創建它。用戶現在將能夠設置一個固定的費用溢價和最大總費用,並期望它能夠快速包含在內併合理收費。通過模擬檢查的UserOperation被保證是可包含的,直到發送者有另一個狀態改變,這將要求攻擊者為每個發送者支付7500+ gas。

工作

用戶發送UserOperation對象,該對象封裝了用戶的目的以及用於驗證的簽名和其他數據。利用Flashbots等服務的礦工或綁定者可以將UserOperation對象組合成單個捆綁交易,然後將其包含在以太坊區塊中。綁定者為ETH中的捆綁交易支付成本,並通過每個單獨執行UserOperation所支付的費用進行補償。綁定者將使用費用優先級邏輯選擇包含哪些UserOperation對象。

科普 | 一文了解EIP-4337提案的工作原理和優缺點

為了簡化錢包的邏輯,維護安全所需的大多數複雜智能合約邏輯都在錢包之外執行,在一個稱為入口點的全局合約中執行。validateUserOp和執行功能預計將與 門控require(msg.sender == ENTRY POINT),這樣只有可信的入口點才能觸發錢包進行操作或支付費用。在使用有calldata的UserOperation驗證userop成功之後,入口點對錢包進行任意調用,這樣做是為了保護錢包免受攻擊。

科普 | 一文了解EIP-4337提案的工作原理和優缺點

如果成功模擬了UserOperation的驗證,則保證UserOperation在發送方帳戶的內部狀態更改之前是可包含的。

發起交易

我們可以允許應用開發者代用戶支付費用,並允許用戶用ERC20代幣支付費用,通過合約作為中介收取ERC20代幣並使用ETH支付。

該提案可以通過付款主管機制支持上面的用例。

  • 對於用例1:Paymaster驗證發起人的簽名包含在paymasterData中,表明發起人已經準備好為UserOperation付費。如果簽名有效, Paymaster接受,UserOperation費用從發起人的份額中扣除。
  • 對於用例2:Paymaster檢查發起人錢包是否有足夠的ERC20餘額來支付UserOperation。如果是,Paymaster接受並支付ETH費用,然後在postOp中申領ERC20代幣。

優勢

  • 驗證邏輯靈活性:validateUserOp函數添加了任意簽名和隨機數驗證邏輯。
  • 執行邏輯靈活性:錢包將能夠為執行步驟添加自定義邏輯。
  • 錢包可升級性:錢包將能夠更改其公鑰或升級其代碼。

缺點

  • 增加DoS漏洞:驗證邏輯比單個ECDSA驗證更複雜。
  • 一次一個交易:帳戶不能排隊並將多個交易發送到Mempool。
  • Gas開銷:與正常交易相比,更多的gas開銷。

Source:https://medium.datadriveninvestor.com/account-abstraction-eip-4337-40a94d5b6d2c

本文鏈接:https://www.8btc.com/article/6699750

轉載請註明文章出處

(0)
上一篇 2021-10-21 10:03
下一篇 2021-10-21 10:48

相关推荐