作者:Dan Robinson, Dave White

編譯:Joyce,BlockBeats

介紹

在這篇文章中,我們將介紹 MEV 稅,這是任意應用程序可以用來捕獲自己的 MEV 的機制。這種機制現在可以在 OP Mainnet、Base 和 Blast 等 OP Stack L2 上使用,因爲這些鏈上的區塊提議者遵循一組我們稱爲競爭優先級排序的規則。

爲了對其中一條鏈徵收 MEV 稅,智能合約會收取一筆費用,該費用是交易優先費的函數。如果應用程序對搜索者每 1 美元的優先費收取 99 美元的 MEV 稅,那麼它可以捕獲該交易的 99% 的競爭性 MEV。

MEV 稅是一種簡單的技術,可以開闢廣闊的設計空間。您可以將它們視爲允許鏈上的任何應用程序運行自己的自定義 MEV 拍賣,而無需任何自己的鏈下基礎設施,只需連接到由區塊提議者運行的單個共享拍賣即可。

我們闡述瞭如何利用 MEV 稅來解決 MEV 研究中的三個主要問題:

去中心化交易所 (DEX) 路由器可優化交換者收到的價格;

自動做市商 (AMM),最大限度地減少流動性提供者經歷的損失與再平衡 (LVR);

讓用戶捕獲其交易創建的任何「後臺運行」MEV 的錢包;

但有一個問題。MEV 稅只有在區塊提議者嚴格遵守競爭性優先排序規則的情況下才有效,其中包括按優先費對交易進行排序,而不進行審查、窺視或延遲任何交易。如果區塊提議者偏離這些規則,他們就可以逃避 MEV 稅,爲自己獲取價值。因此,如今,MEV 稅依賴於信任的 L2 排序器,並且可能根本無法在以太坊 L1 上發揮作用,在以太坊 L1 中,區塊構建由競爭性的構建者拍賣主導,從而最大限度地提高提議者的收入。

儘管如此,MEV 稅收的力量和靈活性表明,對於目前能夠提供這種服務的平臺來說,優先排序可能是正確的選擇。競爭優先級排序的相對簡單性表明,可能存在一種可行的方法來以分散的方式強制執行,而不必信任單個排序器。我們希望這篇文章能夠激發對該問題的進一步研究。

優先排序

當有人在以太坊 L1 或 L2 上發送交易時,他們會指定優先費,並將其支付給區塊提議者。您可以想象這被指定爲 priorityFeePerGas(優先排序費),一個數字乘以交易中使用的 Gas 以獲得 builderPriorityFee—以 ETH 表示的總付款。

以太坊協議中沒有規定塊中的交易必須按降序貪婪排序 priorityFeePerGas。然而,這是一種流行的構建區塊的方式——例如,它是 OP Stack 鏈的排序器以及 geth 和 reth 使用的默認算法。優先級排序不僅可以讓交易者有效地表達其交易的緊迫性,還可以自然地將某些類型的 MEV 傳遞給區塊提議者。

發生這種情況是因爲優先排序將 MEV 的競爭變成了優先 gas 拍賣。當有機會從與鏈的交互中獲利時,例如通過 AMM 與中心化交易所進行套利,搜索者會競相搶佔先機。如果鏈使用優先級排序來確定交易包含和排序,則搜索者通過爲其交易設置高優先級費用來競爭。

在無風險利潤競爭爲零的競爭場景中,獲勝的搜索者最終應該支付全額 MEV 優先費。因此,如果通過與合約交互可以獲得 100 ETH 的利潤,則第一筆索取該利潤的交易將設置 100 ETH 的優先費用。(我們在侷限性部分討論了一些注意事項)。

MEV 稅

假設智能合約想要從與之交互的任何交易中捕獲 MEV。有大量關於智能合約可以嘗試捕獲自己的 MEV 的不同特定應用方式的研究。

但事實上,我們不一定要了解有關應用程序的任何信息。如果我們知道該區塊是通過競爭性優先排序構建的,那麼我們就有一個關於交易中 MEV 數量的通用信號:優先費。

我們建議智能合約可以查看交易的優先費用,並收取自己的費用作爲其某些遞增函數。例如,合約可能要求調用者將 ETH 中的 applicationPriorityFee = 99 * proposerPriorityFee 轉移到合約中。

這項新費用由發送交易的搜索者支付,因此它會影響該搜索者的行爲。如果機會中有 100 MEV,則獲勝交易現在將僅設置 1 ETH 的優先費用,因爲這將導致總共支付 100 ETH(1 ETH 支付給區塊提議者,99 ETH 支付給智能合約)。任何更高的優先費都會使交易無利可圖;任何較低的優先費用都會導致失去機會給設定較高費用的競爭對手。這意味着智能合約已經捕獲了交易中 99% 的 MEV。

我們將智能合約徵收的這筆額外費用稱爲 MEV 稅。MEV 稅允許應用程序爲了自身利益而劫持優先級排序,從而允許其爲其用戶重新捕獲 MEV,而不是將其泄露給區塊提議者。

如果該費用作爲 priorityFeePerGas 的函數增長得足夠快,那麼提議者將只獲得微不足道的 MEV。由於 priorityFeePerGas 以 wei(1 ETH 的十億分之一)計價,因此我們需要處理很多精度。例如,只要 MEV 稅足夠敏感,50,000 的 priorityFeePerGas 將導致過高的稅,那麼支付給提議者的總金額將低於 0.01 美元。(5)

然而,有一個重要的警告。正如「侷限性」部分中所討論的,MEV 稅只有在區塊提議者遵循某些規則(我們稱之爲「競爭性優先順序」)時才起作用,而不是爲了最大化自己的收入而偏離這些規則。以不信任的方式執行這些規則是一個懸而未決的問題。

單應用 MEV 捕獲

在這裏,我們概述瞭如何在保證使用競爭優先順序進行區塊構建的鏈上,MEV 稅可用於緩解 MEV 中的三個重要問題:讓 DEX 接口改善交換者的交易執行,讓 AMM 減少套利損失他們的 LP,並讓錢包通過出售用戶的反向運行權利來減少用戶的 MEV 泄漏。

去中心化交易所路由器

在 UniswapX 和 1inch Fusion 等基於意圖的 DEX 路由協議中,用戶(Alice)簽署交換意圖,搜索者競相以最優惠的價格爲 Alice 路由或填充該意圖。

UniswapX 當前版本使用兩種機制來進行競爭:荷蘭式拍賣,Alice 的限價會隨着時間的推移而變化,直到搜索者填滿爲止;以及初始鏈下詢價 (RFQ) 拍賣,用於設置荷蘭式拍賣的起始價格。

在保證競爭性優先排序的平臺上,UniswapX 可以用單一機制取代這些機制:MEV 稅。它可以通過讓用戶簽署任何人都可以立即填寫的訂單來實現這一點,但執行價格設置爲交易優先級的函數。

例如,如果 Alice 有一個出售 1 ETH 的 UniswapX 訂單,她可以將訂單的執行價格定義爲 minimumPrice + ($0.01 * priorityFeePerGas)。minimumPrice 可能是某個固定值,她預計該值將明顯低於當前價格。

搜索者將通過提交交易來競爭填補 Alice 的訂單。無論哪筆交易具有最高優先級費用且不恢復,都將完成訂單,這應該保證交換者獲得搜索者可以找到的最佳價格。(「侷限性」部分討論了一些例外情況。)

如果 Alice 的最低價格爲 3,000 美元,而 ETH 的當前價格爲 3,500 美元,則獲勝交易中的 priorityFeePerGas 約爲 50,000。(請注意,在一筆花費 200,000 Gas 的交易中,這將導致僅向區塊提議者支付約 100 億 wei(約 0.000035 美元)。)

與 UniswapX 中使用的現有機制相比,這具有一些潛在的好處。

與使用荷蘭式拍賣的訂單相比,使用 MEV 稅的訂單可以更快地完成且價格更優惠。正如本文所討論的,由於區塊之間的價格變動,鏈上荷蘭式拍賣會向 MEV 泄露一些價值,並且可能需要許多區塊才能完成。相比之下,使用 MEV 稅的訂單通常可以在下一個區塊中完成,同時捕獲絕大多數 MEV。

與鏈下詢價不同,使用 MEV 稅的訂單的拍賣將在鏈上交易執行時自動進行。這意味着,可以保證中標者只有在鏈上交易成功的情況下才承諾填寫訂單。這可以使 AMM 等鏈上流動性更容易與鏈下流動性競爭,這意味着 UniswapX 可以作爲 Uniswap v4 等多池系統的更有效的路由器。

AMM

通常情況下,AMM 會將價值泄露給套利者,他們根據區塊頂部的過時價格進行交易,正如損失與再平衡論文中所討論的那樣。我們可以使用 MEV 稅來讓 AMM 捕獲 MEV。爲了簡單起見,我們將討論如何在沒有集中流動性的情況下在 AMM 上發揮作用。(如果您對如何通過集中流動性來解決此類問題感興趣,Sorella 將很快發佈一種解決方案。)

AMM 可以通過收取額外費用作爲交易優先費的函數來捕獲 MEV,從而允許其拍賣在區塊中首先進行交易的權利。有多種方法可以計算和計價該費用。我們將討論一個可以說是中性的——以資金池流動性爲單位,sqrt(xy)。獲勝的交易將是最大程度增加礦池流動性的交易。

當在塊中的池上執行第一個事務時,池可以強制執行條件(將 a 作爲某個常量),而不是強制執行條件 x_end * y_end > x_start * y_start :

x_end * y_end > (sqrt(x_start * y_start) + a*priorityFeePerGas)^2

該公式將激勵套利交易者以真實價格進行交易,並且在該交易之後,池中的中點價格應該是真實價格。

在第一筆交易之後,交易可以像 Uniswap v2 上一樣進行,並具有固定的掉期費用。想要在池中進行交易而不支付額外 MEV 稅的不知情交易將設置較低的優先費用。

還有許多其他方法可以對 AMM 實施 MEV 稅,這些方法會產生不同的效果。例如,MEV 稅可以以互換的輸入或輸出代幣計價,可能會影響池所應用的互換費用百分比,或者可以確定用戶交易的最低價格。我們認爲這是一個值得探索的有趣的設計空間。

逆行拍賣

上述描述顯示瞭如何設計某些應用來避免 MEV 泄漏。然而,如果錢包想要嘗試幫助用戶捕獲他們從與任何應用程序交互的任意交易中創建的 MEV,甚至是那些不包含 MEV 稅的應用程序,該怎麼辦?

例如,當 Alice 在 AMM 上進行大額交易時,她有時會爲「backrunners」創造套利機會,將價格拉回。這通常會泄露給 MEV,而不是泄露給 Alice。

MEV-Share 和 MEVBlocker 是兩個允許用戶從交易中捕獲 MEV 的協議,但它們依賴於複雜的鏈下拍賣系統。訂單流拍賣設計空間描述了一些其他解決方案。

MEV 稅與基於意圖的智能合約錢包相結合,可以讓我們構建一個替代系統來爲 Alice 捕獲後臺運行的 MEV。假設 Alice 沒有創建在 AMM 上進行交易的交易,而是簽署了任何人都可以提交到 Alice 的智能合約錢包以使其採取該操作的意圖。Alice 的智能合約錢包向提交該交易的任何人收取 MEV 稅,該稅支付給 Alice。

提交 Alice 意圖的搜索者將擁有反運行她的專有權利,因爲他們可以在同一筆交易中自動執行此操作。因此,如果搜索具有競爭力,那麼 Alice 的所有利潤都應該通過 MEV 稅歸入 Alice 手中。

請注意,該系統不一定能保護用戶免受涉及搶先交易用戶交易的攻擊,因爲搶先交易用戶的交易可能能夠避免向該用戶支付 MEV 稅。這個問題(以及一些可能的緩解措施)將在下面的限制部分中更詳細地討論。儘管如此,這至少可以是對使用公共內存池且沒有任何緩解措施的系統的改進。

其他用例

除了這些例子之外,MEV 稅的其他潛在用途可能包括目前使用鏈下或荷蘭式拍賣的幾乎所有事物,例如:

預言機捕獲其創造的預言機可提取價值的協議,例如 Oval;

Blend 等 NFT 抵押貸款協議的再融資拍賣;

借貸協議清算的泄漏價值低於荷蘭式拍賣;

跨應用 MEV 捕獲

上述解決方案旨在捕獲 MEV 與單個應用程序的交互。但有時搜索者可能可以通過在同一事務中與多個應用程序交互來獲取更多價值。

如果這些應用程序中只有一個具有 MEV 稅,則交易中的所有 MEV 都應轉至具有 MEV 稅的應用程序,無論 MEV 稅多高或多低。

但是,如果搜索者的交易與使用 MEV 稅的兩個應用程序交互怎麼辦?例如,如果有一些 MEV 只能通過針對繳納 MEV 稅的 AMM 填寫上述其中一份繳納 MEV 稅的 UniswapX 訂單來捕獲,該怎麼辦?

在這種情況下,每個應用程序捕獲的超額 MEV 的相對金額取決於這些應用程序如何設置其 MEV 稅。如果作爲 MEV 稅收取的價值 app_i 由函數 tax_i(priority) 給出,則獲勝交易的優先級可以通過求解以下等式中的優先級來確定:

tax_1(priorityPerGas) + tax_2(priorityPerGas) = total MEV

(從技術上講,我們可以爲 priorityPerGas * gasUsed 添加第三項,以說明支付給區塊提議者的優先權費用,但我們將忽略這一點,在正常情況下它可能可以忽略不計)

在 MEV 稅與 priorityPerGas 呈線性關係的簡單情況下(因此 tax_1(priorityPerGas) = a_1 * priorityPerGas),您可以求解每個應用程序收到的 MEV 份額:

a_1 * priorityPerGas + a_2 * priorityPerGas = MEV priorityPerGas = MEV/(a_1 + a_2) tax_1(priorityPerGas) = (a_1/(a_1+a_2))*MEV tax_2(priorityPerGas) = (a_2/(a_1+a_2))*MEV

在設置自己的 MEV 稅時,應用程序面臨着權衡 - 更高的稅收讓它在跨應用程序 MEV 發生時獲得更大份額,但這意味着如果存在競爭方式來提取它,它可能會錯過一些跨應用程序 MEV。例如,如果有一個 AMM 對每筆交易收取 MEV 稅,那麼 MEV 稅 UniswapX 訂單可能更有可能由不同的 AMM 或鏈下填充者填充。

在許多情況下,可能存在一種均衡,其中兩個應用程序設計其 MEV 稅,以便以最大化各自利潤的方式共享 MEV。例如,MEV 稅 AMM 可能希望從區塊頂部附近的單個知情交易者那裏獲取價值,但隨後希望以較低的固定利率向其他交易者和應用程序(包括使用 MEV 稅的應用程序)提供流動性。費用。在這種情況下,AMM 可能會設置相對較低的 MEV 稅(例如 $0.00001 * priorityFeePerGas),以便套利交易(如果有)發生在區塊的早期,然後對後續交易不收取 MEV 稅區塊中的交易。像 UniswapX 這樣想要與 AMM 交互的應用程序可以設置更高的 MEV 稅(例如 $0.01 * priorityFeePerGas),以確保在池已經套利後將其交易包含在內。考慮到這些相對稅收,即使 UniswapX 訂單中只有 1 美元的 MEV 和 50,000 美元的 MEV,AMM 最終也會首先被套利。

我們認爲這是一個值得未來研究的廣闊設計空間。

侷限性

MEV 稅有一些複雜性和缺點,我們認爲這些都是未來研究的有趣領域。

激勵不相容

MEV 稅對於壟斷區塊提議者來說不具有激勵相容性。它們只有在交易包容性存在公平競爭的情況下才能發揮作用,而只有當區塊提議者遵循我們稱之爲「競爭性優先級排序」的規則,而不是最大化自己的收入時,這種情況纔會發生。非正式地列舉一些建議規則,包括但不限於以下幾點:

優先排序。塊內的交易必須按 priorityFeePerGas 降序排列。

抵制審查制度。如果塊提議者在塊期間收到事務 t1,並且該塊未滿或包含某些事務 t2,例如 t2.priorityFeePerGas < t1.priorityFeePerGas,則該塊必須包含事務 t1。

交易前隱私。區塊提議者必須通過私有端點接受交易,並且在提交到區塊之前不得與其他任何人共享此類交易,或者使用這些交易的內容作爲構建自己的交易的輸入。

沒有最後的審查。區塊提議者必須設定一個明確的區塊時間,在此時間之前,他們接受任何人的交易請求;在此時間之後,他們不再接受任何人的交易請求。

如果違反這些屬性中的一項或多項,可能會削弱 MEV 稅的有效性。違反審查制度的區塊提議者可以通過排除競爭交易並提交爲自己佔便宜的零優先級交易來避免大多數 MEV 稅。違反交易前隱私的區塊提議者可以從其他交易中竊取 MEV 或查看他們的優先費用,以確切地知道自己需要設置多高的費用,而能夠比其他人晚提交交易的區塊提議者將獲得免費的「最後看看是否要以高於其他人的價格獲得機會,這兩種情況都可能造成逆向選擇問題,最終阻礙競爭。

不幸的是,雖然第一個屬性很容易在協議層強制執行,但以不信任的方式強制執行其他屬性是一個懸而未決的問題。

在協議層缺乏強制執行的情況下,需要信任承諾這些規則的單個定序器不會偏離這些規則,並且如果提議者將區塊構建外包給競爭性收入最大化拍賣(例如以太坊 L1 的 MEV-Boost),塊可能不會跟隨它們。

這些問題可以通過單個可信排序器來「解決」,該排序器承諾使用競爭性優先級排序來進行塊構建。它們也可以通過使用共識、密碼學和/或可信執行環境的某種組合的去中心化機制來解決,例如 Sorella 的 Angstrom、Flashbots 的 SUAVE、無領導拍賣或多重性。

完整區塊

當區塊完全滿時,MEV 稅正常運作的一個例外就會發生。在這種情況下,區塊提議者可能不得不放棄優先級較低的交易,而不是簡單地將它們包含在區塊中。由於與 MEV 稅應用程序交互的交易可能具有極低的優先費用,因此這些應用程序可能會被不使用 MEV 稅或 MEV 稅極低的應用程序擠出。然而,在使用類似 EIP-1559 的機制來設置單獨的基本費用的鏈中,區塊完全填滿的情況應該相對罕見。此外,考慮到當區塊已滿時某些交易需要延遲,通過設置更高的 MEV 稅來延遲表示較低緊迫性的交易可能是一個合理的結果。

已恢復的交易

MEV 稅實際上依賴於單塊拍賣,其中每個「出價」都是一次交易。這些拍賣的一個缺點是,失敗的出價通常會導致恢復的交易被包含在鏈上,支付一些基本費用並導致鏈擁堵。

如果排序器可以完全排除失敗的事務,這將緩解這個問題,儘管即使使用集中式排序器也很難實現。(它也不會嚴格遵守上述抗審查屬性,儘管可以調整該定義。)更復雜的定序器可以通過允許交易指定它們正在參與哪些有爭議的拍賣來優化此過程,從而使定序器能夠足夠的信息來跳過它知道會失敗的後續事務。

泄露用戶意圖

MEV 稅只有在搜索者之間存在競爭的情況下才有效,這意味着這個機會需要在某種程度上廣爲人知。對於像 AMM 這樣的應用程序,機會在鏈上可見,這應該自然發生。但對於基於意圖的路由或後臺拍賣等應用程序,這意味着應用程序可能需要與搜索者共享用戶的意圖。

在某些情況下,在用戶意圖實現之前傳播用戶意圖而造成的臨時隱私損失可能會以 MEV 稅無法收回的方式泄漏價值。

例如,假設 Alice 想要使用上述的後臺拍賣協議購買低流動性代幣。她發佈了智能合約錢包的簽名意圖,以在 AMM 上購買該代幣,並設置一定的滑點容差。搜索者可以在高優先級交易中競相將該代幣的價格推高至她的滑點容忍度,而無需填寫用戶的訂單。然後,獲勝者 Bob 可以通過在低優先級交易中包含並反向運行它,以非競爭性的方式滿足 Alice 的意圖,從而夾住 Alice 的交易並給她一個更差的價格,同時逃避她的 MEV 稅。購買 NFT 也可能會出現類似的問題。

需要注意的是,這樣的攻擊對 Bob 來說是有風險的,因爲他無法保證在購買代幣和賣給 Alice 之間的原子性。一個天真的 Bob 可能會陷入「夾擊撕裂」陷阱中:Alice 先發布意圖從自己手中購買一個無價值的代幣,Bob 爲了夾擊她的交易而購買了該代幣,但在 Bob 完成夾擊之前,Alice 撤回了她的意圖。

應用程序還可以通過限制與其共享意圖的搜索者集合並監控他們的行爲來緩解這種情況,就像許多現有的訂單流拍賣所做的那樣。

也可以將 MEV 稅與具有隱私意識的構建器功能結合起來,就像 Flashbots 爲 SUAVE 設計所設想的那樣。

最後,如果 Alice 認爲分享意圖的成本超過了競爭性搜索的收益,她可以自己構建交易並將其直接提交到區塊中。如上所述,競爭優先級排序的理想實現將爲區塊提議者提供交易前隱私。

相關討論

優先 gas 拍賣。Flash Boys 2.0 論文研究了去中心化區塊鏈中優先級排序的一些動態,該論文創造了「礦工可提取價值」這一術語。該論文指出,以太坊礦工(當該網絡使用工作量證明時)已經按優先級排序交易,並且套利者依靠這種行爲參與「優先 gas 拍賣」,他們在其中競標被納入的權利第一個區塊,這導致去中心化交易所套利的大部分 MEV 歸礦工所有。

先到先得。通過交易排序規則來緩解 MEV 的一些嘗試,例如 Themis 或 Arbitrum One 的當前排序器 (7) 側重於執行不同的排序規則,先到先服務(有時稱爲「公平排序」),其中塊提議者必須按照他們看到交易的順序對交易進行排序。

優先級排序採用不同的方法——平等對待給定時間內到達的交易,並按其聲明的優先級對它們進行排序。

先來先服務很難在具有多個驗證器的真實網絡環境中執行甚至定義。即使使用單個可信排序器,它也可能導致浪費的延遲競爭和垃圾郵件。最後,MEV 稅可能能夠消除先到先得排序無法消除的某些類型的 MEV,例如資產價格不連續「跳躍」帶來的套利利潤。優先排序相對於先到先服務排序的潛在優勢在某種程度上與 Budish、Cramton、Shim (2015) 中討論的離散時間相對於連續時間交換的優勢有關。

與此同時,雖然默認情況下優先級排序似乎會向 MEV 泄露價值,但這篇文章展示瞭如何設計應用程序來重新獲得它。

費用共享。Blast 是以太坊 L2,與交易中訪問的智能合約共享一部分優先費和基本費用。

MEV 稅允許類似的事情(至少對於優先費用),但可以在任何使用競爭性優先排序的鏈上的應用程序層實施,而不需要對費用共享的特殊支持。它們還允許應用程序將自己的稅費定義爲優先費的自定義函數,從而提供更大的靈活性,並可能提高 MEV 感知應用程序的可組合性。

無需信任的解決方案。本文重點討論平臺使用競爭性優先級排序的動機以及利用平臺的方法,而不是討論如何以不信任的方式強制執行它。

先前已經對競爭優先級排序所需的每個其他屬性進行了重要的討論。例如,在 Fox, Pai, Resnick (2023) 中,作者討論了在缺乏審查阻力的情況下鏈上拍賣的漏洞,並描述了使用多個併發提議者的抗審查拍賣的設計。然而,他們並沒有建議交易的具體順序。

還有其他關於構建信任最小化區塊構建機制的研究,包括 Flashbots 的 SUAVE、Sorella 的 Angstrom、Leaderless Auctions、Espresso 和 Offchain Labs 的去中心化 Timeboost,以及 Péter Szilági 的強制公共交易納入。

我們希望這篇文章鼓勵 L2 考慮使用優先級排序(OP 堆棧默認支持),並鼓勵應用程序在支持的情況下嘗試 MEV 稅。我們還希望它能激發對 L1 和 L2 上信任最小化競爭優先級排序協議的進一步研究。