本文不會從頭介紹EIP-4337,僅介紹4337的主要合約是如何實現的。適合對4337有一定了解的開發者,由其是錢包開發者,以及愛好者或研究員閱讀。
主要內容位于流程圖中Figma。
需要配合4337源碼閱讀GitHub—eth-infinitism/account-abstractionatmain。
4337Spec中有更多詳細細節EIP-4337:AccountAbstractionusingaltmempool。
請注意:
本流程圖只畫出了普通類型的交易,未涉及Aggregator。掌握普通流程后才方便掌握聚合型的交易。流程圖中箭頭不代表程序的調用棧或輸入輸出,僅代表相關角色、函數、事件的發生的先后順序。為方便讀者對宏觀架構的快速理解,流程圖中省略了一部分函數調用和邏輯。被省略的部分有可能對你研究的問題或疑惑有很大意義,具體看你想了解什么內容,所以還是需要你必要時仔細閱讀源碼。核心概念
美國財長耶倫:支持美國監管機構對加密貨幣的監管:金色財經報道,美國財長耶倫表示,支持美國監管機構對加密貨幣的監管,以保護消費者和投資者。應加強加密貨幣監管,并將與國會合作推動通過更多立法。[2023/6/7 21:22:03]
研究4337需要掌握以下核心概念:
UserOperation的內容EntryPoint實現Wallet實現Paymaster實現驗證階段、執行階段的執行流程與錯誤處理Gas的支付流程與計算UserOperation
一種內容類似transaction的偽交易對象,通過新的RPC方法eth_sendUserOperation提交給節點。
UO中的字段含義大部分是顯然的,僅挑選幾個容易誤解的進行分析:
sender,此處指的是要交互的wallet,而非msg.sender或tx.origin等其他任何概念verificationGasLimit,驗證交易時的gasLimitcallGasLimit,執行交易時的gasLimitpreVerificationGas,補償bundler調用handleOps()時會一部分未計算在內的gas成本。Prefund
鮑威爾:將通過逐次會議決定利率的結果:金色財經報道,美聯儲主席鮑威爾表示:今天沒有做出暫停加息的決定。我們將通過逐次會議決定利率的結果。如果需要,我們準備采取更多措施。降低通脹可能需要一段低于趨勢的增長和勞動力市場較為疲軟的時期。必須及時提高債務上限。我的預測是美國經濟以和緩速度增長,而非衰退。如果沒有達成債務上限協議,經濟后果將“高度不確定”。本次利率決定未考慮債務上限僵局。美聯儲提及債務上限會對經濟前景構成風險。沒有人應該認為美聯儲能夠保護經濟免受政府未按時支付債務的影響。[2023/5/4 14:41:04]
這個并非UO中的一個字段,而是由上面三個gas參數計算而出。代表了該UO在驗證階段預先支付給EntryPoint的總成本。Prefund雖然是在驗證階段支付的,但包含了preVerificationGas,驗證和執行三部分的成本。之后不會再向EntryPoint進行支付gas。
慢霧:已凍結部分BitKeep黑客轉移資金:12月26日消息,慢霧安全團隊在社交媒體上發文表示,正在對 BitKeep 錢包進行深入調查,并已凍結部分黑客轉移資金。[2022/12/26 22:08:58]
prefund/gasPrice=callGasLimit+verificationGasLimit*mul+preVerificationGas
mul=mUserOp.paymaster!=address(0)?3:1;
具體計算參見EntryPoint中的_getRequiredPrefund。
EntryPoint
EntryPoint是所有功能的核心入口。每個項目自行部署自己的EntryPoint。Bundler,Wallet和Paymaster都需要圍繞EntryPoint工作。
摩根士丹利分析師:加密貨幣的流動性有所改善:金色財經報道,摩根士丹利的一位分析師周一表示,加密貨幣的流動性似乎正在恢復。摩根士丹利的加密貨幣研究負責人Sheena Shah最近撰寫的分析報告稱,由于機構投資者停止了對加密經濟前兩大穩定幣的贖回,加密貨幣的冬天可能開始變暖。但這位分析師進一步表示,尋求杠桿的投資者的需求也有所下滑。Shah認為,目前,在加密貨幣世界中似乎沒有巨大的再杠桿化需求。如果法幣杠桿率不增長或加密貨幣杠桿率不增長,這個加密貨幣周期將很難見底。(Bitcoin.com)[2022/8/23 12:41:52]
Bundler在EntryPoint內實現兩個功能
鏈下驗證UO,剔除不符合要求和有問題的UO。鏈下驗證一是防止DoS,二是避免bundler在鏈上損失gas。打包合規的UO,提交上鏈。Wallet與EntryPoint
加密貨幣支付應用Strike推出新Visa卡,將提供消費獎勵:金色財經報道,基于閃電網絡的加密貨幣支付應用Strike宣布推出一張新的Visa卡。該公司在其推特上宣布了這一消息,并表示其用戶現在可以“把Strike帶到任何地方,并在日常消費中獲得獎勵”。推廣工作將從等待名單開始。在推文中,Strike稱,用戶將能夠使用新卡直接存款,以比特幣支付,購買比特幣,發送和接收資金,使用Apple Pay和Google Pay消費,并在消費時獲得獎勵。(The Block)[2022/8/12 12:20:47]
向EntryPoint支付gas費只響應來自EntryPoint的消息執行來自EntryPoint的具體交易內容注意,EntryPoint不是Wallet的factory。官方給出的圖片容易給人造成這種誤解,但官方實現并非如此。Paymaster與EntryPoint
向EntryPoint支付gas費只響應來自EntryPoint的消息向EntryPoint確認自己的為某UO服務的意愿在EntryPoint內質押才能成為paymaster我們可以看到Wallet與Paymaster都有可能向EntryPoint支付gas。gas余額會存儲在deposits這個mapping中。
注意,雖然deposits字面意思為充值,但并非必須一個需要預先手動完成的動作,也可以在每一筆UO發生時,計算缺少多少gas并自動充值。
最終,若所有操作的actualGasCost小于prefund,?EntryPoint
會將多余額度退款至你的deposit。
actualGasCost/gasPrice=validationActualCost+callActualCost+preVerificationGas
注意,?validationActualCost?&?callActualCost?僅僅是為了說明而作的標記,并非真實存在的變量。它們是由gasPrice()累加的。
Wallet
代表用戶最終使用的錢包。需要開發者至少實現以下兩個自定義方法:
簽名驗證:你可以使用任何密碼學手段來實現簽名驗證,比如,為了配合使用蘋果的SecurityEnclave而實現NISTP-256的ECDSA。如果沒有特殊需求可直接使用以太坊的ECDSA。處理交易:EntryPoint通過address(sender).call(callData)來調用wallet中的具體的交易功能。那么call需要有至少一個可執行的函數,如transferEther(),callAnotherContrat()等。開發者還需要自行實現walletfactory,需要創建錢包時,工廠會被SenderCreator合約調用。新建錢包應使用CREATE2方法以保障生成地址的確定性。
Paymaster
Paymaster可以為用戶支付gas,因此可以實現:
免費交易:用戶激勵,讓用戶免費使用錢包gasless交易:不直接用ether支付gas,而使用其他token或nft等等等其他類似的贊助交易功能Paymaster需要開發者實現:
validatePaymasterUserOp():由于paymaster的開放性,驗證邏輯需要開發者完全自己定義。驗證后有可能需要實現類似wallet中payPrefund()的功能。_postOp:必須重寫此方法,否則會被revert。此方法可以定義在paymaster贊助完交易后需要做什么,如在驗證時為用戶支付了ether,則此處要求用戶支付等價的ERC-20。
Tags:GASOINNTRINTGasifycoincheck交易所smartcontractschemecoinFORINT
根據Genesis說法,其目標是通過“與債權人建設性對話,并以協商一致的方式解決當前情況”。這是一個高風險的策略,可能導致雙輸的局面.
1900/1/1 0:00:002022年年初,經由CSS播客第10集《共創“擁有者經濟”——LiJin》,我第一次接觸到創作者經濟4.0的概念。LiJin將創作者經濟的演變描述為4個不同階段.
1900/1/1 0:00:002014年,以太坊聯合創始人加文·伍德提出Web3.0概念,將其描述為一種全新的互聯網運行模式:用戶自己發布、保管信息,不可追溯并且永不被泄露,即“去中心化的網絡”.
1900/1/1 0:00:0012月1日21:00,由NFTERA及香港數碼港主辦,香港立法會議員吳杰莊、NanoLabs創始人Jack孔共同發起,CrossSpace聯創Leon、Marsbit聯創商思林主持的“對話港府.
1900/1/1 0:00:00這是白話區塊鏈的第1808期原創?作者|day出品|白話區塊鏈FTX爆雷后,業內人人自危,一旦有點風吹草動,投資者首要目的便是從平臺將coin提到錢包,畢竟相對可能面臨的損失來說.
1900/1/1 0:00:00比特幣:生存還是毀滅?這是個問題。我們即將進入2023年,加密貨幣市場或許都在尋找這一問題的答案,對于BloombergIntelligence而言,答案更傾向于前者,作為全球資產組合的一部分,
1900/1/1 0:00:00