在线免费观看色视频-在线免费观看日韩视频-在线免费观看日韩-在线免费观看日本视频-久久自拍视频-久久资源总站

幣圈網

基礎設施如何通過賬戶抽象為數十億用戶提供支持

無論是牛市還是熊市,以太坊生態系統一直在不斷地建設和自我優化。其中,賬戶抽象(Account Abstraction,AA)近年來取得了重要的進展,并已滲透到以太坊生態系統的各個部分,包括應用、基礎設施、用戶和開發者。我們可以預見,AA的大規模采用將從整體上降低區塊鏈使用的門檻,并將web2的用戶體驗引入web3行業。

在本文中,BlockPI團隊將深入探討他們對AA的理解,并從基礎設施服務提供商的角度分享思考。

EOA和合約錢包

AA的概念源于EOA賬戶的局限性。EOA賬戶(external owned account)是以太坊中的用戶賬戶,由公鑰(區塊鏈地址)表示,通過私鑰訪問。它是以太坊生態系統的主要組成部分,允許用戶在區塊鏈上轉賬或與智能合約交互。然而,對很多人來說,使用EOA本身就是一項充滿挑戰的任務。況且,現在的EOA賬戶依舊存在一些使用上不便之處,影響用戶體驗。

首先就是Gas費問題。每筆交易都會花費用戶相當多的ETH作為Gas費(以25 Gwei的Gas price 為例,簡單的ETH轉賬的Gas費約為0.5美元,進行合約交互或當Gas price更高時則會更貴)。這使得小額交易的手續費顯得非常昂貴,尤其是在網絡擁堵嚴重的時期。此外,只能使用ETH支付Gas,這意味著用戶必須在錢包中持有ETH,對很多用戶而言,這構成了一個較高的進入門檻。

其次,對于用戶想要實現的某些復雜操作,EOA必須借助于其他的智能合約。例如,如果用戶想要設置定時周期性轉賬,則用戶需要將ETH轉到具有此功能的某個智能合約中來實現該操作。

EOA的第三個問題是固定的簽名加密算法。以太坊網絡使用一種名為secp256k1的數字簽名算法,來確保交易的真實性和安全性。該算法被硬編碼到系統中,用戶無法選擇使用其他加密算法。

除了上述的三個問題之外,EOA的公鑰和私鑰之間的綁定關系也是一個問題。私鑰是用戶訪問EOA的唯一途徑,如果私鑰丟失,將無法找回。這同時意味著與之關聯的EOA內的所有資產將無法找回。

同時, 在執行某些線性任務時,EOA也存在限制。例如,如果用戶希望在一個操作中批準(approve)、交換(swap)和取消批準代幣(unapprove token),需要執行三個單獨的交易,既低效又耗時。

好消息是,合約錢包可以解決上述的所有問題。合約錢包本質上是一種實施了AA的特定類型的智能合約賬戶,它可以在以太坊上作為用戶的錢包使用。并且可以給用戶提供更靈活也更個性化的方式來管理資金。只要是以太坊智能合約能夠實現的邏輯,合約錢包就可以實現并提供對應的功能。

具體地說,多個合約錢包操作可以被打包到一筆鏈上交易中,這些操作則可以分攤這一筆交易的Gas成本。如果第三方愿意支付Gas費用,則對于使用合約錢包的用戶來說不需要支付Gas。合約錢包也可以一次性完成多個線性任務。除此之外,合約錢包還支持自定義簽名的加密算法,并設置錢包恢復的功能等等。

隨著對合約錢包優勢的討論持續進行,以太坊社區實際上早已對合約錢包進行了長期研究。盡管許多EIP已經探討了賬戶抽象相關問題,但截至2021年,仍未建立統一標準。以下是幾個具有代表性的EIP。

EIP-86

最初由Vitalik Buterin于2017年提出。該方案實現了一系列變更,其共同目的是“抽象化”簽名驗證和nonce檢查,從而使用戶能夠創建能執行任意簽名/nonce檢查的“賬戶合約”。

EIP-2938

于2020年提出。這個EIP的標題是賬戶抽象(Account Abstraction)。AA的概念在這個EIP中有很好的描述。它引入了一種新的交易,即AA 交易。交易由入口點地址( EntryPoint address)發起,并調用AA合約錢包。 EIP-2938提供了一個統一的規范并正式將AA賬戶抽象引入以太坊共識。具體來說,它在以太坊共識中引入了兩個新的操作碼、三個全局變量和一個不同的有效載荷結構。

EIP-3074

于2020年提出。這個EIP引入了兩個EVM指令, AUTH 和 AUTHCALL 。 AUTH 根據ECDSA簽名授權設置環境變量。 AUTHCALL 作為授權賬戶發送調用。這允許智能合約代表EOA發送交易。但這對AA來說仍然不是一個完美的解決方案。在授權交易過程中,EIP-3074在原生價值傳輸方面存在一定的限制。并且如果用戶丟失了對EOA的訪問權限,仍將無法找回他的資產。如果遭遇私鑰泄露,用戶則需要將所有資產轉移到新賬戶中。

由于需要在共識層進行更改或方案不夠全面,上述提案均未被正式納入以太坊協議中。因此,以太坊社區繼續探索如何在不改變共識的前提下,將AA引入以太坊協議,并最終提出了EIP4337。

ERC – 4337

EIP-4337最初于2021年9月提出,并于2023年3月獲得授權成為ERC-4337。其作者包括Vitalik Buterin、Yoav Weiss、Kristof Gazso、Namra Patel、Dror Tirosh、Shahaf Nacson和Tjaden Hess。

EIP-4337是一項具有顛覆性的提議,能夠在不改變以太坊核心協議的情況下引入AA。EIP-4337最終成為了ERC-4337標準,構建者可利用該標準實現自己的智能合約錢包。同時該標準還引入了一些額外的基礎設施包括“Bundlers”和“ UserOperation mempool”。如此一來,它實際上在區塊鏈系統上層復制了一個有相似功能的以太坊mempool。用戶提交的不再是單筆交易,而是 UserOperation 。多筆 UserOperations 可以打包成一個單筆交易并發送到以太坊上。

以下是以太坊[官方文檔](https://eips.ethereum.org/EIPS/eip-4337)中ERC-4337的詳細技術解釋,以及一些有助于理解的評論。

ERC-4337的關鍵角色和其定義

UserOperation — 描述代表用戶發送的交易的結構。為避免混淆,它沒有被命名為“transaction”它會被發送給Bundler,與其他 UserOperations 一起打包為一個Bundle。接著將Bundle作為一筆單獨的交易發送到鏈上。

Sender— 發送 UserOperation 的合約賬戶。該錢包合約必須遵循ERC-4337標準配置 IAccount 接口.

EntryPoint — 執行 UserOperations 捆綁包的全局單例合約。Bundlers/Clients將支持的 EntryPoint 列入白名單。該合約由Infinitism 團隊審計并且核準部署,負責處理所有 UserOperations ,并連接其他角色的合約,包括Wallet Factory、Aggregator、 Paymaster 。該合約在EVM兼容鏈上都是相同的地址。

Bundler — 從mempool打包多個 UserOperations 并創建 EntryPoint.handleOps() 交易的節點(當前出塊節點)。Bundler服務可以獨立于區塊鏈節點運行,并通過RPC來發送打包好的 UserOperations 。

Aggregator — 由賬戶信任的輔助合約,用于驗證聚合簽名。Bundlers/Clients將支持的簽名聚合器列入白名單。 Aggregator 必須遵循ERC-4337標準配置 IAggregator 接口。

Paymaster — 一個可以代付Gas的智能合約。如果它在 EntryPoint 合約中存入了足夠的ETH,則可以為發送方支付 UserOperation 的Gas費, 從而有效地實現Gas抽象。 Paymaster 必須遵循ERC-4337標準配置 Paymaster 接口。 Paymaster 可以與 Sender 達成協議。例如, Sender 向 Paymaster 支付USDC, Paymaster 用ETH來支付其發送的 UserOperations 的Gas。事實上, Paymaster 可以選擇支持任何代幣,包括ERC-20代幣甚至其他鏈上的代幣。

Wallet Factory — 可以為ERC-4337用戶創建合約錢包的智能合約。部署Wallet Factory是無需許可的。作為鏈上智能合約,其代碼向公眾開放,任何人都可以對其進行審查。一個廣泛使用的Wallet Factory應當經過專業人士的全面審計。

下圖解釋了 EntryPoint 合約如何與其他角色交互。

– Bundlers調用 EntryPoint 合約的 handleOps 函數,該函數接受 UserOperation 作為輸入。

– handleOps 會在鏈上驗證 UserOperation ,檢查是否由指定的智能合約錢包地址簽名,并確認錢包是否有足夠的Gas來補償Bundler。

– 如果驗證通過, handleOps 將根據 UserOperation 的calldata中定義的函數和輸入參數執行智能合約錢包函數。

另一方面,當Bundler使用EOA觸發 handleOps 函數時,會產生Gas費用。智能合約錢包可以從自己的賬戶余額中向Bundlers支付Gas費用,或者請求 Paymaster 合約代付。 UserOperations 在沒有足夠Gas的情況下無法通過鏈下的驗證步驟,即在鏈上執行交易前失敗。即便具備足夠的Gas, UserOperations 在執行過程中仍可能因運行時錯誤等原因失敗。對于一筆 UserOperation ,無論執行合約成功與否, EntryPoint 合約都會向觸發 handleOps 函數的Bundler支付Gas費用。

(摘自官方文檔: https://eips.ethereum.org/EIPS/eip-4337)

在ERC-4337生效后,用戶現在可以通過兩種方式發起區塊鏈交易。一種是傳統方式,即由EOA直接發起交易。另一種是使用ERC-4337標準,通過Bundler發起 UserOperation ,隨后Bundler會將其與其他 UserOperations 打包并發往鏈上。以下流程圖闡述了普通EOA發送交易與ERC-4337合約錢包發送 UserOperation 之間的差異。

道路已經鋪好,但尚無眾多行人

ERC-4337提供了一個強大的框架,讓用戶和開發者可以在以太坊使用和構建AA。盡管該框架是一個重要的進步,但仍存在一些挑戰和不確定性需要應對和解決。

AA的采用還處于初級階段。根據Dune ERC-4337分析面板(*[ERC-4337 Account Abstraction](https://dune.com/niftytable/account-abstraction)* from @niftytable),鏈上僅執行了65k UserOperations ,其中90%來自Polygon。因此,目前執行的 UserOperation 數量仍然非常少,其中大部分是開發者的測試,而只有很小一部分來自于真實用戶。我們注意到,已經整合了AA的產品仍處于初期階段。 目前,我們可以觀察到,Bundlers整體仍舊處于虧損狀態, 目前虧損約為700多個MATIC。這主要是因為一些Polygon上的Bundler錯誤預估需要的Gas引起的,導致 EntryPoint 返回的的Gas少于提交的Bundle消耗的gas。這個問題需要在Bundler客戶端層面解決。

除此之外,還有一些問題需要解決。其中一個問題是Bundlers如何處理交易失敗。

在將多個 UserOperations 打包在一起后,Bundlers首先會模擬交易,檢測是否會出現合約執行失敗,并計算 Sender 或 Paymaster 返回的Gas費用是否大于支付的Gas費。

如果有利可圖,Bundler將這批 UserOperations 作為一個交易提交給出塊節點。然而,交易仍然可能失敗,導致Bundler支付Gas費用,但沒有收到 EntryPoint 返還Gas的情況。例如,用戶可能向不同的Bundlers發送操作。如果存在盈利空間并且模擬成功,Bundlers會將其提交到鏈上。在這種情況下,如果一個 UserOperation 同時被不同的Bundlers提交到出塊節點,只有一筆交易會成功,這意味著只有一個Bundler會收到 EntryPoint 返回的Gas費,其他所有Bundler都會因為上鏈失敗而損失Gas。盡管有人可能認為這種行為應被視為惡意攻擊,并主張Bundler可以禁掉該 Sender 地址,拒絕來自該地址的任何未來請求,但這并非一個合理的解決方案,因為用戶可能無意中采取這種行為。這個問題需要在代碼中妥善解決,也許可以通過正在開發中的公共mempool來實現。此外,即使交易已成功提交且模擬結果顯示存在獲利空間,Bundlers也可能因為突然的Gas波動遭受損失。

另一個問題是從AA中可以獲取的最大可提取價值(MEV)。在以太坊的背景下,MEV通常指的是礦工或其他交易處理者通過操縱區塊中交易的順序或在區塊中插入他們自己的交易來提取的價值。有人可能會注意到,MEV的邏輯也可以適用于AA。這是因為在AA中,Bundlers可以對UserOps進行自由排序,這為它們提供了獲取MEV的可能性。然而,Bundler是否能提取MEV取決于是否有足夠多的 UserOperations 可以打包在一起。現在整個AA市場仍處于初級階段,因此Bundler MEV也可以被認為是初級階段。可以遇見到的是,AA的MEV可能朝兩個方向發展:一是類似于以太坊主網,有像Flashbots、Ultra Sound和BloXroute這樣的參與者參與;另一個方向是形成Bundler共識來實施公平排序。而后者將完全消除AA中提取MEV的可能性。

未來發展

公共mempool

雖然AA生態系統已經投入運行,但仍有許多開發工作尚待完成。從整個AA生態系統來看,目前最大的缺失部分是公共mempool。Etherspot團隊,Skandha Bundler客戶端的開發者,目前正在開發公共mempool的p2p網絡。預計公共mempool的p2p網絡將在今年8月份推出。

Bundle算法

在此過程中,以太坊基金會資助了幾個優秀的AA開發團隊。到目前為止,已經開發了多個目前已經可以使用的Bundler客戶端。其中,有一些已經非常成熟了。分別是Candide(用Python編寫的Voltaire Bundler)、Pimlico(用Typescript編寫的Alto Bundler)、Etherspot(用Typescript編寫的Skandha Bundler)、Stackup(用Go編寫的Stackup-Bundler)等。

這里就涉及到了打包策略的問題。目前,由于 UserOperations 的數量較少,Bundlers可以采用簡單的打包邏輯,例如固定的時間間隔或每個Bundle中一定數量的 UserOperations 。然而,隨著 UserOperations 數量的增加,特別是在公共mempool引入之后,選擇和打包 UserOperations 的策略變得更加復雜。原因很簡單:在AA生態中,缺乏類似區塊鏈共識協議的機制,Bundler群體成為了一個黑暗森林,每個Bundler根據自己的利益優先處理任務,并互相競爭。與公共mempool相對的,私有mempool有可能會較早出現。因為當從公共mempool打包 UserOperations 無法盈利時,打包私有mempool中的 UserOperations 依舊存在盈利的可能。在這種情況下,該Bundler在打包時相較其他Bundler更有競爭力。

此外,隨著公共mempool的逐步普及,其中的 UserOperations 有各種特性,例如不同的Gas盈利預期和鏈上執行復雜性。Bundlers將進行鏈下模擬,評估各種 UserOperations 組合的盈利能力,從而建立各自的打包策略。打包更多的 UserOperations 有可能產生更高的利潤,但同時也增加了驗證失敗的風險。即使驗證通過,鏈上執行失敗的風險仍然存在。相對的,打包較少的 UserOperations 則相反。Bundlers需要設置自己的交易Gas參數,這將影響出塊節點執行這筆交易的優先級。在不同的預估Gas price和Gas波動率條件下,Bundlers可能有不同的打包策略。同時還要考慮這些驗證和策略計算需要消耗本地硬件計算資源和區塊鏈節點資源的成本。此外,Bundlers還需要努力為用戶提供良好的用戶體驗,確保用戶在提交 UserOperation 后不會面臨過長的延遲。

盡管這些挑戰的解決方案仍然不明朗,但我們可以有信心地說,AA行業的發展和開發者的共同努力將最終解決這些問題。作為基礎設施建設者,BlockPI希望在AA行業的發展中充當問題解決者的角色,無論是作為開發者還是為其他開發者提供AA友好的基礎設施。

基礎設施必須要適應AA

AA將鏈上交易行為中涉及的各種角色抽象出來,包括 Sender 、Bundlers、Gas payers、合約錢包、Signers,從而使用戶在使用區塊鏈時具有更高的自由度。同時,基礎設施供應商可以根據自己對市場的判斷,獨立部署這些服務。

為了適應AA的大規模采用,基礎設施提供商首先需要提供至少兩個基本服務:Bundler服務和 Paymaster 服務。

在Bundler服務中,基礎設施提供商可能需要與Bundlers一起開發私有mempool,以提供良好的用戶體驗。具體來說,基礎設施提供商需要集成多種Bundler客戶端,以確保Bundler服務的穩定。這些Bundler客戶端目前向用戶提供幾種標準的JSON RPC方法,這些方法是ERC-4337 核心開發組提供的。可以預見以后會有更多的RPC方法可供用戶使用。基礎設施服務商需要在這個過程中及時更新對這些方法的支持。

此外,在Bundler API和原始節點客戶端RPC之間進行優化也非常重要。目前的節點客戶端沒有針對AA進行過優化。一些Bundler API方法需要節點提供針對AA的數據索引。例如,現在的客戶端在通過哈希查找 UserOperation 時,需要掃描所有區塊中的 EntryPoint 合約日志。若缺乏數據索引,這個單一請求的硬件資源消耗將會相當巨大,同時請求的返回時間也將變得很長。

除此之外,為了給用戶提供免Gas的用戶體驗以及多樣化的服務,基礎設施提供商需要與不同的 Paymaster 服務提供商達成合作,從而集成不同的 Paymaster 服務。同時根據市場需求,基礎設施提供商還可以基于現有 Paymaster 服務設計更方便的集成解決方案。其他服務,如聚合簽名、錢包工廠等,也是基礎設施未來發展和集成的潛在方向。

總之,為了適應AA的大規模應用,基礎設施提供商需要不斷完善和擴展其服務。這包括優化Bundler服務,與不同的 Paymaster 服務提供商合作,集成各種API接口,以及開發其他潛在的服務。隨著AA行業的不斷發展,這些努力將有助于提供更高效、安全和便捷的區塊鏈使用體驗。

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 国产AV视频一区二区蜜桃 | 国产人成无码视频在线观看 | av狼新人开放注册区 | 超碰在线97久久视频观看 | 性生大片免费看 | 欧美性动漫3d在线观看完整版 | 日本三级床震 | 国产又黄又硬又粗 | 世界上第一个得抑郁症的人是谁 | 99久久夜色精品国产亚洲AV卜 | 国产精品久久久久久人妻精品流 | 男人的天堂久久精品激情a 男人的天堂黄色片 | 日本久久久WWW成人免费毛片丨 | 在线成人精品国产区免费 | 亚洲AV无码乱码国产麻豆穿越 | 妈妈的朋友5在线观看免费完整版中文 | 午夜神器老司机高清无码 | 国产女高清在线看免费观看 | 在线免费观看国产视频 | 国产精品人妻无码久久久蜜桃臀 | 8x8x我要打机飞在线观看 | 俄罗斯雏妓的BBB孩交 | 99久久免费精品 | 国产精品久久vr专区 | 欧美高清18 | 亚洲色欲国产AV精品综合 | 国产精品一区二区资源 | 45分钟做受片免费观看 | 黑吊大战白女出浆 | 芳草地社区在线视频 | 天堂在线亚洲精品专区 | 97伦理电影在线不卡 | 亚洲免费视频网站 | 神马影院午夜理论二 | www色小姐| 久久精品热线免费 | 久久视频在线视频观看天天看视频 | 老师真棒无遮瑕版漫画免费 | 欧美gay69| 亚洲精品国产拍在线观看 | 国产精品嫩草影院一区二区三区 |