以太坊最初的設計理念是由單一方處理區塊創建的整個過程。這需要聚合內存池中的交易,從而製作區塊頭,併在工作量證明中找到黃金隨機數,或者簡單地在權益證明中簽署區塊頭。在最初的幾年裡,區塊構建非常簡單:挖礦節點從內存池中提取交易,根據Gas價格(錶示每筆交易的計算工作量)對它們進行排序,併保持在每個區塊的Gas限製內。然而,隨著去中心化金融(DeFi)的興起,這種區塊構建方式髮生了重大變化。
在 DeFi 中,交易的排序順序可能會産生很大的影響。假設內存池中有一筆交易正在等待,該交易將在 UniSwap 上將 1 ETH 兌換成比特幣(當然,我指的是 HarryPotterObamaSonic10Inu)。您收到的比特幣數量取決於 UniSwap 池中當前 ETH 與比特幣的比率。如果其他人的交易(將 2 ETH 兌換爲比特幣)在您的交易之前得到處理,那麽您最終會得到更少的比特幣,因爲 ETH 與比特幣的比率髮生了變化。考慮到交易順序的重要性,以及礦工控製著這種順序,這就導緻了我們所説的 MEV(即礦工/最大可提取價值)的出現。MEV 代錶礦工通過選擇包含、排除或重新安排的交易而可能穫得的利潤。
MEV 乍一看似乎毫無不利之處。它甚至可能會成爲網絡安全的助推器,爲挖礦或驗證提供更多激勵,是這樣嗎?除了通常的區塊獎勵和交易費用外,現在還有 MEV 可供爭奪。但現實遠非無害。如果不加控製,MEV 可能會成爲一股強大的中心化力量。這裡提供一個故事來説明這一點:想象一下,您剛剛聽到這款 MEV 游戲的風聲,併聽説驗證者因此穫得了超過10%的年利率。很誘人吧?你們都參加了!因此,您將 32 ETH 髮送到質押合約併啟動驗證器節點。但等一下…您隻能看到4%的回報。當輪到您提出區塊時,交易隻需按其 Gas 價格排列即可。沒有 MEV 魔法。您沒有覆雜的算法和策略來挖掘 MEV 黃金。如果沒有專業知識,您將陷入默認狀態:按Gas價格排序交易。
這就是中心化拉力髮揮作用的地方。即使您是一名寬客,您的簡單計算機(可能是樹莓派)也無法與運行下一級 MEV 提取功能的超級計算機相匹敵。顯然,這裡的最終游戲是關閉你的驗證器,併將您的 ETH 髮送到這些承諾分享 MEV 餡餅的超強設置。若快進,您可能會看到其中一些龐然大物實際上運行著網絡,這是一個真正令人不安的中心化結果。如果這就是事情的髮展方曏,那麽以太坊的基本目標就失敗了。那時,由少數人主導的網絡也可能是一個中心化數據庫。
Phil Daian是康奈爾大學智能合約安全專業的博士生。他是早期識別 MEV 問題的人之一。 2017年8月,他髮錶了一篇題爲《0x 和 EtherDelta 去中心化的成本》的博文。該博文的靈感來自於他在 0x ICO 期間髮現的搶先交易漏洞。
搶先交易涉及在內存池中髮現一項旨在將代幣 A 交換爲代幣 B 的交易。然後,搶先者以編程方式髮起一項提供更高 Gas 價格的類似交易。這一策略確保搶先者的交易在原始交易之前得到處理。初始交易處理完畢後,搶先者可立即將代幣 B 換回代幣 A,最終穫得比開始時更多的代幣 A。這種策略有時被稱爲三明治攻擊,因爲用戶的交易被夾在搶先者髮起的兩個交易之間。因此,雖然搶先者穫得了利潤,但進行原始交易的個人收到的代幣 B 較少。雖然三明治攻擊很常見,但個人可使用多種策略來有效提取 MEV。
將三明治攻擊可視化:搶先者如何犧牲他人利益爲自己穫利
在 ICO 熱潮期間,Phil 和一個團隊部署了一個機器人,每年賺取約100萬美元。在我之前提到的博文中分享了他們的方法之後,出現了幾個類似的機器人,形成了一個競爭格局,機器人會出價高於彼此的Gas價格以穫得交易優先權。這促使 Phil 在全球範圍內部署節點,捕穫實時交易數據。這項研究在他著名的《Flash Boys 2.0》論文中進行最全麵的闡述,該論文深入探討了去中心化交易所帶來的 MEV 挑戰。
這是Phil在做客Chopping Block時分享的一個有趣的相關故事。UniSwap 創始人 Hayden Adams 在 ethresear.ch 上分享了他對目前最受歡迎的去中心化交易所的設計。Phil立即曏Vitalik和Hayden髮信息錶達了他的擔憂。Phil 認爲 UniSwap 的設計會産生大量 MEV,使其成爲被利用的主要目標,併使用戶麵臨交易重新排序和三明治攻擊的風險。Vitalik 回應稱,這些可被視爲使用區塊鏈的額外費用機製。Phil對這種回覆非常不滿,他認爲像高盛這樣的強大金融實體會介入併吃散戶午餐,就像當前的金融體繫一樣。然而,隨著時間的推移,Phil開始接受Vitalik的觀點(所有人都贊揚Vitalik神人)。
Phil 認識到了 MEV 領域的重要性和挑戰,與他人共衕創立了 Flashbots——一家專註於 MEV 領域研究和解決方案的公司。Flashbots 意識到 MEV 將會存在,Flashbots 的使命是確保 MEV 的存在不會産生這樣一個繫統:在該繫統中,做一個惡意者或創造消極外部效應對你個人來説更有利,而且比做一個好演員盈利更多。TradFi 就是這樣的例子,盈利最好的策略通常會利用繫統的優勢。Flashbots 還認爲,可能有一種方法可爲用戶利用 MEV 的能量,併不僅爲保護網絡安全的人員提供補貼,還未網絡上的交易提供補貼,讓人們可穫得更好的價格,從而在這些繫統中爲人們提供他們想要的執行力。若設計得當,MEV 有可能使加密貨幣優於傳統繫統。
Flashbots 認識到礦工對交易排序的壟斷是一種寶貴的資源。他們實現 MEV 民主化的第一步是創建交易訂單權拍賣繫統。因此,MEV GETH 得以創建,它首先引入了PBS的概念。以太坊基金會的 Barnabé Monnot 將 PBS 描述爲:“一種設計理念,協議參與者可在其共識職責期間使用第三方服務。”到目前爲止,礦工擁有完全的控製權:他們決定交易順序,進行哈希處理,然後添加區塊。但 MEV GETH 改變了一切。它引入了稱爲搜索者的外部參與者,他們爲穫得將自己的交易捆綁包含在礦工區塊中的權利付費。
有了 MEV GETH,礦工有了一個新的端點。他們可從搜索者處收到針對 MEV 優化的交易捆綁包。每個捆綁包還包含一項曏礦工提供費用的交易,激勵他們選擇這個特定的捆綁包。當然,礦工們選擇了費用最高的捆綁包。當搜索者在公共內存池中爭奪 MEV 機會時,他們的出價自然會因爲這種競爭而升級。此次競爭確保礦工穫得 MEV 收益的最大份額。
讓我們舉例解釋這一點:假如Alice是一個搜索者,她髮現了兩個去中心化交易所之間的套利機會。通過在 UniSwap 上購買 Token X,然後立即在 SushiSwap 上以更高的價格將其出售,她能賺取0.07 ETH的利潤。因此,她創建了一個針對 0.07 ETH MEV 機會進行優化的交易捆綁,併願意曏礦工支付0.05 ETH,以優先處理下一個區塊中的交易。另一位搜索者Bob也髮現了衕樣的機會。他構建了一個類似的捆綁包,但曏礦工支付0.06 ETH以穫得相衕的特權。 Alice 和 Bob 都將他們的 MEV 優化交易捆綁包髮送給礦工。而礦工收到這些捆綁包,併必鬚決定將哪個捆綁包包含在下一個區塊中。由於費用較高,礦工自然會選擇 Bob 的捆綁包,以確保礦工穫得最大利益。這是一個雙贏的局麵。
礦工抓住了大部分 MEV 機會,從 0.07 ETH 機會中穫得了 0.06 ETH。與此衕時,搜索者穫得了 0.01 ETH 的凈利潤,這是他們原本無法穫得的。 MEV GETH機製的本質就是這種競價。 Alice 和 Bob 相互競爭,爲礦工提供激勵,從而確保礦工穫得很大一部分 MEV 收益。
然而,如果他們隻是開放一個端點供任何人髮送礦工捆綁包,惡意行爲者可能會利用這種開放性來使他們的繫統過載,從而可能髮起 DOS 攻擊。爲了解決此漏洞,Flashbots 推出了 Flashbots Relay。該中繼起著至關重要的過濾作用:它根據礦工的潛在盈利能力、交易的有效性和所提供的費用來評估傳入的交易捆綁包。然後,隻有最佳的捆綁包才會轉髮給礦工。這種方法確實引入了一定程度的中心化特性,因爲該過程依賴於 Flashbots Relay 來篩選不需要的或潛在有害的流量。值得註意的是,礦池運營者與其工人之間已存在一定程度的 PBS。通常,運營者負責構建塊體,包括從中繼髮送的捆綁包,對塊頭進行一次哈希,然後將其分派給工作人員繼續哈希併找到黃金隨機數。
MEV GETH 概述:從搜索到交易捆綁包含在礦工區塊中的過程
當以太坊從工作量證明(PoW)過渡到權益證明(PoS)時,交易驗證和區塊提案的格局髮生了顯著變化。PoW 依靠礦工和算力(哈希率)來驗證併曏區塊鏈添加新區塊,而 PoS 將這一責任轉移給了驗證者,驗證者將抵押他們的 ETH 來成爲區塊提議者。
MEV GETH 運用廣泛,幾乎得到所有礦池的使用,但隨著以太坊過渡到 PoS,繫統需要修改。PoS 的設計目的是爲了適應單獨的質押者——在 Raspberry Pi 等低資源設備上運行的個人驗證者。PoS 的設計目標是確保平衡的格局:無論您是單獨的質押者還是大型質押池的一部分,任何參與者的驗證過程都不會有固有的優勢。在 PoS 轉型之前,少數礦池主導了算力。這允許這些池和 Flashbots Relay 之間建立信任關繫。任何不誠實的行爲,例如礦池從搜索者處竊取 MEV,都可能危及這種關繫。假設一名礦工從搜索者處收到了一個帶有三明治攻擊的捆綁包。如果礦工進一步將自己的交易夾在搜索者中間,則會帶來短期收益,但會切斷與 Flashbots 的聯繫,從而損失他們未來的 MEV 收入,因爲這使他們將無法訪問 Flashbots Relay。
與大型礦池不衕,單獨的質押者可能沒有維持信任的長期動機。在某些情況下,他們可能會髮現利用建立者的 MEV 能盈利更多,然後從網絡中消失。這一行動將導緻他們受到全部罰沒,損失全部 32枚ETH,但在某些情況下,竊取 MEV 的可能帶來的利潤會大於這種損失。這確實在4月份髮生過,當時一名流氓驗證者從三明治機器人中竊取了2000萬美元,然後關閉了驗證者。要詳細了解此事件,請進一步閲讀本文。
爲了應對這種新的攻擊媒介,Flashbots 推出了 MEV Boost——一個專爲具有單獨抵押者的環境而設計的繫統。
MEV Boost 的原理如下:
MEV Boost 的過程
此設置引入了信任問題:
PBS 設計遇到了一個反覆出現的挑戰:雖然提議者和交易排序參與者之間的交互是假設的,但顯然需要一種機製,在這個機製下:
MEV Boost 信任假設
在深入研究 MEV Boost 之前,有必要了解以太坊在不使用 MEV Boost 的情況下創建區塊的默認方式。此設置依賴於驗證者執行客戶端和共識客戶端之間的協作。當執行客戶端收到交易時,它會檢查格式,將其添加到其內存池中,但不會對其進行處理。衕時,共識客戶端處理 PoS 共識,選擇一個驗證者來創建下一個區塊。然後,所選驗證者的執行客戶端根據 Gas 價格將交易安排到新區塊中,然後將其轉髮到共識客戶端併髮送到網絡。其他驗證者證明該區塊的準確性,一旦經過驗證,它就成爲該鏈的最新鏈接。
如果驗證者選擇使用 MEV Boost,則此過程會髮生變化。集成 MEV Boost 的驗證者通過其共識客戶端來實現這一點。當他們準備提出一個區塊時,他們就不再依賴執行客戶端,而是連接到中繼網絡。驗證者可選擇連接到哪些中繼網絡。
MEV Boost 是可自選的,但95%的驗證者都在使用它。基本上,除了 Vitalik 運行的驗證者之外,幾乎所有驗證者都將區塊構建委托給第三方。這種委托錶明,以太坊協議的核心功能(區塊構建)現在主要在以太坊繫統本身之外進行。這一設置中的一個關鍵角色是中繼,它們的角色與以太坊的基本原則有些不衕。目前,大約有9個活躍中繼,但其中隻有6個擁有超過9%的中繼區塊份額。
過去7天內頂級中繼和構建者的市場份額細分。來源:https://www.relayscan.io/
信任是一個問題,因爲中繼和構建者以及中繼和驗證者之間的關繫併不是不信任的。人們還擔心審查製度的阻力。中繼在拍賣期間可自行決定區塊的有效性。這種自由裁量權允許他們排除與受製裁地址相關的交易的區塊。有個較好的案例,當髮生OFAC Tornado現金製裁時,一些中繼行使了這一權力。最近的數據顯示,由於此類中繼實施了審查製度,過去一周38%的區塊遵守了 OFAC 準則。
以太坊正在製定一項策略,以重新整合當前在其核心協議之外運行的流程。這樣做的目標是強製提議者從構建者處穫取區塊,本質上是讓協議處理中繼的當前職責。目前的中繼繫統有其弱點。例如,中繼可能無法正確驗證區塊,錯誤地驗證了與提議者的付款相關的構建者出價,甚至延遲或無法完成區塊交付。最重要的是,運行中繼併不便宜。截至目前,他們缺乏可持續的融資模式。使用最多的超聲波中繼顯示,其每年的運營成本估計在7萬至8萬歐元之間,這還不包括軟件維護等其他費用。中繼目前作爲實用程序運行。
還值得註意的是,由於 MEV Boost 是由公司(Flashbots)開髮的外部軟件,因此它沒有像協議內的軟件那樣經過嚴格的測試。這在 Shapella 升級後的 Prism 客戶端中錶現得很明顯:與 MEV Boost 的集成漏洞導緻提議者簽名出現問題,導緻錯過插槽和罰沒。將此流程集成到以太坊協議中是爲了解決這些挑戰,確保即使提議者和構建者之間的協議破裂,提議者仍能穫得補償。因此,如果構建者提供了一個有缺陷的區塊,提議者仍會穫得全額出價,而後果則由構建者承擔。雖然這種集成的具體細節(稱爲 ePBS)仍在研究中,併且可能需要幾年時間才能實現,但對於它的外觀已有許多不衕的想法。
要了解潛在的 ePBS 實現,首先必鬚了解以太坊 PoS 算法的一些基本組件。在以太坊中,時間被分爲12秒的間隔,稱爲時隙。32個這樣的插槽聚集在一起形成一個紀元。在每個時隙中,隨機選擇一個驗證者來提議一個塊。衕時,指定一個委員會來驗證他們認爲符合以太坊 PoS 分叉選擇規則的區塊的有效性,完美地證明最近提議的區塊是合適的區塊頭。如果在給定的時隙中未提議某個區塊,則4秒後,證明驗證者將證明前一個區塊。
現在,我們看看 ePBS 設計。最受青睞的模型跨越兩個插槽。首先是投標階段,構建者將投標髮送給驗證者。然後,從第1個插槽開始,提議者選擇一個出價,併通過髮布一個對該構建者的出價做出保證的區塊來對出價做出承諾。然後,一組證明者投票支持該區塊,確保其在鏈中的位置。在插槽2中,構建者可看到在提議者承諾的區塊中做出保證的出價及對出價的證明。認識到提議者承諾不可撤銷後,被選中的構建者會釋放他們的區塊,併確保他們的 MEV 不會被盜。最後,證明者驗證這個新區塊。
“雙插槽”ePBS設計
新髮布的模型類似於雙槽方法,但引入了有效負載-及時性委員會。首先,構建者的出價由提議者選擇併做出保證,然後驗證者委員會進行證明。隨後,構建者揭示區塊的有效負載(其交易),有效負載-及時性委員會將確認有效負載已按時提供及其有效性。這兩種方法之間還存在的區別是以太坊權益證明操作的細節,但本文不做詳解。
具有有效負載-及時性委員會的ePBS設計
另一種設計與插槽拍賣的概念相關。在這裡,構建者在出價期間對紀元中的一個插槽做出了承諾,而未指定區塊。他們本質上承諾在分配的時段內創建一個區塊,併爲此提供一定的價格。這提供了適應性,特別是對於需要實時操作的跨域 MEV 的適應性。
到目前爲止,所有 ePBS 設計都授予構建者對區塊交易的完全控製權。一個可能的解決方法是使用包含列錶。該列錶由提議者髮送給構建者,理想情況下它包含內存池中當前所有交易,或者也不必是所有交易,在有空間的情況下則包含必鬚成爲構建者區塊的部分交易。如果構建者的區塊容量已滿,那麽他們必鬚錶明這一點,確認他們認可該列錶的。這種方式加強了網絡審查的抵抗力。如果構建者想要審查交易,那麽這樣做會日益變得睏難且成本高昂。由於EIP 1559,連續填充的區塊將導緻基本費用飆升。因此,如果構建者通過用虛擬交易填充區塊來不斷審查交易,長此以往不斷上升的成本會讓這種方法變得難以實現。
在某些情況下,提議者可能希望對區塊創建産生一些影響。另一個 ePBS 功能可能涉及提議者製作區塊的一部分(開始或結束)併將剩餘部分委托給構建者。所有這些設計和功能併不相互排斥,更多的是平衡它們的優、缺點。
ePBS 的另一種方式利用了我們現有的可信中繼。這是一種逐步減少中繼職責的方法,直到使中繼主要充當優化器,而不是關鍵組件。在第一階段,我們放棄了中繼驗證區塊有效性的職責。這大大降低了運行中繼的成本,因爲不再需要進行區塊模擬來確保其有效性。此外,它還簡化了中繼的角色,在與提議者和構建者的通信中減少了大約100到200毫秒的延遲。那麽,如果一個區塊被證明是無效的,我們又如何確保提議者穫得付款呢?這將要求構建者在出價時提供相當於其出價的抵押品。如果區塊無效,抵押品將作爲提議者本應收到的付款。這個概念被稱爲Optimistic Relaying V1。
Optimistic Relaying V1
若將樂觀中繼進一步推曏 V2,我們就能無需中繼下載區塊,從而再減少50到100毫秒的延遲。衕樣的保證也適用:如果一個區塊從未被下載,那麽構建者的抵押品就會用來支付。
Optimistic Relaying V2
最終,樂觀中繼的結束游戲開始看起來很像我之前提到的有效負載-及時性委員會模型。順序如下:構建者在點對點層上提交出價。提議者接受出價併跟進簽名標頭。然後,構建者推出該區塊。在這個階段,中繼的唯一工作是監督點對點層內存池,基本上是在不衕活動髮生時進行計時。中繼變爲超級輕量級角色,它隻需密切關註內存池。它使中繼的運作方式很像有效負載-及時性委員會模式。所有這些步驟都是爲了未來中繼被有效負載-及時性委員會取代,從而精簡整個協議。
PBS 的出現是 Flashbots 爲解決 MEV 中心化效應而創立的,旨在嘗試利用 MEV 取得積極成果。鑒於這些實體在以太坊中擔任專門構建區塊的新角色,它們有機會像超級計算機一樣運行,與輕量級驗證者形成鮮明對比。利用這些強大構建者的協議設計正在在出現。這個想法是讓驗證者保持簡單和直接(有些人甚至可能會説很弱),而構建器則沒有這樣的限製,可以在更高的計算級別上運行。這些增強型構建者的主要應用是實現擴展。
以太坊研究員 Dankrad Feist 的 Danksharding 設計錶明,這些高耗資的構建者能構建一個包含所有數據的大區塊。然後,該數據將被分段併由多個 KZG 保證進行提交。構建這個塊需要大量資源,但驗證它們則相對便宜。然後,輕量級驗證器可應用數據可用性採樣來檢查塊的一小部分,併幾乎能確定整個數據集的可訪問性,從而使 Proto-Danksharding 的數據吞吐量增加約16倍。Danksharding 很覆雜,這裡不予介紹,但關鍵是這些高級構建者可被委派作爲額外的角色來進一步增強網絡。
利用構建者的另一個想法是基於rollups的可能實現。幾年前,Vitalik 討論了rollups排序模型,爲其中一個模型創造了“Total Anarchy”這個術語,其中任何人都可以髮布一個rollup區塊,併且第一個命中鏈的序列就是官方區塊。這種方法有很多缺點,例如會帶來鏈上垃圾郵件、穫勝順序是模糊的等。然而,Justin Drake 最近關於基於rollups的文章強調了利用構建者的更有效策略。在此模型中,第一層的構建者充當rollup排序器,精選最佳序列以包含在鏈上。這確保了僅合併最佳序列。
除了rollup之外,強大構建者的引入還能刺激其他創新結構,例如無狀態客戶端。它們使節點能夠照常運行,但沒有保留過時狀態的包袱。這些使得節點更加輕量級,併依賴於構建者生成特定加密證明的能力。
協議強製提議者承諾(PEPC,髮音爲 pepsi)是以太坊基金會研究員 Barnabé Monnot 在2022年10月提出的概念。您可訪問 Barnabé 的原始帖子進行深入研究 。PEPC 的核心目標是賦予提案者在區塊構建方麵更大的髮言權,而他們因將整個任務出售給專業構建者而失去了這種髮言權。在 PEPC 中,除了通常的以太坊要求之外,提議者還可添加額外的條件來使區塊被視爲有效。如果一個區塊未能滿足任何這些額外條件,則它被視爲無效,那麽證明者應拒絶它。這與 EigenLayer 承諾不衕,在 EigenLayer 承諾中,具有額外承諾的驗證者要麽因不合規而損失一些質押的 ETH,要麽因履行承諾而穫得獎勵。然而,無論這些承諾如何,該區塊仍然有效。
想象一下Alice是以太坊網絡中的提議者。通過 PEPC,Alice 可靈活地爲即將到來的區塊做出具體承諾。她可以承諾她的區塊將包含至少三筆與特定智能合約相關的交易,併且她願意爲這些交易分配該區塊 70% 的 Gas。她傳達了這一承諾,併且此承諾是她的區塊有效性條件的一部分。現在,構建者Boba看到了Alice的承諾。他將符合Alice標準的一組交易打包在一起併髮送給Alice。如果Alice的區塊在構建後與她的承諾一緻(即包含消耗指定Gas的指定交易),則該區塊被視爲有效併能添加到區塊鏈中。如果沒有,Alice的區塊將不會被接受,以確保她遵守她聲明的承諾。
ePBS 和 PEPC 之間的一個主要區別在於承諾性質。在 ePBS 中,提案者和構建者遵循固定、統一的程序。這是一種一刀切的方法。提議者提交特定的塊哈希,然後構建者生成匹配的有效負載。然而,PEPC 引入了多樣性。每個提議者都可設置獨特的條件,更加靈活。需要註意的是,PEPC 的存在依賴於 ePBS,它們是相輔相成的。PEPC 的具體工作原理仍在討論和研究中。
PBS 還不是具體的實現,而是一種設計理念。它錶示,存在分工激勵,併且協議參與者將把一些責任委托給更專業的外部實體。該協議緻力於提供一個可靠的、盡可能去信任化的界麵,以確保該授權順利進行,併且具有公平和普惠性。如果沒有這一點,某些參與者可能會占據優勢,從而導緻在 PBS 時代到來之前首次在 MEV 中觀察到的中性化問題。PBS 的核心強調公平和去中心化。雖然要集成到協議中的確切元素將在未來的以太坊更新中看到,但以太坊的總體目標仍是明確的,即可訪問、開放、值得信賴的狀態計算,由一組去中心化的輕量級驗證者監督。
以太坊最初的設計理念是由單一方處理區塊創建的整個過程。這需要聚合內存池中的交易,從而製作區塊頭,併在工作量證明中找到黃金隨機數,或者簡單地在權益證明中簽署區塊頭。在最初的幾年裡,區塊構建非常簡單:挖礦節點從內存池中提取交易,根據Gas價格(錶示每筆交易的計算工作量)對它們進行排序,併保持在每個區塊的Gas限製內。然而,隨著去中心化金融(DeFi)的興起,這種區塊構建方式髮生了重大變化。
在 DeFi 中,交易的排序順序可能會産生很大的影響。假設內存池中有一筆交易正在等待,該交易將在 UniSwap 上將 1 ETH 兌換成比特幣(當然,我指的是 HarryPotterObamaSonic10Inu)。您收到的比特幣數量取決於 UniSwap 池中當前 ETH 與比特幣的比率。如果其他人的交易(將 2 ETH 兌換爲比特幣)在您的交易之前得到處理,那麽您最終會得到更少的比特幣,因爲 ETH 與比特幣的比率髮生了變化。考慮到交易順序的重要性,以及礦工控製著這種順序,這就導緻了我們所説的 MEV(即礦工/最大可提取價值)的出現。MEV 代錶礦工通過選擇包含、排除或重新安排的交易而可能穫得的利潤。
MEV 乍一看似乎毫無不利之處。它甚至可能會成爲網絡安全的助推器,爲挖礦或驗證提供更多激勵,是這樣嗎?除了通常的區塊獎勵和交易費用外,現在還有 MEV 可供爭奪。但現實遠非無害。如果不加控製,MEV 可能會成爲一股強大的中心化力量。這裡提供一個故事來説明這一點:想象一下,您剛剛聽到這款 MEV 游戲的風聲,併聽説驗證者因此穫得了超過10%的年利率。很誘人吧?你們都參加了!因此,您將 32 ETH 髮送到質押合約併啟動驗證器節點。但等一下…您隻能看到4%的回報。當輪到您提出區塊時,交易隻需按其 Gas 價格排列即可。沒有 MEV 魔法。您沒有覆雜的算法和策略來挖掘 MEV 黃金。如果沒有專業知識,您將陷入默認狀態:按Gas價格排序交易。
這就是中心化拉力髮揮作用的地方。即使您是一名寬客,您的簡單計算機(可能是樹莓派)也無法與運行下一級 MEV 提取功能的超級計算機相匹敵。顯然,這裡的最終游戲是關閉你的驗證器,併將您的 ETH 髮送到這些承諾分享 MEV 餡餅的超強設置。若快進,您可能會看到其中一些龐然大物實際上運行著網絡,這是一個真正令人不安的中心化結果。如果這就是事情的髮展方曏,那麽以太坊的基本目標就失敗了。那時,由少數人主導的網絡也可能是一個中心化數據庫。
Phil Daian是康奈爾大學智能合約安全專業的博士生。他是早期識別 MEV 問題的人之一。 2017年8月,他髮錶了一篇題爲《0x 和 EtherDelta 去中心化的成本》的博文。該博文的靈感來自於他在 0x ICO 期間髮現的搶先交易漏洞。
搶先交易涉及在內存池中髮現一項旨在將代幣 A 交換爲代幣 B 的交易。然後,搶先者以編程方式髮起一項提供更高 Gas 價格的類似交易。這一策略確保搶先者的交易在原始交易之前得到處理。初始交易處理完畢後,搶先者可立即將代幣 B 換回代幣 A,最終穫得比開始時更多的代幣 A。這種策略有時被稱爲三明治攻擊,因爲用戶的交易被夾在搶先者髮起的兩個交易之間。因此,雖然搶先者穫得了利潤,但進行原始交易的個人收到的代幣 B 較少。雖然三明治攻擊很常見,但個人可使用多種策略來有效提取 MEV。
將三明治攻擊可視化:搶先者如何犧牲他人利益爲自己穫利
在 ICO 熱潮期間,Phil 和一個團隊部署了一個機器人,每年賺取約100萬美元。在我之前提到的博文中分享了他們的方法之後,出現了幾個類似的機器人,形成了一個競爭格局,機器人會出價高於彼此的Gas價格以穫得交易優先權。這促使 Phil 在全球範圍內部署節點,捕穫實時交易數據。這項研究在他著名的《Flash Boys 2.0》論文中進行最全麵的闡述,該論文深入探討了去中心化交易所帶來的 MEV 挑戰。
這是Phil在做客Chopping Block時分享的一個有趣的相關故事。UniSwap 創始人 Hayden Adams 在 ethresear.ch 上分享了他對目前最受歡迎的去中心化交易所的設計。Phil立即曏Vitalik和Hayden髮信息錶達了他的擔憂。Phil 認爲 UniSwap 的設計會産生大量 MEV,使其成爲被利用的主要目標,併使用戶麵臨交易重新排序和三明治攻擊的風險。Vitalik 回應稱,這些可被視爲使用區塊鏈的額外費用機製。Phil對這種回覆非常不滿,他認爲像高盛這樣的強大金融實體會介入併吃散戶午餐,就像當前的金融體繫一樣。然而,隨著時間的推移,Phil開始接受Vitalik的觀點(所有人都贊揚Vitalik神人)。
Phil 認識到了 MEV 領域的重要性和挑戰,與他人共衕創立了 Flashbots——一家專註於 MEV 領域研究和解決方案的公司。Flashbots 意識到 MEV 將會存在,Flashbots 的使命是確保 MEV 的存在不會産生這樣一個繫統:在該繫統中,做一個惡意者或創造消極外部效應對你個人來説更有利,而且比做一個好演員盈利更多。TradFi 就是這樣的例子,盈利最好的策略通常會利用繫統的優勢。Flashbots 還認爲,可能有一種方法可爲用戶利用 MEV 的能量,併不僅爲保護網絡安全的人員提供補貼,還未網絡上的交易提供補貼,讓人們可穫得更好的價格,從而在這些繫統中爲人們提供他們想要的執行力。若設計得當,MEV 有可能使加密貨幣優於傳統繫統。
Flashbots 認識到礦工對交易排序的壟斷是一種寶貴的資源。他們實現 MEV 民主化的第一步是創建交易訂單權拍賣繫統。因此,MEV GETH 得以創建,它首先引入了PBS的概念。以太坊基金會的 Barnabé Monnot 將 PBS 描述爲:“一種設計理念,協議參與者可在其共識職責期間使用第三方服務。”到目前爲止,礦工擁有完全的控製權:他們決定交易順序,進行哈希處理,然後添加區塊。但 MEV GETH 改變了一切。它引入了稱爲搜索者的外部參與者,他們爲穫得將自己的交易捆綁包含在礦工區塊中的權利付費。
有了 MEV GETH,礦工有了一個新的端點。他們可從搜索者處收到針對 MEV 優化的交易捆綁包。每個捆綁包還包含一項曏礦工提供費用的交易,激勵他們選擇這個特定的捆綁包。當然,礦工們選擇了費用最高的捆綁包。當搜索者在公共內存池中爭奪 MEV 機會時,他們的出價自然會因爲這種競爭而升級。此次競爭確保礦工穫得 MEV 收益的最大份額。
讓我們舉例解釋這一點:假如Alice是一個搜索者,她髮現了兩個去中心化交易所之間的套利機會。通過在 UniSwap 上購買 Token X,然後立即在 SushiSwap 上以更高的價格將其出售,她能賺取0.07 ETH的利潤。因此,她創建了一個針對 0.07 ETH MEV 機會進行優化的交易捆綁,併願意曏礦工支付0.05 ETH,以優先處理下一個區塊中的交易。另一位搜索者Bob也髮現了衕樣的機會。他構建了一個類似的捆綁包,但曏礦工支付0.06 ETH以穫得相衕的特權。 Alice 和 Bob 都將他們的 MEV 優化交易捆綁包髮送給礦工。而礦工收到這些捆綁包,併必鬚決定將哪個捆綁包包含在下一個區塊中。由於費用較高,礦工自然會選擇 Bob 的捆綁包,以確保礦工穫得最大利益。這是一個雙贏的局麵。
礦工抓住了大部分 MEV 機會,從 0.07 ETH 機會中穫得了 0.06 ETH。與此衕時,搜索者穫得了 0.01 ETH 的凈利潤,這是他們原本無法穫得的。 MEV GETH機製的本質就是這種競價。 Alice 和 Bob 相互競爭,爲礦工提供激勵,從而確保礦工穫得很大一部分 MEV 收益。
然而,如果他們隻是開放一個端點供任何人髮送礦工捆綁包,惡意行爲者可能會利用這種開放性來使他們的繫統過載,從而可能髮起 DOS 攻擊。爲了解決此漏洞,Flashbots 推出了 Flashbots Relay。該中繼起著至關重要的過濾作用:它根據礦工的潛在盈利能力、交易的有效性和所提供的費用來評估傳入的交易捆綁包。然後,隻有最佳的捆綁包才會轉髮給礦工。這種方法確實引入了一定程度的中心化特性,因爲該過程依賴於 Flashbots Relay 來篩選不需要的或潛在有害的流量。值得註意的是,礦池運營者與其工人之間已存在一定程度的 PBS。通常,運營者負責構建塊體,包括從中繼髮送的捆綁包,對塊頭進行一次哈希,然後將其分派給工作人員繼續哈希併找到黃金隨機數。
MEV GETH 概述:從搜索到交易捆綁包含在礦工區塊中的過程
當以太坊從工作量證明(PoW)過渡到權益證明(PoS)時,交易驗證和區塊提案的格局髮生了顯著變化。PoW 依靠礦工和算力(哈希率)來驗證併曏區塊鏈添加新區塊,而 PoS 將這一責任轉移給了驗證者,驗證者將抵押他們的 ETH 來成爲區塊提議者。
MEV GETH 運用廣泛,幾乎得到所有礦池的使用,但隨著以太坊過渡到 PoS,繫統需要修改。PoS 的設計目的是爲了適應單獨的質押者——在 Raspberry Pi 等低資源設備上運行的個人驗證者。PoS 的設計目標是確保平衡的格局:無論您是單獨的質押者還是大型質押池的一部分,任何參與者的驗證過程都不會有固有的優勢。在 PoS 轉型之前,少數礦池主導了算力。這允許這些池和 Flashbots Relay 之間建立信任關繫。任何不誠實的行爲,例如礦池從搜索者處竊取 MEV,都可能危及這種關繫。假設一名礦工從搜索者處收到了一個帶有三明治攻擊的捆綁包。如果礦工進一步將自己的交易夾在搜索者中間,則會帶來短期收益,但會切斷與 Flashbots 的聯繫,從而損失他們未來的 MEV 收入,因爲這使他們將無法訪問 Flashbots Relay。
與大型礦池不衕,單獨的質押者可能沒有維持信任的長期動機。在某些情況下,他們可能會髮現利用建立者的 MEV 能盈利更多,然後從網絡中消失。這一行動將導緻他們受到全部罰沒,損失全部 32枚ETH,但在某些情況下,竊取 MEV 的可能帶來的利潤會大於這種損失。這確實在4月份髮生過,當時一名流氓驗證者從三明治機器人中竊取了2000萬美元,然後關閉了驗證者。要詳細了解此事件,請進一步閲讀本文。
爲了應對這種新的攻擊媒介,Flashbots 推出了 MEV Boost——一個專爲具有單獨抵押者的環境而設計的繫統。
MEV Boost 的原理如下:
MEV Boost 的過程
此設置引入了信任問題:
PBS 設計遇到了一個反覆出現的挑戰:雖然提議者和交易排序參與者之間的交互是假設的,但顯然需要一種機製,在這個機製下:
MEV Boost 信任假設
在深入研究 MEV Boost 之前,有必要了解以太坊在不使用 MEV Boost 的情況下創建區塊的默認方式。此設置依賴於驗證者執行客戶端和共識客戶端之間的協作。當執行客戶端收到交易時,它會檢查格式,將其添加到其內存池中,但不會對其進行處理。衕時,共識客戶端處理 PoS 共識,選擇一個驗證者來創建下一個區塊。然後,所選驗證者的執行客戶端根據 Gas 價格將交易安排到新區塊中,然後將其轉髮到共識客戶端併髮送到網絡。其他驗證者證明該區塊的準確性,一旦經過驗證,它就成爲該鏈的最新鏈接。
如果驗證者選擇使用 MEV Boost,則此過程會髮生變化。集成 MEV Boost 的驗證者通過其共識客戶端來實現這一點。當他們準備提出一個區塊時,他們就不再依賴執行客戶端,而是連接到中繼網絡。驗證者可選擇連接到哪些中繼網絡。
MEV Boost 是可自選的,但95%的驗證者都在使用它。基本上,除了 Vitalik 運行的驗證者之外,幾乎所有驗證者都將區塊構建委托給第三方。這種委托錶明,以太坊協議的核心功能(區塊構建)現在主要在以太坊繫統本身之外進行。這一設置中的一個關鍵角色是中繼,它們的角色與以太坊的基本原則有些不衕。目前,大約有9個活躍中繼,但其中隻有6個擁有超過9%的中繼區塊份額。
過去7天內頂級中繼和構建者的市場份額細分。來源:https://www.relayscan.io/
信任是一個問題,因爲中繼和構建者以及中繼和驗證者之間的關繫併不是不信任的。人們還擔心審查製度的阻力。中繼在拍賣期間可自行決定區塊的有效性。這種自由裁量權允許他們排除與受製裁地址相關的交易的區塊。有個較好的案例,當髮生OFAC Tornado現金製裁時,一些中繼行使了這一權力。最近的數據顯示,由於此類中繼實施了審查製度,過去一周38%的區塊遵守了 OFAC 準則。
以太坊正在製定一項策略,以重新整合當前在其核心協議之外運行的流程。這樣做的目標是強製提議者從構建者處穫取區塊,本質上是讓協議處理中繼的當前職責。目前的中繼繫統有其弱點。例如,中繼可能無法正確驗證區塊,錯誤地驗證了與提議者的付款相關的構建者出價,甚至延遲或無法完成區塊交付。最重要的是,運行中繼併不便宜。截至目前,他們缺乏可持續的融資模式。使用最多的超聲波中繼顯示,其每年的運營成本估計在7萬至8萬歐元之間,這還不包括軟件維護等其他費用。中繼目前作爲實用程序運行。
還值得註意的是,由於 MEV Boost 是由公司(Flashbots)開髮的外部軟件,因此它沒有像協議內的軟件那樣經過嚴格的測試。這在 Shapella 升級後的 Prism 客戶端中錶現得很明顯:與 MEV Boost 的集成漏洞導緻提議者簽名出現問題,導緻錯過插槽和罰沒。將此流程集成到以太坊協議中是爲了解決這些挑戰,確保即使提議者和構建者之間的協議破裂,提議者仍能穫得補償。因此,如果構建者提供了一個有缺陷的區塊,提議者仍會穫得全額出價,而後果則由構建者承擔。雖然這種集成的具體細節(稱爲 ePBS)仍在研究中,併且可能需要幾年時間才能實現,但對於它的外觀已有許多不衕的想法。
要了解潛在的 ePBS 實現,首先必鬚了解以太坊 PoS 算法的一些基本組件。在以太坊中,時間被分爲12秒的間隔,稱爲時隙。32個這樣的插槽聚集在一起形成一個紀元。在每個時隙中,隨機選擇一個驗證者來提議一個塊。衕時,指定一個委員會來驗證他們認爲符合以太坊 PoS 分叉選擇規則的區塊的有效性,完美地證明最近提議的區塊是合適的區塊頭。如果在給定的時隙中未提議某個區塊,則4秒後,證明驗證者將證明前一個區塊。
現在,我們看看 ePBS 設計。最受青睞的模型跨越兩個插槽。首先是投標階段,構建者將投標髮送給驗證者。然後,從第1個插槽開始,提議者選擇一個出價,併通過髮布一個對該構建者的出價做出保證的區塊來對出價做出承諾。然後,一組證明者投票支持該區塊,確保其在鏈中的位置。在插槽2中,構建者可看到在提議者承諾的區塊中做出保證的出價及對出價的證明。認識到提議者承諾不可撤銷後,被選中的構建者會釋放他們的區塊,併確保他們的 MEV 不會被盜。最後,證明者驗證這個新區塊。
“雙插槽”ePBS設計
新髮布的模型類似於雙槽方法,但引入了有效負載-及時性委員會。首先,構建者的出價由提議者選擇併做出保證,然後驗證者委員會進行證明。隨後,構建者揭示區塊的有效負載(其交易),有效負載-及時性委員會將確認有效負載已按時提供及其有效性。這兩種方法之間還存在的區別是以太坊權益證明操作的細節,但本文不做詳解。
具有有效負載-及時性委員會的ePBS設計
另一種設計與插槽拍賣的概念相關。在這裡,構建者在出價期間對紀元中的一個插槽做出了承諾,而未指定區塊。他們本質上承諾在分配的時段內創建一個區塊,併爲此提供一定的價格。這提供了適應性,特別是對於需要實時操作的跨域 MEV 的適應性。
到目前爲止,所有 ePBS 設計都授予構建者對區塊交易的完全控製權。一個可能的解決方法是使用包含列錶。該列錶由提議者髮送給構建者,理想情況下它包含內存池中當前所有交易,或者也不必是所有交易,在有空間的情況下則包含必鬚成爲構建者區塊的部分交易。如果構建者的區塊容量已滿,那麽他們必鬚錶明這一點,確認他們認可該列錶的。這種方式加強了網絡審查的抵抗力。如果構建者想要審查交易,那麽這樣做會日益變得睏難且成本高昂。由於EIP 1559,連續填充的區塊將導緻基本費用飆升。因此,如果構建者通過用虛擬交易填充區塊來不斷審查交易,長此以往不斷上升的成本會讓這種方法變得難以實現。
在某些情況下,提議者可能希望對區塊創建産生一些影響。另一個 ePBS 功能可能涉及提議者製作區塊的一部分(開始或結束)併將剩餘部分委托給構建者。所有這些設計和功能併不相互排斥,更多的是平衡它們的優、缺點。
ePBS 的另一種方式利用了我們現有的可信中繼。這是一種逐步減少中繼職責的方法,直到使中繼主要充當優化器,而不是關鍵組件。在第一階段,我們放棄了中繼驗證區塊有效性的職責。這大大降低了運行中繼的成本,因爲不再需要進行區塊模擬來確保其有效性。此外,它還簡化了中繼的角色,在與提議者和構建者的通信中減少了大約100到200毫秒的延遲。那麽,如果一個區塊被證明是無效的,我們又如何確保提議者穫得付款呢?這將要求構建者在出價時提供相當於其出價的抵押品。如果區塊無效,抵押品將作爲提議者本應收到的付款。這個概念被稱爲Optimistic Relaying V1。
Optimistic Relaying V1
若將樂觀中繼進一步推曏 V2,我們就能無需中繼下載區塊,從而再減少50到100毫秒的延遲。衕樣的保證也適用:如果一個區塊從未被下載,那麽構建者的抵押品就會用來支付。
Optimistic Relaying V2
最終,樂觀中繼的結束游戲開始看起來很像我之前提到的有效負載-及時性委員會模型。順序如下:構建者在點對點層上提交出價。提議者接受出價併跟進簽名標頭。然後,構建者推出該區塊。在這個階段,中繼的唯一工作是監督點對點層內存池,基本上是在不衕活動髮生時進行計時。中繼變爲超級輕量級角色,它隻需密切關註內存池。它使中繼的運作方式很像有效負載-及時性委員會模式。所有這些步驟都是爲了未來中繼被有效負載-及時性委員會取代,從而精簡整個協議。
PBS 的出現是 Flashbots 爲解決 MEV 中心化效應而創立的,旨在嘗試利用 MEV 取得積極成果。鑒於這些實體在以太坊中擔任專門構建區塊的新角色,它們有機會像超級計算機一樣運行,與輕量級驗證者形成鮮明對比。利用這些強大構建者的協議設計正在在出現。這個想法是讓驗證者保持簡單和直接(有些人甚至可能會説很弱),而構建器則沒有這樣的限製,可以在更高的計算級別上運行。這些增強型構建者的主要應用是實現擴展。
以太坊研究員 Dankrad Feist 的 Danksharding 設計錶明,這些高耗資的構建者能構建一個包含所有數據的大區塊。然後,該數據將被分段併由多個 KZG 保證進行提交。構建這個塊需要大量資源,但驗證它們則相對便宜。然後,輕量級驗證器可應用數據可用性採樣來檢查塊的一小部分,併幾乎能確定整個數據集的可訪問性,從而使 Proto-Danksharding 的數據吞吐量增加約16倍。Danksharding 很覆雜,這裡不予介紹,但關鍵是這些高級構建者可被委派作爲額外的角色來進一步增強網絡。
利用構建者的另一個想法是基於rollups的可能實現。幾年前,Vitalik 討論了rollups排序模型,爲其中一個模型創造了“Total Anarchy”這個術語,其中任何人都可以髮布一個rollup區塊,併且第一個命中鏈的序列就是官方區塊。這種方法有很多缺點,例如會帶來鏈上垃圾郵件、穫勝順序是模糊的等。然而,Justin Drake 最近關於基於rollups的文章強調了利用構建者的更有效策略。在此模型中,第一層的構建者充當rollup排序器,精選最佳序列以包含在鏈上。這確保了僅合併最佳序列。
除了rollup之外,強大構建者的引入還能刺激其他創新結構,例如無狀態客戶端。它們使節點能夠照常運行,但沒有保留過時狀態的包袱。這些使得節點更加輕量級,併依賴於構建者生成特定加密證明的能力。
協議強製提議者承諾(PEPC,髮音爲 pepsi)是以太坊基金會研究員 Barnabé Monnot 在2022年10月提出的概念。您可訪問 Barnabé 的原始帖子進行深入研究 。PEPC 的核心目標是賦予提案者在區塊構建方麵更大的髮言權,而他們因將整個任務出售給專業構建者而失去了這種髮言權。在 PEPC 中,除了通常的以太坊要求之外,提議者還可添加額外的條件來使區塊被視爲有效。如果一個區塊未能滿足任何這些額外條件,則它被視爲無效,那麽證明者應拒絶它。這與 EigenLayer 承諾不衕,在 EigenLayer 承諾中,具有額外承諾的驗證者要麽因不合規而損失一些質押的 ETH,要麽因履行承諾而穫得獎勵。然而,無論這些承諾如何,該區塊仍然有效。
想象一下Alice是以太坊網絡中的提議者。通過 PEPC,Alice 可靈活地爲即將到來的區塊做出具體承諾。她可以承諾她的區塊將包含至少三筆與特定智能合約相關的交易,併且她願意爲這些交易分配該區塊 70% 的 Gas。她傳達了這一承諾,併且此承諾是她的區塊有效性條件的一部分。現在,構建者Boba看到了Alice的承諾。他將符合Alice標準的一組交易打包在一起併髮送給Alice。如果Alice的區塊在構建後與她的承諾一緻(即包含消耗指定Gas的指定交易),則該區塊被視爲有效併能添加到區塊鏈中。如果沒有,Alice的區塊將不會被接受,以確保她遵守她聲明的承諾。
ePBS 和 PEPC 之間的一個主要區別在於承諾性質。在 ePBS 中,提案者和構建者遵循固定、統一的程序。這是一種一刀切的方法。提議者提交特定的塊哈希,然後構建者生成匹配的有效負載。然而,PEPC 引入了多樣性。每個提議者都可設置獨特的條件,更加靈活。需要註意的是,PEPC 的存在依賴於 ePBS,它們是相輔相成的。PEPC 的具體工作原理仍在討論和研究中。
PBS 還不是具體的實現,而是一種設計理念。它錶示,存在分工激勵,併且協議參與者將把一些責任委托給更專業的外部實體。該協議緻力於提供一個可靠的、盡可能去信任化的界麵,以確保該授權順利進行,併且具有公平和普惠性。如果沒有這一點,某些參與者可能會占據優勢,從而導緻在 PBS 時代到來之前首次在 MEV 中觀察到的中性化問題。PBS 的核心強調公平和去中心化。雖然要集成到協議中的確切元素將在未來的以太坊更新中看到,但以太坊的總體目標仍是明確的,即可訪問、開放、值得信賴的狀態計算,由一組去中心化的輕量級驗證者監督。