原文標題:《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。掌握普通流程后才方便掌握聚合型的交易。
Shiba Inu首席開發者:將不再Follow任何Shibarium相關項目:3月6日消息,Shiba Inu首席開發者Shytoshi Kusama在推特上宣布,他將不再關注任何與Shibarium相關的項目,因為該Layer 2解決方案越來越多地被錯誤地用于推廣這些項目。Kusama說他篤信“DYOR”(做自己的研究)。因此,他強調,如果他碰巧提到一個項目,他希望SHIB社區能研究一二,而不是直接盲從他。
此外,Kusama已經證實,他通過最近發布的Shibarium接收表格看到了數千個項目提交信息。他們都希望與SHIB合作。Kusama上周日在推特上表示,“很多很棒的項目”將加入即將發布的Shibarium測試版本。Shytoshi承諾在周末發送電子郵件回復這些提交的信息。(U.Today)[2023/3/6 12:45:21]
流程圖中箭頭不代表程序的調用棧或輸入輸出,僅代表相關角色、函數、事件的發生的先后順序。
前門羅幣主要開發者Riccardo Spagni將于7月5日向美國法警局自首:金色財經消息,據周四提交給田納西州中區的法庭文件,門羅幣(Monero)前主要開發者、表情符號用戶名項目Yat聯合創始人Riccardo Spagni將于7月5日向美國司法部下屬部門法警局自首,以便被引渡到南非,他將在南非面臨欺詐指控。南非官員指控Spagni對他的前雇主Cape Cookies進行了10萬美元的發票欺詐。在2021年初面臨審判時,Riccardo Spagni從南非逃往美國,隨后于8月份在田納西州Nashville被捕。(cointelegraph)[2022/7/1 1:43:20]
為方便讀者對宏觀架構的快速理解,流程圖中省略了一部分函數調用和邏輯。被省略的部分有可能對你研究的問題或疑惑有很大意義,具體看你想了解什么內容,所以還是需要你必要時仔細閱讀源碼。
研究 4337 需要掌握以下核心概念:
比特幣開發者:2021年關鍵加密基礎設施將面臨大規模監管阻力:比特幣開發者Udi Wertheimer今日發推文稱:“我們都非常樂觀,這很好,但感覺2021年將是關鍵加密基礎設施面臨大規模監管阻力的一年。2018-2019年的監管行動主要是為了打擊已經倒閉的欺詐項目。這次感覺不同。”[2020/10/24]
UserOperation 的內容 EntryPoint 實現 Wallet 實現 Paymaster 實現驗證階段、執行階段的執行流程與錯誤處理 Gas 的支付流程與計算
一種內容類似 transaction 的偽交易對象,通過新的 RPC 方法 eth_sendUserOperation 提交給節點。
UO 中的字段含義大部分是顯然的,僅挑選幾個容易誤解的進行分析:
sender,此處指的是要交互的 wallet,而非 msg.sender 或 tx.origin 等其他任何概念 verificationGasLimit,驗證交易時的 gasLimitcallGasLimit,執行交易時的gasLimitpreVerificationGas,補償 bundler 調用 handleOps () 時會一部分未計算在內的 gas 成本(如提交交易的 calldata 成本)。
動態 | EOS上內存占用量超過80% Dapp開發者使用數量卻僅有不到2%:本周市值TOP5的幣種中,EOS跌幅最大,周內最大跌幅達37.44%;然而EOS內存RAM的價格一度漲至0.93EOS/KB,相比起6月20日的0.02EOS/KB,漲幅接近50倍。截至報告發布,EOS上內存的占用量超過80%,而其中Dapp開發者實際使用的數量僅有不到2%。[2018/7/15]
這個并非 UO 中的一個字段,而是由上面三個 gas 參數計算而出。代表了該 UO 在 驗證階段 預先支付給 EntryPoint 的總成本。Prefund 雖然是在驗證階段支付的,但包含了 preVerificationGas,驗證和執行三部分的成本。之后不會再向 EntryPoint 進行支付 gas。
閃電網絡開發者提出新的鏈下交易方案,重新設計閃電網絡:盡管比特幣閃電網絡才剛剛開始被用于發送交易,不過開發者正在為這種新技術重新制定架構。這是因為,盡管這種技術被吹捧為一種顯著提升比特幣交易能力的方式,但該網絡本身確實要求用戶存儲大量數據,這使得下載和運行變得很困難。為此,多位閃電網絡開發者——閃電網絡實驗室的聯合創始人’Laolu’ Osuntokun 和Blockstream的Christian Decker和Rusty Russell——已經發表了一份新提案,該提案設想了一種替代的“簡化”的方法來進行鏈下交易——eltoo。[2018/5/29]
具體計算參見 EntryPoint 中的 _getRequiredPrefund。
EntryPoint 是所有功能的核心入口。每個項目自行部署自己的 EntryPoint。Bundler,Wallet 和 Paymaster 都需要圍繞 EntryPoint 工作。
鏈下驗證 UO,剔除不符合要求和有問題的 UO。鏈下驗證一是防止 DoS,二是避免 bundler 在鏈上損失 gas。
打包合規的 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星球日報
騰訊研究院
一些不良的項目開發團隊正利用KYC演員在Web3.0社區進行詐騙。此篇文章中,CertiK將揭露雇傭KYC演員的地下團伙是如何運作的.
1900/1/1 0:00:00Web服務軟件程序可以通過互聯網啟用計算機之間的通信,Web服務通常采用應用程序編程接口(API)的形式。從某種角度上來說,Web是可以在線訪問的相關超文本材料的集合.
1900/1/1 0:00:00文/孟永輝 當區塊鏈開始在越來越多的場景里出現,我們看到的是,一場區塊鏈與行業深度融合的開啟。在這樣一場深度融合里,區塊鏈不再是一個孤立的、封閉的存在,而是變成了一個開放的、共生的存在.
1900/1/1 0:00:00撰寫:TooolsDAO編譯:深潮 TechFlowNFT(不可替代代幣)如今風靡一時,人們對它們愛不釋手,無論是通過 FOMO,炒作,還是純粹的藝術欣賞,這些昂貴的 JPEG 都很少降溫.
1900/1/1 0:00:00FTX 破產的沖擊波仍在肆虐,在Genesis暫停提款、GBTC負溢價持續擴大的情況下,加密社區對Genesis及其母公司 Digital Currency Group (DCG) 透明性的質疑.
1900/1/1 0:00:00作者 | Terry 出品|白話區塊鏈 11 月 17 日,薩爾瓦多總統 Nayib Bukele 表示,「從明天開始,我們將每天購買一個比特幣」,直接開始了國家級別的比特幣定投之旅.
1900/1/1 0:00:00