比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads

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

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。掌握普通流程后才方便掌握聚合型的交易。

推特用戶:如果ben.eth不在54小時內支付開發者要求的賞金,將有失去熱錢包全部資產:金色財經報道,推特用戶vydamo_表示,如果ben.eth(PSYOP創始人)不在54小時內支付wentokens.xyz的開發者要求的100枚ETH賞金,ben.eth將有失去其熱錢包全部資產的風險(約2200萬美元),由于Ben在向持有人空投PSYOP、LOYAL和BEN代幣時簽署的交易,目前他的整個熱錢包都被扣。在Ben使用該協議前1天,部署者調用了一個函數“isUpdateable”來推送對合約的更新。目前距離ben.eth離合約到期還有54小時。[2023/6/3 11:56:09]

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

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

Shiba Inu首席開發者修改推特個人簡介,社區猜測Shibarium Beta即將上線:2月25日消息,Shiba Inu首席開發者Shytoshi Kusama在周六修改推特個人簡介,顯示英文句號“.”。這一舉動引發社區有關Shibarium Beta可能很快上線的猜測。Shibarium是Shiba Inu第二層解決方案的Beta測試階段。

Shiba Inu社區成員Kuro表示,Shytoshi有一個習慣,當他正在處理的一項任務結束時,他會將推特個人簡介改成句號。由于L2區塊鏈是正在開發的最突出的項目,SHIB支持者認為Shibarium即將推出可能是Shytoshi進行此次修改的原因。(CoinGape)

據此前報道,2月21日,Bone ShibaSwap(BONE)在推特上確認,Shiba Inu Layer2網絡Shibarium將于下周以測試模式(Beta Mode)推出。[2023/2/26 12:29:43]

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

ENS開發者:已解決ENS子圖中存在空字符漏洞問題,并將進行必要的測試:金色財經報道,ENS開發者Nick Johnson在社交媒體上稱,已經解決兩次出現的ENS子圖中存在空字符漏洞問題,并采取預防措施。由于TheGraph的PostgreSQL未在文本列中存儲空字符,攻擊者在創建域名前后添加空字節字符時,可利用此漏洞冒充任何已被其他用戶注冊的域名。[2023/2/3 11:45:46]

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

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

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

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

Hop Protocol開發者:賞金獵人已獲得超30萬個HOP獎勵:5月14日消息,跨鏈橋協議Hop Protocol開發者ChrisWhinfrey.eth發推表示,在針對女巫攻擊地址的賞金政策發布后,目前已經累計接受了32份報告,將900,588.35個HOP重新交還給社區,賞金獵人將獲得300,196.12個HOP并且還在增加。其中,獎勵最高的用戶@gzeon在Arbitrum上用12行腳本識別了471個地址,有資格獲得81,216.10HOP獎勵。此前在4月,該協議在宣布發行代幣并空投時表示,向報告女巫攻擊地址的獵人獎勵25%的代幣,鎖定期為1年。攻擊發起者也可以通過自我報告獲得25%的收益,如果有人先舉報,則可能一無所獲。同時,每份報告都需要易于驗證,至少消除20個相關地址。[2022/5/14 3:15:44]

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

區塊鏈技術開發者廖偉:沒有通證的區塊鏈將缺乏發展的動力:25日,網易房產“壹見”分享會上,區塊鏈技術開發者廖偉分享表示,區塊鏈通證有三個主要要素,數字權益證明,數字加密,自由流通。依托于區塊鏈本身的技術,區塊鏈本身就有數字加密,所有轉賬的發起都是通過加密來保證的。提到通證經濟的優勢,廖偉稱,火起來就是因為它的發行低門檻、流通速度快,價格自我發現,便于監管,智能合約自行執行。區塊鏈和通證是最佳排檔,沒有通證的區塊鏈將缺乏發展的動力,沒有區塊鏈的通證將缺少共識的信任。[2018/3/25]

具體計算參見 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星球日報

騰訊研究院

Tags:GASNTRENTOIN0XGAS價格JNTR幣PAYZ PAYMENTSSumokoin

酷幣下載
晚間必讀 | 加密市場已經觸底的五個鏈上信號_SILVER

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

1900/1/1 0:00:00
FTX暴雷后 用戶都轉向DEX了嗎?_CEX

原文作者:加密數據分析師 ahkek4原文編譯:0x11,Foresight NewsFTX 破產后 CEX 交易量出現下滑;CEX 主導著每日交易量.

1900/1/1 0:00:00
金色早報 | 歐盟議會將很快投票通過MiCA法案_加密貨幣

▌ Ankr:將使用儲備金賠償 aBNBc 流動性提供者12月3日消息,Ankr 在推特上表示,將使用儲備金賠償 aBNBc 流動性提供者,已開始收集受影響者的名單.

1900/1/1 0:00:00
蘋果想對以太坊征稅_NFT

雖然Web3是非常新的技術,但是似乎已經遇到了非常多“勁敵”。這些“敵人”正在阻礙web3應用程序和區塊鏈游戲的發展,因為在web3里,應用程序和游戲將允許用戶自主相互交易數字資產所有權.

1900/1/1 0:00:00
新聞周刊 | 扎克伯格:對元宇宙持“長期樂觀態度”_LOC

金色周刊是金色財經推出的一檔每周區塊鏈行業總結欄目,內容涵蓋一周重點新聞、礦業信息、項目動態、技術進展等行業動態。本文是其中的新聞周刊,帶您一覽本周區塊鏈行業大事.

1900/1/1 0:00:00
Solana的驚魂30天 重新審視這條「VC鏈」的過去、現在與未來_Solana

BTC/SOL/FTT 跌幅對比最近一個月,整個加密世界都籠罩在 FTX/Alameda 暴雷事件的陰云之下,首先是各個公鏈生態下的 DeFi、NFT 等板塊無一幸免.

1900/1/1 0:00:00
ads