對 ETH 2 里 MEV 的初步探索 (上)

來源 | Flashbots

作者 | Alex Obadia & Taarush Vemulapalli

以太坊即將從工作量證明 (PoW) 共識過渡到權益證明 (PoS) 共識協議,實現過渡的開發工作已經進行多年了,并將分多個步驟進行。第一步是在 2020 年 12 月啟動信標鏈。在寫此文時,它已啟動,并有超過 16 萬的驗證者,或相當于 500 萬個 ETH 質押在上面了,

第二步是“合并”,可能在 2022 年年初發生。盡管這一步以外還有很多細節有待解決,但 PoS 以太坊 (eth2) 已經固定下來的內容對我們來說已充分能夠分析出 MEV 將是如何的,

在這篇文章里,我們研究 eth2 里的交易排序以及分析 MEV 帶來的質押收益。我們發現 MEV 將顯著提高驗證者的獎勵,但可能強化了 eth2 參與者間的不公平,我們還對 eth2 里 MEV 的定性問題進行討論,例如它的最大利益相關者交易所與驗證者池之間的動態關系將是什么樣的,

這篇文章由來自 Flashbots 的 Alex Obadia 和 Taarush Vemulapalli 共同撰寫,此處有完整分析,

eth2 總結

以太坊的共識當前是由礦工通過運行最好的硬件設備以解決工作量證明難題來實現的,從 PoW 共識到 PoS 共識的轉變意味著網路將由驗證者來維持,這些驗證者存入 32 個 ETH 作為保證金,然后對信標鏈上的狀態進行投票以達成共識。驗證者這樣做是有經濟激勵的,因為他們的良好行為會得到獎勵,而離線或惡意行為會受到懲罰 (例如罰沒)。

現在,信標鏈與 eth1 鏈式平行運行的,且自 2020 年12 月起一直運行順利。而”合并“則意味著——你猜對了——信標鏈與現在的 eth1 鏈并在一起。在文章的其余部分,我們將用 “eth1″ 指代包含現在的區塊和交易數據的以太坊執行引擎,”信標鏈“指代 eth2 的新底層 PoS 共識機制,而 ”eth2” 指的是“合并”后的以太坊權威區塊鏈,它包含 eth1 的執行引擎以及信標鏈的共識機制,

eth2 每 6.4 分鐘達成一次共識,稱為 epoch。每個 epoch 包含 32 個 slot,每個 slot 是 12 秒長,且都是把區塊添加到信標鏈上的機會。在正常的操作條件下,每個 slot 將有 1 個區塊,但像驗證者離線這種情況會導致一些 slot 不產生區塊。

在每個 epoch 里,所有驗證者都會被偽隨機分配做區塊提議或對其他驗證者所提議的區塊做證明,這些分配證明者和提議者分別會提前 2 個 epoch 和1 個 epoch 得知。在區塊的每個 slot里,該區塊的所有資訊 (包括來自 eth1 和信標鏈的數據)都將由一個驗證者負責提議,非常多的驗證者負責證明,證明者需要對信標鏈三方面的當前值進行投票:鏈頭、被證明的檢查點和被最終確定的檢查點,如果都準確投票了會得到獎勵。[1]

eth2 里的 MEV

MEV (Maximal Extractable Value, 可提取最大價值) 指的是一個區塊提議者可以從對交易重新排序、審查或在區塊里插入交易這些操作里獲得的所有潛在價值[2],為了了解在 eth2 里的交易排序,我們首先關注將會被使用的軟體的內部運作,

eth2 客戶端

由于 eth2 本質上是兩條鏈的合并,它的客戶端自然由兩個子客戶端組成,一個用于執行引擎,一個用于共識。值得注意的是,現在的 PoW 以太坊客戶端會繼續存在于 eth2 里,與信標客戶端一起運行,各自承擔不同的分工。

eth1 客戶端是一個 PoW 以太坊客戶端,但除去了它僅專注于 eth1 交易池、eth1 執行有效性、以及 EVM 的共識責任。而信標客戶端則負責共識和驗證者職責 (例如,信標區塊證明和提議)。它們是同時運行的,各自維持著自己的 p2p 網路堆棧 (信標鏈的 libp2p、eth1 的 devp2p)。

eth2 客戶端大概如下修改圖所示 (圖片來自 Danny Ryan 的這篇文章)。

eth1 區塊提議

就像現在的 PoW 以太坊,在 eth2 里的 eth1 客戶端負責維持從它的 p2p 網路里收到交易的本地交易池。如在 Rayonism 的規范所寫的,信標客戶端與 eth1 客戶端交互,以形成一個 eth1 區塊,盡管規范里的通信渠道在成產品時會有改變,但方法的語義應該變化不大:

  • 經過幾個來回,信標客戶端向 eth1 客戶端某 eth1 區塊的資訊 (該區塊由它的交易池所收到的交易組成) ,檢查它是否符合各種有效性條件
  • 當信標客戶端收到了 eth1 區塊,該區塊也符合了各種有效性驗證,它會由區塊提議者把它打包到當前的信標區塊,使其成為證明者要進行投票的數據。
  • 然后信標客戶端會請求 eth1 客戶端把將其鏈頭更新為最新被打包的 eth1 區塊,
  • 一段時間后,信標區塊所在的 epoch 會被最終確定了,信標客戶端會通知 eth1 客戶端 eth2 區塊已經在共識層被最終確定了,

盡管在 eth2 上達成共識的方式改變了,在每個 eth1 區塊里的交易排序還是跟現在一樣,都是在軟體里對交易進行排序 (就像以太坊的 PoW 客戶端 Geth那樣運作),與在 p2p 網路里廣播交易,

eth2 里存在 MEV 嗎?

由于在 eth2 里交易排序的過程與 PoW 以太坊是一樣,因此有理由認為 MEV 機會仍將存在,就像我們今天了解到的情況一樣,不同點在于誰擁有排序的最終控制權,即驗證者而不是礦工,因為是驗證者選擇提議的信標區塊,它包含了從 eth1 客戶端詢問到的新 eth1 區塊,

這意味著像 Flashbot 的 MEV-geth (為提取 MEV 而優化的、修改后的 eth1 客戶端軟體) 這樣的技術仍然可以存在,它們允許 eth1 交易發送者為了他們的交易能排在想要的位置而給區塊提議者 (和交易排序者) 小費。在確定了這點后,我們現在可以充分思考驗證者通過運行像 Flashbot 這樣的軟體可以獲得多少收益,

驗證者獎勵經濟分析

開發者 Pintail 最近發布了一份關于信標鏈驗證者獎勵的詳細分析,我們的研究沿用了他們的方法 (也重新使用了他們的代碼),你可以在這里查看,下面是從我們的研究結果里選出的幾點總結。我們還建立了一個線上活頁夾,你可以直接在你的瀏覽器里的 Python Notebook 試用,

盡管 MEV 出了名是難以量化的,我們使用 Flashbots 數據作為區塊提議者從 MEV 中獲得的最低額外收入的下限。這是下限是因為只有一部分的 MEV 活動是在 Flashbots 上進行的。

閱讀這個分析時需要注意,它只分析了在協議規定的質押收益基礎上的 MEV,而不包括區塊提議者理應獲得的交易費,這樣做的主要原因是現在很難預測在 EIP-1559 后的交易費是什么樣的。這應該不會是一個很糟糕的假設,因為不打算利用 MEV 的人也不大可能在 basefee (基本費用) 之上花多于默認設置的 1 gwei 小費,但這的確意味著 MEV 對質押收益的相對影響是被夸大了。

理想情況

讓我們先考慮這樣一種情況:所有驗證者都完美參與并獲得協議可能的最大獎勵 (即沒有罰沒情況),以及所有的獎勵都平均分配,因為所有驗證者理應在無限的時間里獲得相同的提議區塊機會。

根據目前的驗證者數 (1.6萬名),我們發現 MEV 可以提高驗證者獎勵 75.3%,或給出 12.86% 的年化率 (沒有 MEV 的情況下,質押 ETH 的年化率是 7.35%)。這里的一個啟示是,更高的驗證者收益意味著會吸引更多 ETH 持有者成為驗證者,這意味著以太坊會因為有更多的驗證者而變得更安全。

展望不久的未來,當有更多的驗證者加入時,驗證者收益的增長會變得緩慢,例如,當有 25 萬名驗證者 (有 800 萬個 ETH 被質押)時,MEV 對驗證者獎勵的提高減少到 60%,如上所述,這份分析沒有考慮驗證者將獲得的交易費用,這會降低 MEV 對收益的相對影響,但是,對于與今天 Flashbots 給礦工帶來的額外收益相比,這些數字仍然是有意義的,后者是大約 5.6%,兩者如此大的差異是來源于 PoS 系統顯著降低的發行率。這表明,MEV 的提取在 eth2 將會比在 eth1 有吸引力得多,而這可能會大大推動質押者賺取 MEV 帶來的質押收益,

以時間和 REV 分布作為變量進行分析

在任何有限的時間范圍內,驗證者的獎勵都會有變化,因為提議區塊是有特定的協議獎勵的,同時因為一些驗證者很幸運,獲得多于平均提議區塊的機會,而一些驗證者沒那么幸運,獲得比較少的提議區塊的機會,

例如,在 100,000 驗證者里,每個驗證者的區塊提議的平均數是每年 26 次,而運氣最差的 1% 驗證者獲得的提議機會最多是 15 個區塊,運氣最好的 1% 是 39 個區塊。

按照這個邏輯,我們可以根據區塊提議運氣的三個不同級別繪制出獎勵的變化圖:

現在加上每個區塊記錄在 Flashbots 的被檢測到的可提取價值 (Realized Extractable Value, REV) 的平均值,我們可以對比這三種水平在有和沒有 MEV 提取情況下的表現:

沒有 MEV 提取與有 MEV 提取的情況相比,這 3 個級別的表現現在是沒有區別的。這表明,MEV 提取加劇了由區塊提議運氣帶來的不平等。

此外,REV 的分布也是不平均的,可以看作是運氣的第二個維度,有些區塊會比其他區塊有更大的 MEV 獎勵,例如,下圖顯示的是 Flashbots 上最近 10 萬個連續以太坊區塊 (從區塊 11600000 開始)礦工獎勵的長尾分布。

為了便于觀察,我們截取了 x 軸 0—3 個 ETH 的部分,但在我們的樣本里,礦工獎勵最高可達 101 個 ETH,你可以通過上文我們的分析鏈接找到。我們把 Flashbots 上的礦工獎勵分布用作 REV 分布的指標,可以基于運氣最差的 1%、中位數和運氣最好的 1%的驗證者應該獲得的 MEV 獎勵對三個級別的運氣情況進行定義,并繪制以下圖表:

盡管前面的圖表顯示,MEV 加劇了由區塊提議運氣導致的驗證者獎勵不平等,這個圖表顯示的是 REV 的不平衡分布是驗證者間不平等的更大源頭——特別是考慮到在上一張圖里 y 軸的數值跨度是 600% 到 80%,

然而,在現實中,驗證者會通過集中在驗證者池的資源抵消了由區塊提議運氣和 REV 分布帶來的獎勵差異,盡管以太坊 PoS 的設計是驗證者做有效證明可以得到相當可觀、近乎恒定的獎勵 (不同于在 PoW 機制,只有提議了區塊才能得到獎勵),在驗證者獎勵里引入 MEV 可能會成為一種中心化力量,因為它使得單獨驗證者的操作變得沒那么有利可圖,而加入到驗證池則變得經濟上更有吸引力,資金也能更早獲得流動性。

最后,我們擔心 MEV 會使 eth2 中的寡頭情況變嚴重——有最多 32 個 ETH 作為押金的實體比那些擁有更少的更快獲得財富 (富者更富的態勢)。這將使得去中心化的 MEV 提取在 eth2 里變得尤其重要,這樣才能保持共識投票權的去中心化,[3]

進一步分析

上文分享的 Python notebook 有我們分析的其他詳細內容,其中我們在模型里把罰沒限制納入為考慮因素,研究在線時間不足和低驗證者參與率導致的懲罰是如何受 MEV 獎勵影響的。為了簡潔,我們不在此贅述我們的結果,但鼓勵你去查看并發表你們的意見。

0 条回复 A文章作者 M管理員
    暫無討論,說說你的看法吧