WEEX 唯客博客, 作者:APRIORI 編譯:深潮TechFlow 介紹 在提升區塊鏈性能以實現大規模應用的過程中,Monad 通過一系列底層優化措施,如非同步 I/O、優化的 Patricia Trie、延遲執行和 Optimistic 併發控制,有效地優化了以太坊虛擬機 (EVM) 模型。這些改進在不犧牲去中心化的前提下,解決了以太坊等平台上的執行瓶頸和低效的狀態訪問問題。 本文探討了在 Monad 上構建強大的礦工可提取價值拍賣基礎設施 (MEVA) 的可能性,並借鑒了以太坊上的 Flashbots 和 Solana 上的 Jito Network 的寶貴經驗。 我們要強調幾個關鍵點: MEV 是任何區塊鏈網路的固有特性。一個強大的 MEVA 基礎設施對於避免區塊生產過程中的負外部性和激勵不一致至關重要。 MEVA 的設計與區塊鏈的底層機制,特別是共識執行階段,密切相關。未來的改進將取決於這些因素的演變以及網路在不同壓力下的表現。 以太坊和 Solana 上區塊生產的歷史趨勢可以為 Monad 上的 MEVA 設計提供參考。 在 Monad 這種高性能、延遲執行的區塊鏈上,MEVA 可能需要類似高頻交易的概率區塊構建和搜索策略,以應對時間限制。 通過探討這些問題,我們希望為設計適應 Monad 獨特架構和性能需求的 MEVA 基礎設施提供見解。 以太坊中的 MEVA 背景 以太坊共識執行階段下的 MEVA 在以太坊中,共識需要先執行。當節點同意一個區塊時,他們同意的不僅是區塊中的交易列表,還包括區塊執行后總結的 Merkle 根。因此,提案者必須在傳播提案之前執行區塊中的所有交易。同時,驗證節點在投票前也需要執行這些交易。 圖 1:MEV-Boost 中提議者-構建者分離 (PBS) 的構建者工作流程 圖 1 展示了 MEV-Boost 中提議者-構建者分離 (PBS) 的典型構建者工作流程。構建者完成區塊構建后將其提交給中繼器,中繼器再將區塊轉發給執行層 (EL) 客戶端進行模擬和有效性檢查。 由於執行是共識的前提條件,當構建者構建一個區塊時,需要將區塊轉發給執行層 (EL) 客戶端,並模擬區塊以檢查其有效性。除了在共識-執行階段的必要作用外,模擬階段還為構建者和搜索者帶來了好處。 從構建者的角度來看:通過模擬每筆交易,構建者可以準確估算區塊對自己和驗證者的價值。他們還可以嘗試重新排序交易,以最小化回滾並最大化從內存池和捆綁交易中提取的 gas 費用或基本小費。精確的估算使他們能夠對驗證者出更高的價。 從搜索者的角度來看:由於構建者在交易上鏈前篩選出可能回滾的捆綁交易,搜索者可以確保策略的執行,增加了確定性。此外,搜索者還可以訪問最新的區塊狀態。當共識層 (CL) 傳播一個新區塊時,搜索者可以使用該區塊的狀態作為構建盈利捆綁交易的起點。同時,有跡象表明,構建者現在提供更多的協議外交易或功能,使搜索者能夠獲取即將構建的區塊狀態信息,以便將回跑策略添加到即將上鏈的區塊中。 然而,PBS 的發展導致區塊構建的集中化增加,這與傳統交易中公司競爭專用微波網路通道以優先執行套利策略的情況類似。 隨著網路的成熟,產品在進行迭代 我們現在探討 MEVA 隨著以太坊的發展是如何演變的,如圖 2 所示。 圖 2:MEVA 隨以太坊網路發展的時間順序視圖 優先 Gas 拍賣 (PGA) 時代 如圖 3 所示,搜索者識別出有利可圖的 MEV 機會,並將智能合約交易提交到公共內存池。這種公開可見性導致了鏈上的公開競標和一價拍賣,即使是失敗的交易也會產生 gas 費用。 這一時期出現了競爭激烈且昂貴的非結構化 MEV 活動,例如具有相同(賬戶、公告)對的交易和不斷增加的出價,導致網路擁堵或共識不穩定。 圖 3:簡單的優先 Gas 拍賣示意圖 Flashbots 和 EIP-1559 為了解決這些問題,Flashbots 引入了中繼器,作為搜索者和區塊生產者(PoW 時代的礦工)之間的中介拍賣行。這一舉措將 MEV 市場從公開競標的一價拍賣轉變為密封競標。如圖 4 所示,中繼器有助於防止公共內存池中的競標升級,並建立更有序和安全的區塊生產過程。 EIP-1559 的費用結構也在此發揮了作用。它通過基本費用簡化了競標,但並未解決區塊內的交易順序問題,這仍然通過優先費用驅動 MEV。實際上,許多搜索者以前通過 coinbase 轉賬直接向礦工出價。他們最終對 coinbase 費用有更多的抱怨,因為他們不再能夠提交 0-gas 的捆綁交易。 圖 4:帶中繼的 MEVA 提議者與構建者的分離 (PBS) 在以太坊完成合併並轉向權益證明 (PoS) 后,提議者與構建者的分離 (PBS) 被實施以進一步優化區塊生產管道中的角色分離。如前所述,中繼器現在充當區塊構建者和提議者之間的中介角色,負責確保數據可用性和區塊的有效性。由於提議者可以連接多個構建者進行不同的私有交易,構建者必須通過向提議者支付費用來競爭。這種動態在圖 5 中有所說明。 圖 5:PBS 時代的 MEVA 集中的風險 儘管有這些歷史性的進步,但必須強調構建者市場中日益增長的集中風險。在過去的一年裡,前 9 名構建者持續佔據超過 50% 的市場份額,顯示出高度的市場集中,如圖 6 所示。目前的集中狀態更為明顯,前三名構建者覆蓋了超過 90% 的區塊。 圖 6:構建者的市場份額,該圖表明了構建者市場中普遍存在的高度集中(圖片來源) Solana 上的 Jito Jito 的系統架構 作為 Solana 上的標準 MEVA,Jito 是為了解決 Solana 由於低交易成本而導致的高垃圾交易行為而創建的。只要失敗交易的費用(大約 0.000005 SOL)不超過預期利潤,垃圾交易行為就會被有效激勵。 根據 Jito Labs 在 2022 年的報告,那一年超過 96% 的套利和清算嘗試失敗,區塊中包含超過 50% 的 MEV 相關交易。報告還指出,清算機器人向網路發送了數百萬個重複的包,只為了完成幾千次成功的清算,導致失敗率高於 99%。 圖 7:Jito 在 Solana 上的 MEVA Solana 上 MEV 外部性問題的嚴重性促使 Jito 開發了一個 MEVA 層,旨在為區塊生產過程帶來有序性和確定性。讓我們回顧一下 Jito 提出的原始 MEVA 架構,如圖 7 所示。 Jito 有以下組件: 中繼器 – 作為代理接收交易並將其轉發給區塊引擎 (或 MEVA 供應鏈) 和驗證者。 區塊引擎 – 從中繼器接收交易,協調搜索者,接受捆綁,執行捆綁模擬,並將最佳交易和捆綁轉發給驗證者處理。值得注意的是,Jito 進行部分區塊拍賣以納入捆綁,而不是全區塊拍賣,歷史上在兩個槽位內處理了超過 80% 的捆綁。 偽內存池 – 通過 Jito-Solana 客戶端創建大約 200 毫秒的操作時間窗口,引發訂單流的離散化拍賣。Jito 於 2024 年 3 月 9 日關閉了這個內存池。 Jito 的設計選擇 讓我們探討 Jito 系統設計的具體組件,並考慮這些設計選擇如何源於 Solana 的區塊生產過程。 Jito 僅支持部分區塊拍賣,而不是全區塊構建,可能是由於 Solana 的多線程執行模型缺乏全局調度。具體來說,圖 8 顯示了并行線程執行交易,每個線程維護自己的等待執行的交易隊列。交易被隨機分配到線程,並按優先費用和時間在本地排序。在調度器端沒有全局排序的情況下(在 1.18.x 更新之前),Solana 的交易本質上會由於調度器抖動而經歷非確定性。因此,在 MEVA 中,搜索者或驗證者無法可靠地確定當前狀態。 圖 8:Solana 客戶端的多線程執行模型。請注意,MEVA 的捆綁階段作為一個獨立線程附加在多線程隊列中 從工程角度來看,將 Jito 的區塊引擎作為一個額外線程并行運行,與 Solana 的多線程架構非常契合。儘管捆綁拍賣在 Jito 區塊引擎線程內確保了基於優先費用的排序,但無法保證捆綁總是全局優先於用戶交易。 為了解決這個問題,Jito 預分配了一部分區塊空間給捆綁線程,保證捆綁在區塊中有空間。雖然不確定性依然存在,但這種方法提高了策略執行成功的概率。這也激勵了搜索者參與拍賣,而不是向網路發送垃圾交易。通過為捆綁保留區塊空間,Jito 能夠在促進有序拍賣和緩解交易垃圾郵件的混亂效應之間取得平衡。 移除偽內存池 Jito 的廣泛採用在緩解 Solana 上的垃圾郵件問題方面取得了積極成果。根據 p2p 的研究和圖 9 所示的數據,在採用 Jito 客戶端后,相對區塊生產率顯著提高。這表明,由於 Jito 在 2023 年引入的優化區塊引擎,交易處理變得更加高效。 圖 9:Jito 有效緩解 Solana 上垃圾郵件問題的證據。該圖摘自 p2p 團隊進行的一項研究 雖然已經取得了顯著進展,但仍然存在許多挑戰。由於 Jito 捆綁僅部分填充區塊,MEV 誘導的交易仍能繞過 Jito 拍賣渠道。部分證據可以在圖 10 的 Dune Dashboard 中找到,顯示自 2024 年以來,由於機器人垃圾交易,網路仍然平均有超過 50% 的交易失敗。 圖 10:自 2022 年 5 月以來 Solana 上的機器人垃圾交易活動的 Dune Dashboard(詳見 Dune) 2024 年 3 月 9 日,Jito 決定暫停其旗艦內存池。這一決定是由於 memecoin 交易增長和隨之而來的三明治攻擊(搜索者在目標交易前後放置交易)激增,最終影響了用戶體驗。類似於 Ethereum 上的 MEVA 私人訂單流渠道,關閉公共內存池可能會通過與前端服務(如錢包提供商和 Telegram 機器人)的合作,促進私人訂單流的增長。搜索者可能會直接與驗證者建立合作關係,以獲得優先執行、包含或排除的權利。 事實上,圖 11 展示了內存池關閉后,最大的私人內存池搜索者的每小時三明治機器人利潤情況。 最大的私人內存池搜索者: 3pe8gpNEGAYjVvMHqGG1MVeoiceDhmQBFwrHPJ2pAF81 (譯者註:三明治機器人是一種常見的搶跑攻擊工具,主要用於在區塊鏈交易中獲取利潤)。 圖 11:搜索者 「3pe8gpNEGAYjVvMHqGG1MVeoiceDhmQBFwrHPJ2pAF81」 使用私人內存池的每小時三明治機器人利潤 Jito 決定關閉內存池,表明團隊致力於解決 Solana 生態系統中的根本問題。除了迭代 MEVA 或調整 Solana 的 gas 費用機制外,Jito 還通過 UI 產品設計選擇(如限制默認滑點參數)幫助協議減少攻擊風險。無論是通過使垃圾交易更昂貴的費用結構調整,還是通過修改通信協議,Jito 的基礎設施將繼續在維護 Solana 網路健康和穩定方面起到關鍵作用。 Monad 上的 MEVA 設計 延遲執行及其對 MEVA 的影響 與 Ethereum 不同,在 Ethereum 上,同意一個區塊需要交易列表(帶有排序)和總結所有事後狀態的默克爾根,Monad 將先前的執行與共識解耦。節點協議只需要解決官方排序問題。如圖 12 所示,每個節點在開始對區塊 N+1 進行共識時,獨立執行區塊 N 中的交易。這種安排允許對應於完整區塊時間的 gas 預算,因為執行只需跟上共識的步伐。由於不需要領導節點計算事實狀態根,執行可以利用整個共識期來處理下一個區塊。 圖 12:Monad 延遲執行與 Ethereum 的執行-共識階段的比較。從 MEVA 設計的角度也展示了操作時間窗口 我們將操作時間窗口定義為允許 MEVA 在 Monad 上完成一個區塊構建提議的時間框架,該提議與默認區塊構建方法相比是可行且有利可圖的。延遲執行模型有兩個直接後果: 當 MEVA 在操作時間窗口內為第 N 個區塊構建時,驗證者同時在達成第 N 個區塊的交易列表共識,同時嘗試完成第 N-1 個區塊的執行。因此,在第 N 個操作時間窗口內,可能可用狀態仍然在第 N-2。這意味著在這種延遲執行架構下,不保證中繼或構建者有「最新狀態」。因此,在下一個區塊生成之前,不可能針對最新區塊進行模擬,導致不確定性。 鑒於 Monad 的 1 秒區塊時間,MEVA 的操作時間窗口極其有限。這意味著構建者可能沒有足夠的時間按順序模擬完整區塊的交易和捆綁,如在 Ethereum 上通常所做的那樣。許多變數可以影響在 EVM 上進行交易模擬所需的時間。然而,假設模擬一個交易需要 10^1 到 10^2 微秒(一個大致的估計),並且 Monad 的目標是每秒 10^4 筆交易,僅在操作時間窗口內模擬完整區塊可能需要大約 1 秒。考慮到 Monad 的 1 秒區塊時間,構建者或中繼要完成多個完整區塊模擬以優化構建區塊將是具有挑戰性的。 概率構建者與搜索者策略 鑒於這些限制,在操作時間窗口內完成完整區塊模擬並針對最新狀態進行模擬是不切實際的。由於構建者現在既缺乏時間也缺乏最新狀態來了解每筆交易的確切提示,他們必須根據交易回滾的可能性推斷搜索者提示,依靠聲譽或通過(可能最好)針對第 N-2 狀態進行模擬。這使得區塊估值變得不那麼確定。 由於缺乏對交易回滾的理論保證,一旦驗證者接受了構建者構建的區塊,搜索者面臨更大的執行不確定性。這與 Ethereum 形成對比,在 Ethereum 上,搜索者在專用的私人訂單流到構建者渠道中競爭,以相對確定的策略執行。在 Monad 上的這種相對概率設置中,搜索者現在面臨更高的捆綁回滾風險,導致更不確定的執行 PnL 輪廓。這類似於高頻交易者,他們根據概率信號執行交易,隨著時間的推移獲得略高的預期回報。 圖 13:一個概念光譜圖,展示了不同 MEVA 設計範式,根據提議區塊檢查或模擬的程度進行分類 如圖 13 所示,構建者一方事先捆綁/區塊檢查的程度在提議區塊的定價或估值方面創造了一個不確定性的光譜。一端是 Ethereum 風格的 PBS 模型,具有準確的定價,構建者必須使用執行層(EL)客戶端在提議區塊中模擬交易。他們必須在提交的捆綁中導航廣泛的組合。另一端是樂觀構建者模型 [16],具有非同步區塊檢查。在這種模型中,構建者繞過操作時間窗口內任何模擬所需的時間,並通過存入抵押品(可能會被削減)來兌現向驗證者或中繼顯示的提示。這裡在 Monad 上提出的概率檢查或部分模擬方法位於中間,儘管存在一些不確定性,但增加了搜索者成功執行策略的可能性。 例如,一個鏈上訂單簿 DEX 的做市商可能會在發現主要單向價格變動時通過 MEVA 預先移動其頭寸,以避免不利選擇。這種概率策略允許他們快速行動,即使沒有最新的狀態信息,在動態交易環境中平衡風險和回報。 結語 MEVA 在優化區塊生產、減輕外部影響和提升系統穩定性方面起到了關鍵作用。隨著 MEVA 框架的不斷發展,例如 Solana 上的 Jito 和 Ethereum 上的各種實現,極大地促進了可擴展性問題的解決,並使網路參與者的激勵機制更加一致。 Monad 是一個處於起步階段、前景廣闊的網路,它為社區提供了設計最佳 MEVA 的獨特機會。鑒於 Monad 獨特的執行與共識分離機制,我們誠邀研究人員、開發者和驗證者共同合作,分享見解。這種合作將有助於創建一個強大而高效的區塊生產流程,助力 Monad 實現其作為高吞吐量區塊鏈網路的前景。 WEEX唯客交易所官網:weex.com