加密貨幣交易所 加密貨幣交易所
Ctrl+D 加密貨幣交易所
ads
首頁 > XRP > Info

開發者指南:詳解賬戶抽象提案EIP-4337工作流程_GAS:Sopot Coin

Author:

Time:1900/1/1 0:00:00

原文標題:《EIP-4337 詳細工作流程》

原文作者:Ben Law

本文不會從頭介紹 EIP-4337,僅介紹 4337 的主要合約是如何實現的。適合對 4337 有一定了解的開發者,由其是錢包開發者,以及愛好者或研究員閱讀。

主要內容位于流程圖中:

需要配合 4337 源碼閱讀 GitHub—eth-infinitism/account-abstraction at main。

4337 Spec 中有更多詳細細節 EIP-4337: Account Abstraction using alt mempool。  

請注意:

本流程圖只畫出了普通類型的交易,未涉及 Aggregator。掌握普通流程后才方便掌握聚合型的交易。

開發者發布BIP39 Colors工具以將加密錢包種子短語轉化為隨機顏色:金色財經報道,開發者Entero Positivo于6月25日發布了BIP39 Colors,它可以幫助將12或24個單詞的錢包種子短語轉化為不起眼的、看似隨機的顏色陣列,為用戶提供了一種保存資金的潛在新方式。[2023/7/14 10:54:50]

流程圖中箭頭不代表程序的調用棧或輸入輸出,僅代表相關角色、函數、事件的發生的先后順序。

為方便讀者對宏觀架構的快速理解,流程圖中省略了一部分函數調用和邏輯。被省略的部分有可能對你研究的問題或疑惑有很大意義,具體看你想了解什么內容,所以還是需要你必要時仔細閱讀源碼。

研究 4337 需要掌握以下核心概念:

UserOperation 的內容 EntryPoint 實現 Wallet 實現 Paymaster 實現驗證階段、執行階段的執行流程與錯誤處理 Gas 的支付流程與計算

以太坊核心開發者:仍將繼續通過影子分叉尋找漏洞,難度炸彈實施方案仍未達成共識:金色財經消息,以太坊核心開發者Tim Beiko在Twitter上分享了The Merge會議的內容。本次會議顯示,之前進行的兩次影子分叉進行相對順利,沒有出現重大問題,但在測試網正式分叉前還將繼續通過影子分叉來尋找可能的漏洞。在MEV方面,會議討論的結果顯示,mev-boost未來會有一個額外的約束,區塊的構建者需要尊重驗證者選擇的Gas限制。最后,Tim Beiko表達了其對難度炸彈的看法,由于難度炸彈對礦工以及用戶體驗的影響較大,所以其認為針對難度炸彈的設置和啟用應該謹慎,客戶端團隊成員甚至支持移除難度炸彈。[2022/4/30 2:41:49]

一種內容類似 transaction 的偽交易對象,通過新的 RPC 方法 eth_sendUserOperation 提交給節點。

UO 中的字段含義大部分是顯然的,僅挑選幾個容易誤解的進行分析:

以太坊開發者:Etherscan可顯示使用EIP-1559能節省的交易費用:以太坊開發者Tim Beiko發推表示,當前Etherscan頁面已可顯示使用EIP-1559能節省的交易費用。[2021/7/8 0:36:10]

sender,此處指的是要交互的 wallet,而非 msg.sender 或 tx.origin 等其他任何概念 verificationGasLimit,驗證交易時的 gasLimitcallGasLimit,執行交易時的gasLimitpreVerificationGas,補償 bundler 調用 handleOps () 時會一部分未計算在內的 gas 成本(如提交交易的 calldata 成本)。

這個并非 UO 中的一個字段,而是由上面三個 gas 參數計算而出。代表了該 UO 在 驗證階段 預先支付給 EntryPoint 的總成本。Prefund 雖然是在驗證階段支付的,但包含了 preVerificationGas,驗證和執行三部分的成本。之后不會再向 EntryPoint 進行支付 gas。

以太坊核心開發者:預計7月中旬進行倫敦分叉,包含EIP-1559等升級:以太坊核心開發者Tim Beiko昨日發推表示,預計將于7月中旬進行倫敦分叉,分叉將包含EIP-1559、EIP-3198、EIP-3238等升級。[2021/4/24 20:54:04]

具體計算參見 EntryPoint 中的 _getRequiredPrefund。

EntryPoint 是所有功能的核心入口。每個項目自行部署自己的 EntryPoint。Bundler,Wallet 和 Paymaster 都需要圍繞 EntryPoint 工作。

鏈下驗證 UO,剔除不符合要求和有問題的 UO。鏈下驗證一是防止 DoS,二是避免 bundler 在鏈上損失 gas。

YFII社區核心開發者:流動性挖礦項目chick.finance合約存在致命風險:YFII社區核心開發者在審計Vault機槍池備選項目click.finance合約時發現表示,即將上線的流動性挖礦項目chick.finance的合約代碼與GitHub倉庫展示的不同,modifer被惡意修改為“pub1ic”,用戶充值的所有代幣,開發者都有權限提取,該項目存在致命風險,請避免參與。

YFII社區提醒廣大“農民”,參與流動性挖礦項目務必注意風險,本金安全第一。合約地址見原文鏈接。[2020/8/24]

打包合規的 UO,提交上鏈。

向 EntryPoint 支付 gas 費

只響應來自 EntryPoint 的消息

執行來自 EntryPoint 的具體交易內容

注意,EntryPoint 不是 Wallet 的 factory。官方給出的圖片容易給人造成這種誤解,但官方實現并非如此。

向 EntryPoint 確認自己的為某 UO 服務的意愿

在 EntryPoint 內質押才能成為 paymaster

我們可以看到 Wallet 與 Paymaster 都有可能向 EntryPoint 支付 gas。gas 余額會存儲在 deposits 這個 mapping 中。

注意,雖然 deposits 字面意思為充值,但并非必須一個需要預先手動完成的動作,也可以在每一筆 UO 發生時,計算缺少多少 gas 并自動充值。

最終,若所有操作的 actualGasCost 小于 prefund, EntryPoint 會將多余額度退款至你的 deposit。  

注意, validationActualCost & callActualCost 僅僅是為了說明而作的標記,并非真實存在的變量。它們是由 gasPrice() 累加的。  

代表用戶最終使用的錢包。需要開發者至少實現以下兩個自定義方法:

簽名驗證:你可以使用任何密碼學手段來實現簽名驗證,比如,為了配合使用蘋果的 Security Enclave 而實現 NIST P-256 的 ECDSA。如果沒有特殊需求可直接使用以太坊的 ECDSA。

處理交易:EntryPoint 通過 address (sender).call (callData) 來調用 wallet 中的具體的交易功能。那么 call 需要有至少一個可執行的函數,如 transferEther (),callAnotherContrat () 等。

開發者還需要自行實現 wallet factory,需要創建錢包時,工廠會被 SenderCreator 合約調用。新建錢包應使用 CREATE2 方法以保障生成地址的確定性。

Paymaster 可以為用戶支付 gas,因此可以實現:

免費交易:用戶激勵,讓用戶免費使用錢包 

gasless 交易:不直接用 ether 支付 gas,而使用其他 token 或 nft 等

等等其他類似的贊助交易功能

Paymaster 需要開發者實現:

validatePaymasterUserOp ():由于 paymaster 的開放性,驗證邏輯需要開發者完全自己定義。驗證后有可能需要實現類似 wallet 中 payPrefund () 的功能。

postOp:必須重寫此方法,否則會被 revert。此方法可以定義在 paymaster 贊助完交易后需要做什么,如在驗證時為用戶支付了 ether,則此處要求用戶支付等價的 ERC-20。

區塊律動BlockBeats

媒體專欄

閱讀更多

金色早8點

金色財經

去中心化金融社區

CertiK中文社區

虎嗅科技

念青

深潮TechFlow

Odaily星球日報

騰訊研究院

Tags:GASENTNTROINgas幣最新消息Sentinel ProtocolENTRC價格Sopot Coin

XRP
扎克伯格時代即將結束?_ETA:BOO

美股周二大幅走高,因華爾街忽視疫情的反復,轉而關注一系列強勁的財報,以及在假期縮短的交易周內未來小幅加息的可能性.

1900/1/1 0:00:00
AIGC的里程碑 Chat GPT憑什么引爆科技圈?_GPT:HAT

摘要 事件:11月30日,OpenAI上線了新模型ChatGPT,其網頁應用允許用戶免費使用,ChatGPT能夠理解人類語言并且回答問題,不限于普通聊天、協助寫代碼、解決具體難題等等應用場景.

1900/1/1 0:00:00
加密行業的危機與重建:面對新生吧_CEX:okx

作者:john,ChainCatcher必須體驗過痛苦,才能體會到生的快樂。 一、覆滅與循環 縱觀古今,“曲折向前”幾乎是事物發展的基本規律,這條規律目前正在10歲的“加密行業”身上頻繁“顯化”.

1900/1/1 0:00:00
晚間必讀 | 加密市場已經觸底的五個鏈上信號_區塊鏈:iota幣最新價格

加密銀行Silvergate Bank和加密行業各大中心化交易機構如FTX、Coinbase、Crypto.com、Circle等有著極其緊密的聯系.

1900/1/1 0:00:00
經濟學人主編吳晨:理解元宇宙(Metaverse)的 3 個維度_元宇宙:區塊鏈

本文摘自經濟學人主編吳晨老師的新書《潛流》第四章第一節,轉載請注明出處。 內容簡介: 當一系列不確定性的積累,將發生發展方向上的重大變化,需要我們花更多時間和精力去做抉擇.

1900/1/1 0:00:00
Web3:創新技術的更新迭代 價值投資的范式轉移_WEB:Ethereum Meta

原文作者:Peter 進化是宇宙中最強大的力量,是唯一永恒的東西,是一切的驅動力。———橋水基金 雷.達利奧時間拉長,進化才是人類的主旋律。過去,環境的變化是進化的主因.

1900/1/1 0:00:00
ads