摘要:由於以太坊2.0 中的交易排序流程將與當前的PoW 以太坊相同,我們有理由認為,MEV 機會仍將存在於以太坊2.0 中。以太坊很快將從PoW 過渡到PoS 共識協議。開發者們已經致力於實現這一轉變數年時間,並且分多個步驟進行。第一步是在2020 年12 月推出信標鏈,當前信標鏈現在已…
由於以太坊 2.0 中的交易排序流程將與當前的PoW 以太坊相同,我們有理由認為,電動汽車 機會仍將存在於以太坊2.0 中。
以太坊很快將從PoW 過渡到PoS 共識協議。開發者們已經致力於實現這一轉變數年時間,並且分多個步驟進行。第一步是在2020 年12 月推出信標鏈,當前信標鏈現在已經上線,在撰寫本文時,信標鏈上已經有超過16 萬名個驗證者(validators),相當於質押了約500 萬ETH。
第二步「大合併」可能會在2022 年初發生。雖然在這一步之外還有很多細節需要解決,但關於PoS 以太坊(即eth2)已經有足夠多的細節被解決,這就允許我們能夠推斷出最大可提取價值(MEV,即Maximal Extractable Value,舊稱為「礦工可提取價值」)在eth2 中的情況。
在本文中,我们将研究 eth2 中的交易排序,并分析由 MEV 价值提取而带来的验证者收益增长。我们发现,MEV 将显著提高验证者获得的奖励,但也可能会加剧 eth2 参与者之间(收益)的不平等。我们还将讨论 eth2 中 MEV 的定性方面,比如交易所和验证者池(即质押池)等最大利益相关者之间的潜在动态。
本文由Alex Obadia 和Taarush Vemulapalli 共同撰寫。完整的分析文檔參見: https://github.com/flashbots/eth2-research
01. eth2 概述
目前以太坊的共識由運行挖礦硬件的礦工們實現,這些硬件被優化以更好地解決PoW 挑戰。而從PoW 共識到PoS 共識的轉變意味著以太坊網絡將由驗證者(而非礦工)來保護,每個驗證者節點需要質押32 ETH 的保證金,並通過投票以達成對信標鏈狀態的共識。驗證者這樣做有著經濟上的激勵,即驗證者的良好行為將獲得獎勵,而離線或者惡意行為將受到懲罰(罰沒)。
目前,信標鏈與eth1 鏈並行運行,自2020 年12 月以來信標鏈一直在成功地在運行中。 「大合併」將使得信標鏈與當前的eth1 鏈合併。在本文中,我們將使用「eth1」來表示包含區塊和交易的以太坊執行引擎;使用「信標鏈」來表示eth2 新的底層PoS 共識機制;使用「eth2」來表示合併之後的以太坊權威鏈,這條鏈包括了eth1 執行引擎和用於實現共識的信標鏈。
eth2 以6.4 分鐘(稱為一個epoch)的增量達成共識。每個epoch 包含32 個slot,每個slot 時長為12 秒,每個slot 都代表了一個區塊被添加進信標鏈的機會。在正常運行的情況下,每個slot 都會產生一個區塊,但是諸如驗證者離線等原因將可能導致某些slots 產生0 個區塊。
對於每個epoch,所有驗證者都是被偽隨機地分配去提議區塊(propose block)或者對由其他驗證者提議的區塊進行證明(attest to blocks),提議區塊的驗證者稱為「提議者」,證明區塊的驗證者稱為「證明者」。每個slot 期間僅會有1 名提議者和多名證明者,這些證明者將負責證明該區塊中的所有信息,包括來自eth1 的數據和來自信標鏈的數據。證明者通過對信標鏈的「三個方面」的當前值(current values)進行正確地投票來獲得獎勵,這三個方面分別是:區塊鏈的鏈頭(即頂端區塊)、被證明的檢查點以及被敲定的檢查點。
備註:每個epoch 的最後一個slot 被稱為檢查點(checkpoint)。當兩個連續的epochs 被證明了(justified),那麼前一個epoch 就可以視為被敲定了(finalized),詳情可參考:《以太坊2.0:如何實現最終性? 》。
02. eth2 中的MEV
MEV (最大可提取價值)是區塊提議者通過對他們提議的區塊內的交易進行重新排序、審查或者加塞交易,從而獲得的所有可能的價值。為了理解eth2 中的交易排序,我們首先來了解一下被用來對交易進行排序的軟件(即eth2 客戶端)的內部工作原理。
1. eth2 客戶端
由於eth2 本質上是合併在一起的兩條鏈(即eth1 鍊和信標鏈),因此eth2 客戶端由兩個「子客戶端」(sub-clients)組成也就不足為奇了:其中一個是執行引擎客戶端,另一個是共識客戶端。值得注意的是,當前的PoW 以太坊客戶端(即eth1 客戶端)將繼續存在於eth2 中,並與信標客戶端一起運行,彼此分工不同。
其中,eth2 中的eth1 客戶端是對當前的PoW 以太坊客戶端剝離掉其共識職責,而僅專注於eth1 鏈的交易池、eth1 執行和EVM;而信標客戶端負責共識和分配驗證者的職責(比如對信標區塊的證明和提議)。這兩個客戶端並行運行,各自維護自己的p2p 網絡堆棧(信標客戶端維護libp2p,eth1 客戶端維護devp2p)。
eth2 客戶端可能看起來就像下圖這個經修改的示意圖(源自Danny Ryan 撰寫的文章 [1])
圖 1
2. eth1 的區塊提議
正如在當前的PoW 以太坊中一樣,eth2 中的eth1 客戶端將維護一個本地的交易池(mempool),其中包含了來自其p2p 網絡中接收到的交易。正如Rayonism 規範 [2] 中所描述的,信標客戶端將與eth1 客戶端交互,從而形成一個eth1 區塊。雖然該規範中的(兩個客戶端之間的)通信途徑細節可能會在生產中發生變化,但大致的方式很可能會保持一致:
-
經過多次來回,信標客戶端向eth1 客戶端查詢其通過eth1 交易池形成的某個eth1 區塊,檢查該區塊是否滿足各種有效性條件;
-
一旦這個eth1 區塊被信標客戶端接收,並且滿足了各種有效性檢查,則該eth1 區塊將被提議者(proposers)打包進當前的信標區塊中,並成為證明者(attesters)要投票的數據的一部分。
-
然後信標客戶端將要求eth1 客戶端把eth1 鏈的鏈頭(即頂端區塊)更新為這個最新被打包的eth1 區塊;
-
一段之間之後,這個包含了該信標區塊的epoch 會被敲定(finalized),然後信標客戶端將告知eth1 客戶端這個eth2 區塊已經在共識層被敲定了。
圖 2
雖然eth2 中達成共識的方式改變了,但eth2 中的每個eth1 區塊內的交易排序和今天是一樣的,都是在排序交易的軟件(比如PoW 以太坊客戶端Geth)和p2p 交易網絡中實現的。
3. eth2 中是否存在MEV?
由於eth2 中的交易排序流程將與當前的PoW 以太坊相同,我們有理由認為,MEV 機會仍將存在於eth2 中,正如我們今天在PoW 以太坊中看到的那樣。不同之處在於誰擁有對排序的最終控制權,即在eth2 中,驗證者(而非礦工)將對交易排序擁有控制權,驗證者被選出來提議信標區塊,信標區塊中將會包含一個從eth1 客戶端查詢到的新的eth1 區塊。
圖 3
這意味著,諸如Flashbots 的MEV-geth (一種經修改的eth1 客戶端軟件,旨在優化MEV 的提取)這樣一種允許eth1 交易發送者通過給區塊提議者(以及交易排序者)支付小費來實現自己希望的交易排序的技術將依然存在。明確了這一主張後,我們現在可以思考一下,通過運行Flashbots 這樣的軟件,驗證者能賺多少錢?
03. 驗證者的獎勵機制
雖然MEV 是出了名的難以衡量,但我們使用Flashbots 數據 [3] 作為eth2 區塊提議者通過MEV 可以獲得的最低額外收益的下限。這是一個收益下限,因為僅有一小部分MEV 活動是在Flashbots 上發生。
本文分析的一個警告是,本文是基於eth2 協議規定的staking 收益之上考慮MEV,但不包括區塊提議者可以獲得的交易費獎勵。不包括這些交易費的主要原因是,很難預測在EIP-1559 之後提議者將能從交易費用中賺到多少(EIP-1559 將引入基本交易費basefee 的銷毀機制)。
1. 理想的情況
讓我們首先考慮一種理想的情況,即所有驗證者完美參與並獲得最大的協議獎勵(即不存在大規模罰沒),並且所有staking 獎勵都被平均分配,因為所有驗證者都在無限的時間尺度上提議相同數量的區塊。
圖4:Y 軸表示收益率,X 軸表示驗證者數量。藍線表示在不考慮MEV 的情況下,理想情況中的驗證者年收益率;黃線表示在考慮MEV 的情況下,理想情況中的驗證者年收益率。藍色豎虛線表示撰文時的驗證者數量(大約16 萬名驗證者)。
基於當前的驗證者數量(16 萬名驗證者),我們發現,MEV 可以將驗證者的獎勵增加75.3%,或者說提供一個12.83% 的APR(年化利率),高於比考慮MEV 情況下通過質押ETH 帶來的7.35% APR 收益。從中可以得出的一個結論是,更高的驗證者獎勵意味著更多的ETH 持有者將被吸引成為驗證者,這反過來意味著以太坊擁有更大的驗證者集合而變得更安全。
随着在不久的将来更多的验证者上线,基于 MEV 带来的验证者收益提高将会不那么显著,比如 25 万名验证者(即质押了 800 万 ETH)时的奖励将仅增加 60%。如上所述,这一分析没有考虑验证者将获得多少交易费,因为这将降低 MEV 对于收益的相对影响。然而,与当前 PoW 矿工通过 Flashbots 赚取的额外 MEV 奖励(目前大约是 5.6%)相比较,这些数据依然是有用的。这种明显的差异源于 PoS 发行率的显著下降。这表明,在 eth2 中,MEV 的提取将比在 eth1 中更值得,而且质押者(stakers)可能会大力推动通过 MEV 实现的质押收益。
2. 將時間因素& REV 分配考慮進去
在任何有限的時間尺度上,驗證者的獎勵都是可變的,因為提議區塊有著特定的協議獎勵,且因為一些驗證者將很幸運地有機會提議比平均數量更多的區塊,而一些不那麼幸運的驗證者將提議更少的區塊。
例如,如果網絡中有10 萬名驗證者,那麼每個驗證者每年提議的區塊的平均數量是26 個區塊,而最不幸的1% 驗證者最多有機會提議15 個塊,最幸運的1% 的驗證者則至少提議39 個區塊。見下圖:
圖 5
基於這一邏輯,我們可以根據3 個不同水平的區塊提議「運氣」(即最幸運的1% 驗證者,最不幸的1% 驗證者,以及平均的驗證者)來繪製出驗證者staking 獎勵的可變性(不考慮MEV 的影響):
圖6:Y 軸表示收益率,X 軸表示驗證者數量。綠線表示在不考慮MEV 的情況下最幸運的1% 驗證者可以獲得的staking 年收益率;紅線表示不考慮MEV 的情況下最不幸的1% 驗證者可以獲得的staking 年收益率;黃線表示不考慮MEV 的情況下驗證者平均能夠獲得的staking 年收益率。藍色豎虛線表示撰文時的驗證者數量(大約16 萬名驗證者)。
現在,我們加入Flashbots 上記錄的每個區塊的平均已獲得的提取價值(REV,即Realized Extractable Value)[4],我們可以比較一下這3 個不同水平的區塊提議「運氣」在考慮MEV 價值和不考慮MEV 價值的情況下的驗證者收益率情況:
圖7:綠線表示包含MEV 價值提取的情況下,最幸運的1% 驗證者可以獲得的年收益率;紅線表示包含MEV 價值提取的情況下最不幸的1% 驗證者可以獲得的年收益率;黃線表示包含MEV 價值提取的情況下驗證者平均可以獲得的年收益率。最底下這條粗線是在不考慮MEV 的情況下的3 種區塊提議「運氣」中驗證者可以獲得的staking 年收益率,但由於三條線在上圖中的差異太小,因此三條線重疊在一起了。
上圖(圖7)中的三條用於表示不考慮MEV 價值的3 個「運氣」水平帶來的驗證者年staking 收益率的曲線幾乎重疊在一起而難以區分。這表明,MEV 價值的提取擴大了由區塊提議「運氣」帶來的驗證者之間收益的不平等。
此外,REV 的分佈是不均勻的,可以被視為「運氣」的第二個維度,即其中一些區塊擁有比其他區塊更大的MEV 獎勵。例如,下面是在最近的以太坊10 萬個連續區塊(從11600000 區塊高度開始)中使用了Flashbots 的MEV-Geth 挖礦的礦工所獲得的REV 獎勵的(長尾)分佈:
圖 8
上圖(圖8)中我們將X 軸(每個區塊中礦工實際已獲得的REV 價值)截短至3 ETH,但實際上在我們的抽樣中礦工最高可以獲得101 ETH 的REV 價值。使用這一Flashbots 礦工獎勵的分佈來代表REV 的分佈,我們可以根據最不幸的1% 驗證者、平均的驗證者和最幸運的1% 驗證者從MEV 獎勵中獲得的收益來界定和繪製出3個運氣級別的年收益率曲線:
圖9:綠線代表在包含MEV 價值提取的情況下最幸運的1% 驗證者可以獲得的年收益率;紅線代表在包含MEV 價值提取的情況下最不幸的1% 驗證者可以獲得的年收益率;黃線代表在包含MEV 價值提取的情況下驗證者平均可以獲得的年收益率。藍色豎虛線表示撰文時的驗證者數量(大約16 萬名驗證者)。
之前一張圖(即圖7)表向我們展示了MEV 擴大了由區塊提議「運氣」帶來的驗證者之間收益的不平等;而這種圖(圖9)表展示了REV 的不均勻分佈是驗證者之間收益不平等的更大來源,尤其是考慮到這張圖(圖9)中的Y 軸增長到了600%,而圖7 的Y 軸僅為80%。
然而,在現實中,驗證者將會通過在驗證者池(validator pools,也即所謂的質押池)中匯聚資源來消除來自區塊提議運氣和REV 分佈不均而帶來的驗證者收益的差異。但這意味著,MEV 對於驗證者收益的影響可能會抑制人們獨立運行驗證者節點,使得加入某個驗證者池在財務激勵上更加有吸引力,從而可能導致網絡驗證的中心化。
最終,我們擔心MEV 可能會加重eth2 中的寡頭壟斷動態,因為與那些擁有更少ETH 質押量的實體(驗證者池)相比,擁有最多ETH 質押量的實體的增長速度更快。這將使MEV 提取的民主化在eth2 中特別重要,從而來保持共識投票權的去中心化。
04. 新的共識參與者
雖然上述定量分析對於開始思考eth2 中的MEV 很重要,但如果沒有對eth2 共識參與者的定性分析,本文就是不完整的。如前所述,在eth2 中,礦工和礦池將被控制著大量ETH 的實體(比如交易所、協議的資金庫、投資基金和驗證者池)所代替。這一點已經可以通過信標鏈瀏覽器beaconcha.in 上顯示的當前eth2 驗證者的eth1 存款地址的分佈情況看出來:
上圖:eth2 所有驗證者的eth1 存款地址的分佈情況。可以看出,大量的eth2 驗證者是通過幾家交易所和質押池等實體的地址來進行質押的,這意味著這些實體控制了很大比例的eth2 投票權。
值得注意的是,這個餅狀圖並沒有區分控制共識投票權的最終實體和它所運行的基礎設施。雖然eth2 共識投票權的中心化令人擔憂,但基礎設施的中心化可能不是如此,PoS 經濟激勵鼓勵基礎設施的去中心化,以最小化相關的slashing 風險。
具體來說,這意味著像 海妖 這樣控制了大量(用戶的) eth 的交易所可能會通過將(用戶的)質押金分散到許多基礎設施提供商,在不同地區、不同硬件上運行eth2 節點,而不是在內部承擔這項龐大的基礎設施運行任務,從而降低大幅罰沒的風險。
1. 交易所
在eth2 中最引人注目的變化是交易所成為了最大的ETH 持有者,因此也成為了最大的驗證者。幣庫、幣安和Kraken 等中心化企業可能將控制最大數量的驗證者slots。這些參與者受到與礦池不同的規則約束,對其聲譽有許多方面的影響。與礦工格局相比,這種差異可能會對驗證者格局產生新的影響,並可能影響驗證者參與的活動,比如他們獲取收益的MEV 類型。
有趣的是,這些實體除了參與入eth2 質押,還參與多項活動,這可能會為這些交易所提供的現有服務與MEV 價值提取之間的協同增效帶來新的機會。這些活動包括加速交易、在提款被打包上鍊之前提供私下的提款,以及通過對訂單流的加密原生支付減少鏈上交易費等等。
這類服務最初可能是最前沿的,它們的好處可能意味著用戶會遷移到提供這些服務的交易所,從而可能會損害那些由於監管原因沒有或不能提供這些服務的交易所。此外,交易所在MEV 博弈中的潛在垂直整合(比如交易所運行它們自己的機器人向它們自己的驗證者節點提交交易)是一個值得關注的問題,我們認為應該進一步研究。
2. 驗證者池
eth2 的另一個重要的轉變是驗證者池(validator pools,也即所謂的「質押池」)的崛起,這些池提供了諸如降低參與eth2 質押的最低ETH 數量要求(用戶自己運行單個驗證者節點需要質押32 ETH,而加入驗證者池可以提供少於32 ETH 的數量,因為驗證者池將把所有用戶的ETH 匯聚起來進行質押)、替客戶搭建驗證者節點、消除由於區塊提議的「運氣」 (會影響MEV+交易費收益)帶來的變量,以及提供諸如staking 衍生品之類的額外服務來(得益於他們管理的資金基數)等好處。
一個有趣的現像是meta-pools 池的出現,比如Rocketpool 和 麗都。這些實體與許多驗證者池相連接,很可能成為這些驗證者池的質押量的一大來源,因此能夠對驗證者池的行為施加影響,比如影響驗證者池參與的MEV 提取類型以及它們向質押者提供的利潤分成。
這些meta-pools 通常提供質押衍生品。這方面的一個例子是為用戶提供他們已被鎖定的ETH 質押存款的一種流動性代幣化版本,用戶可以使用這種衍生品在(以太坊)網絡中使用。通過允許用戶將被鎖定的ETH 通過衍生品的形式再次用於DeFi 中,這將進一步增加驗證者在MEV 價值之外的收益。
05. 開放式問題
我們對eth2 中MEV 的探索發現了許多懸而未決的問題,我們計劃在接下來的幾個月裡進行研究。以下是其中的四個:
1. eth1 區塊提議者市場
由於eth2 實際上有兩個客戶端要運行(eth1 客戶端+信標客戶端),很可能獨立的驗證者會選擇將他們的eth1 節點默認為一個服務提供商,比如Infura,因為運行eth1 節點的本身開銷非常大。這可能暗示了eth1 和eth2 節點運行者開始分離。假設這樣一個動態的出現,我們可以想像出現一個eth1 節點運行者市場,其中運行著高性能的硬件和MEV 模擬軟件,滿足eth2 區塊提議者的需求。
2. 優化MEV 搜索時面臨的新限制
諸如價格套利和清算等MEV 機會在eth2 中仍然存在,但提取這些MEV 價值的系統有著新的參數,這些參數可能會修改或引入對MEV 提取的約束。
比如,eth2 的出塊時間固定為12 秒,而不是像當前eth1 的出塊時間多變,且區塊提議者的slots 是在每個epoch 開始時被分配的,這意味著提議者將最多能夠有6.4 分鐘的時間來計算他們的任務(當然,被分配在epoch 一開始的slots 的提議者沒有那麼長的時間)。這不僅為驗證者在eth1 客戶端交易池上運行計算以獲得最佳MEV 提取提供了潛在的更多時間,而且由於出塊時間的可預測性,使得模擬和執行更容易。
這意味著有更長的、更可預測的時間間隔來計算和執行MEV 提取策略,從而實現更複雜的、需要大量計算的MEV 提取。
3. 領導人選擇機制的變化
驗證者將提前知道他們是否需要提出一個區塊(除非是某個新的epoch 的第一個slot)。他們甚至可以(儘管概率很低)在一個epoch 內提議多個區塊。區塊提議者身份的確定會如何改變MEV 價值提取的動態?以及如果確定將在一個區塊內提議多個區塊,這將如何影響MEV 提取的動態?特別是,大型驗證者池/ 交易所最有可能在同一epoch 內擁有(被分配到)多個連續的slots。
4. L2s & 分片
本文的大部分內容都假設eth1 的區塊內容將保持今天的狀態。然而,在現實中,很多交易流將被轉移至L2s 中進行,以太坊L1 將用作數據可用性層,zk-rollups 和optimistic rollups 將負責把批量打包的交易數據提交至L1 上。
這將直觀地減少驗證者從MEV 中獲得的收益。然而,這是很難預測的,因為多個L2s 的世界帶來了額外的複雜性,可能會打開新形式的MEV (也即跨L2 交易,跨L1-L2 交易)。類似地,隨著eth2 的不斷發展和分片的投入生產,信標區塊內的分片排序可能會有重要意義,MEV 可能會成為實現Vitalik 提議的「將分片區塊錯開以實現更快的出塊時間」[5] 的激勵機制。
感謝Terence Tsao、Raul Jordan、Alejo Salles、Luke Youngblood、Tomasz Stanczak、Lakshman Sankar、Barnabe Monnot、Caspar S 和Viktor Bunin 對本文的寶貴貢獻和編輯。也要感謝Flashbots 團隊的其他成員進行的討論。
正文中涉及的鏈接:
1: https://ethresear.ch/t/eth1-eth2-client-relationship/7248
2: https://github.com/ethereum/rayonism/blob/master/specs/merge.md#assemble-block
3: https://dashboard.flashbots.net/
4: https://hackmd.io/@flashbots/quantifying-REV
5: https://ethresear.ch/t/simple-approach-to-incentivizing-shard-staggering/914