多個併發提議者 (MCP) 最近成為社區內討論的重要話題,尤其是在BRAID 協議推出和 DAG 共識興起之後。Max 支持以太坊採用 MCP 的論點集中在領導者共識機制所創造的壟斷上,其中特定時隙的領導者被賦予了相當大的壟斷權力。這種權力集中導致了一些問題,例如某些交易的審查時間過短。
在基於領導者的共識中,每個時隙的指定領導者擁有提議區塊的獨家權力,這使他們能夠利用其地位實現利潤最大化,例如通過交易重新排序或搶先交易。MCP 旨在通過分散The Block提議流程來緩解這些問題,從而減少任何單個提議者在給定時隙期間對網絡的影響。
多個併發提議者經濟秩序
讓n n表示網絡中驗證者的數量。驗證者子集維護一個本地鏈,用k < n k < n表示。協議在某個步驟需要選擇時隙i i處所有本地區塊鏈的並集,並且必須在每條本地鏈的交易之間應用排序規則。
確定性區塊排序:應用確定性規則對區塊及其交易進行排序。在MEV-SBC '24活動的背景下, Max 提出了兩種方法:
- 按優先費用排序:根據交易的優先費用對區塊進行排序。可以應用 MEV(最大可提取值)稅,其中優先費用的百分比由應用程序提取和重新分配。這種方法在提案“優先權就是您所需要的一切”中詳細說明。
- 執行標誌:交易可以設置“執行標誌”,指示特定操作,例如與特定流動性池交互(例如,在 UNIv5 池中交易ETH/ USDC )。當The Block排序規則遇到帶有此類標誌的交易時,它會拉取所有試圖與該池交互的標記交易,並將它們作為批處理執行。
具有搶先交易激勵的時機遊戲
假設p p是參與 MCP 協議的提議者,負責在 slot i i期間在其本地鏈中提議一個區塊。我們承認,提議此區塊存在固有的延遲和處理時間。具體而言,在p p受到懲罰之前,協議允許的最大延遲為\Delta Δ時間單位。
p p可以策略性地選擇將其區塊提案延遲到\Delta - \epsilon Δ − ϵ (其中\epsilon > 0 ϵ > 0 )個時間單位。這種延遲使p p能夠通過觀察和計算其他提案者提交的交易的部分順序來潛在地利用搶先交易的機會。通過策略性地將其區塊提案放在錯誤時段懲罰(未提出任何區塊,也不會被時段i i接受)之前, p p可以包含具有更高 gas 費用的交易,這種情況為參與搶先交易行為提供了明確的激勵,也是本文中玩時間遊戲的主要激勵。
在當前的確定性協議規則下,這種計時策略是受到激勵的,因為它允許提議者通過操縱交易順序來最大化他們的回報。這種情況強調了對有效機制的需求。然而,更強大的解決方案可能涉及重新審視交易排序規則,以消除導致此類剝削行為的計時遊戲的具體激勵,從而確保更公平、更安全的協議。
部分有序數據集 (POD)
關於 MCP 的主要擔憂之一是缺乏明確定義的方法來確定交易的順序。目前尚不確定如何確定排序的順序和基本標準,以及如何發揮客戶的影響力——無論是通過拍賣等機制、延遲考慮,還是像Phil 在 SBC '24 上強調的那樣,垃圾郵件攻擊的風險。
Common Prefix 團隊對各種共識協議進行了徹底的分析,包括基於領導者的、包含列表的和無領導者的共識模型,重點研究了它們的抗審查性。根據他們的研究,他們開發了部分有序數據集的概念。在這個模型中,交易的順序由客戶端記錄的時間戳決定,這可能導致在同時記錄兩個交易時缺乏嚴格的順序。現有文獻中還沒有廣泛探討放棄交易處理中的嚴格順序的含義,或者至少,我不知道有任何關於此事的全面研究。
POD 是一串有限序列,對\{(r, T), …, (r', T')\} { ( r , T ) , … , ( r ′ , T ′ ) } st r r為一輪(時隙), T T 為一組交易。
如果沒有新的交易能夠出現在記錄輪次r_{rec} \leq r_{perf} r r e c ≤ r p e r f內,則該輪次是完美的r_{perf} r p e r f ,這意味著在r_{perf} r p e r f之前的排序中沒有衝突。
POD 協議公開以下方法。
- 輸入事件
write(tx)
:客戶端調用write(tx)
來寫入交易tx
。 - 輸出事件
write_return(tx, π)
:在write(tx)
之後,協議輸出write_return(tx, π)
,其中π
是記錄證書。 - 輸入事件
read_perfect()
:客戶端調用read_perfect()
來讀取公告中的交易。 - 輸出事件
read_perfect_return(r, D, Π)
:在read_perfect()
協議輸出read_perfect_return(r, D, Π)
之後,其中r
是一輪,稱為過去完成輪,L
是一組交易,D
是 POD,Π
是過去完成證書。對於D
中的每個條目(r', T)
,我們說T
中的交易在r'
輪完成。 - 輸入事件
read_all()
:返回截至當前輪次的所有交易,但沒有過去完美保證,因此返回速度比read_perfect()
更快。 - 輸出事件
read_all_return(D, Π)
-
identify(π, Π) → P' ⊆ P
:客戶端調用identify(π, Π) → P' ⊆ P
來識別保證交易完成的各方集合P'
,其中Π
是 POD,π
是write_return(tx, π)
返回的證書。
原文中詳細闡述了活性和安全性的屬性,後續論證中將會用到以下內容:
公平懲罰:沒有誠實的副本會因為惡意操作而受到懲罰。如果identify(π, Π) → P'
,其中π
是交易tx
的記錄證書, Π
是POD D
的過去完美證書,則只有當P'
中的所有各方都簽署tx
和D
時才能創建。
POD 的構造如下:客戶端將向網絡中的所有驗證者發送交易,並且必須等待n - f n − f個簽名來確認他的交易已被網絡接收,其中f f是允許的拜占庭驗證者數量。一旦客戶端收到簽名,他將記錄他收到的所有簽名的中位數,因為驗證者在收到交易時會有一些延遲和差異。
對於某一輪的讀取交易集,客戶端有兩個選擇:
- 相信收到的交易是同步的:向驗證者請求特定輪次r r內的所有記錄交易。一旦獲得所有交易的n-f n - f個簽名,就根據它們的時間戳計算交易集的中位數。
- 過去完成保證,不相信同步:假設r_{perf} r p e r f是收到的r r值中的最小值,那麼我們將不會有任何具有較低時間戳的交易。現在取所有即將到來的交易的並集。現在客戶端將不得不等待一些\delta δ時間,以確保通過八卦機制沒有更低的r_{perf} r p e r f並且即將到來的一輪中沒有更多交易。
POD 可減輕 MCP 中的 MEV
採用部分有序數據集 (POD) 作為 MCP 的主要數據結構引入了一種尚未得到廣泛研究的新方法,特別是關於其緩解先前描述的 MEV 遊戲類型的潛力。
在 POD 中,交易根據其時間戳確定性地排序。雖然這種方法需要處理多個交易共享相同時間戳的情況(或評估此類情況發生的可能性),但它從根本上改變了先前描述的針對其他提議者區塊交易的計時遊戲的前沿激勵動態。
考慮在時隙m m中,惡意提議者試圖搶先或夾擊另一筆交易的場景。在之前基於拍賣和優先費用的確定性排序下,此類攻擊是可行的,因為提議者可以通過出價高於其他人或利用延遲來操縱他們在排序中的位置。然而,隨著在 POD 中實現基於時間戳的排序,這種策略發生了很大變化。一個懸而未決的問題仍然是,要知道哪些策略可以與 POD 或時間戳排序一起應用來提取 MEV,以及與所描述的遊戲相比,它們是否對網絡福利更不利。
在這種新設置中,作為時隙中的最後一個提議者實際上會將該提議者置於交易順序中的最後位置,從而限制他們在所有節點都誠實的情況下進行搶先交易或夾持的能力。相反,他們只能進行反向交易,這通常被認為比搶先交易或夾持危害更小。這種排序策略的轉變可以有效降低這些更危險的 MEV 剝削形式的風險。
如果惡意驗證者試圖通過賄賂提議者來操縱交易順序,則應對驗證者施加懲罰。通過施加此類懲罰,協議可以阻止惡意行為並確保維護交易排序過程的完整性。未來的下一個問題之一就是我們如何檢測交易記錄中的不良行為,也許應用 Turkey 的方法是一個可行的選擇,並假設異常值是惡意記錄。
然而,情況比表面上看起來要複雜得多。驗證者轉向一種新的遊戲,其中交易排序受延遲影響,這帶來了額外的挑戰。驗證者現在可以參與延遲遊戲,其中與其他驗證者或網絡節點的地理位置接近成為獲得優勢的關鍵因素。為了緩解這種情況,必須確保驗證者在不同地區分散良好。
將驗證者分散到不同地理位置有助於降低基於延遲的優勢帶來的影響。驗證者聚集在同一位置可能會導致中心化風險,少數驗證者可能會憑藉低延遲連接主導網絡。這種中心化可能會破壞交易排序的公平性,並可能再次引發審查風險。
此外,驗證者有動力避免共享同一位置,因為這樣做會降低他們可以訪問的交易的唯一性,從而可能出現回滾並抓住此類機會。在同一地區運營的驗證者越多,每個人可以捕獲的唯一交易就越少,從而導致交易費利潤降低,因為這些利潤必須在更多驗證者之間分配。這種動態鼓勵驗證者分散開來,形成一個更加分散和有彈性的網絡,更好地抵禦基於延遲的遊戲和權力集中。然而,目前的激勵措施仍然很弱,未來的工作將在於如何為非集中化提供更好的激勵。