給以太坊節點MEV建模:節點們的收益是多少?
BlockBeats 律動財經 2022-11-26 16:02
![cover image of news article](/_next/image?url=https%3A%2F%2Fimage.theblockbeats.info%2Fupload%2F2022-11-26%2Fb5f91882c96ad72f730f37f88e0d8295ff770d17.png%3Fx-oss-process%3Dimage%2Fquality%2Cq_50%2Fformat%2Cwebp&w=3840&q=75)
為了紀念合併(也被稱為巴黎硬分叉),一個巨大的 Ethereum 標誌已經豎立在盧浮宮的中央。
概要
工作證明挖礦時代結束後,執行層交易費用將支付給權益證明驗證者。由於 EIP-1559 費用的燃燒,實際支付給驗證者的剩餘費用中絕大部分是「最大可提取價值」(MEV)。
合併後,Ethereum 將有固定的 12 秒區塊間隔,而不再是平均為 13.5 秒的可變區塊間隔。然而,該變化可能不會對 MEV 的不穩定性造成太大影響。
自 2022 年 3 月至 2022 年 8 月,到達礦工手中的 MEV 水平雖然較低,不過卻一直相對穩定。
基於合併後向驗證者支付相同水平 MEV 的模型表明,驗證者的中位回報率為 6.1% APR(包括 MEV 和共識層獎勵),下四分位數為 5.3%,上四分位數為 7.3%。這是基於過去 6 個月的數據(2022 年 3 月至 2022 年 8 月)。
運行多個驗證者或與其他驗證者共享收益的用戶(例如通過流動質押供應商),其收益的不穩定性水平會更低。
引言
隨著 Ethereum 不斷過渡到權益證明(PoS)信標鏈,並將其作為主網的共識引擎,許多媒體開始集中報導工作證明挖礦時代的結束,以及隨之而來的能源使用問題和以太幣發行量的減少(PoS 更安全且更能抵抗中心化)。然而,信標鏈接管交易收錄和排序職責的另一個後果是,目前支付給礦工的交易收錄費用將轉而支付給出塊者。也就是說,任何隨機選取的驗證者將每 12 秒發布一個區塊。
挑選驗證者進而出塊的方式與現有的程序沒有發生改變,正如我在關於驗證者收益的第一篇文章中所提到的那樣,即使驗證者完全參與,這一過程也會在收入方面產生一些隨機性的變化。因此,對於本文來說,問題在於,驗證者收益將在多大程度上受到它們將交易納入 Ethereum 執行層而收到的費用的影響。
MEV 的具體含義
在標題中,我把這些執行層的費用稱為「MEV」,但這可能會造成一些混淆,因為 MEV 一詞既可以表示「礦工可提取的價值」,也可以表示「最大可提取的價值」——這兩個詞似乎都不能精準描述驗證者在合併後的 Ethereum 區塊中收錄或排序交易而得到的收益。為了減少歧義,Flashbots 團隊引入了「已實現的可提取價值」一詞,用以描述實際獲得的價值,而不是理論上的最大值。不過,這種命名方式也會造成一些誤解,我們仍不能明確該價值是由搜尋者「實現」的價值,還是實際支付給礦工/驗證者的金額。因此,為了簡單起見,由於人們已經廣泛使用「MEV」這一術語,我在這裡用它代指礦工/驗證者獲得的收入。
那麼,如果我們本就可以使用交易費用這樣直接的詞語,為什麼還要選擇一個花哨的術語——MEV 呢?原因主要有以下幾點:自從 Flashbots 引入了 Ethereum 主流執行客戶端 geth 的分叉後,交易收錄與排序的收入就發生了巨大的變化。截至 2022 年 8 月,大約 74% 的 Ethereum 哈希率都在運行 mev-geth,這樣礦工可以收到更多高時效性的交易捆綁包來獲取收入,並得到直接支付的獎勵(先前這些錢都在 Gas 費競拍的過程中消耗掉了)。
此外,Flashbots、Ethereum 基金會和客戶團隊合作開發的 mev-boost 可以讓為驗證者從合併後相同的收入流中獲利。事實上,無論驗證者是否選擇運行 mev-boost,他們收到的出塊費用在廣義上仍然屬於 MEV。更重要的是,自從倫敦硬分叉引入 EIP-1559 後,交易費中的擁堵費不再支付給礦工,而是都被燒掉了。這說明,現在構成礦工收入的絕大部分是那些因其捕獲價值而向其支付特殊溢價的交易,即 MEV,因為那些低時效性的交易只會向礦工支付一筆象徵性的費用。
早期模型
在我之前關於驗證者獎勵的文章中,我只關注了驗證者參與信標鏈(即共識層)而獲得的收益。在此基礎上,2021 年 7 月,Flashbots 的 Alex Obadia 和 Taarush Vemulapalli 介紹了他們對驗證者獎勵引入 MEV 的影響的早期成果。為此,他們專門從大約 10 萬個區塊的樣本中獲取了 Flashbots 交易捆綁包數據。首先,他們對各區塊進行了平均化處理,並為每個區塊應用了固定數值的 MEV。然後,他們查看了該數據集中的第 1 和第 99 位百分位數,以確定驗證者的收入範圍(結果表明其差異非常顯著)。
在這篇文章中,我將通過以下方式進一步改進這種方法:
1. 觀察費用收入的整體情況(而不僅僅是 Flashbots 捆綁包),因為來自執行層的所有礦工費用收入都可以被認定為某種 MEV
2. 採用更大規模的數據集,並考慮 MEV 水平隨時間的變化情況
3. 對整個結果的分布進行建模
4. 計算運行多驗證者用戶的結果分布變化情況
在上述文章中觀察到的一點是,我們很難推斷 EIP-1559 對支付給礦工的費用產生了怎樣的影響(在文章撰寫時,引入 EIP-1559 的倫敦硬分叉還沒有上線)。不過,我們現在已經有了大量這方面的數據。在下圖中我們可以看到,原先支付給礦工的那部分費用在倫敦硬分叉後反而從以太幣供應中抹去了。顯然,倫敦硬分叉之前和之後的數據不具有可比性。出於這個原因,在這篇文章中,我們將只處理倫敦硬分叉之後的數據。
# imports / definitions / db connection
# get block summary data from db as pandas dataframe
# plot daily fees/coinbase transfers
選擇數據集
在本篇文章中,我們將利用歷史數據對未來做出預測(該方法在金融事件中並不可靠)。正如我在上一篇文章中解釋的那樣,由於倫敦硬分叉中 EIP-1559 的實施,交易費市場在 2021 年 8 月發生了重大變化,該硬分叉在區塊高度達到 12,965,000 時上線,因此在這之前的數據與最近的數據沒有可比性。這之後的硬分叉是 Gray Glacier,它在區塊高度 15,050,000 時上線,並推回了 Ethereum 的難度炸彈(difficulty bomb)。但在這之前,平均區塊間隔已經開始發生變化。之後區塊間隔還會出現變化,不過似乎對可用的 MEV 影響有限,所以我們不用擔心 Gray Glacier 之前平均區塊間隔略有增加的問題。
因此,自倫敦硬分叉以來,我們得到了一年多的可用數據。事實上,我們不妨採用正好一年的數據,從而為費用市場結算留出時間。我們將關注區塊 13,136,427(2021 年 9 月 1 日開採的第一個區塊)到區塊 15,449,617(2022 年 8 月 31 日開採的最後一個區塊)這一範圍內的區塊。這些區塊中包含了一整年的數據,總計大約 230 萬個區塊。
選擇了這個區塊範圍後,我們需要確定每個區塊的礦工有多少收入。為此,我們將使用 Flashbots 的 mev-inspect-py 工具,該工具用於刮取區塊的「Coinbase 轉帳」交易,並匯總費用。這是因為,目前支付礦工的方式主要有兩種,其中包括 Flashbots 捆綁包帶有 MEV 的交易——要麼設置一個足夠高的交易費用,要麼作為交易的一部分直接支付給礦工。由於 Gas 費效率更高,搜尋者一直傾向於使用 Gas 費用而非 Coinbase 轉賬來支付礦工。儘管如此,我們還是希望將這兩者都包括在我們的數據集中,以獲得更全面的資訊。
為了確定每個區塊的 MEV 數額,我們必須做更多的工作。首先,我們必須排除礦工支付給自己的交易,因為這些交易不存在經濟意義。因此,我們需要識別由一個礦池控制的多個地址(這涉及到在 Etherscan 上的一些手動偵查),然後根據每筆交易的發送者地址是否在一個礦池組中進行標註,並根據產生該交易的礦池來標註每個區塊。做完這些之後,我們就有機會生成一個每個區塊的 MEV 摘要,其中減去了 EIP-1559 燒掉的以太幣以及池內轉賬,結果保存為 Postgres 數據庫中由 mev-inspect-py 填充的額外表格。
最後,結果顯示,其中有一筆交易的交易費比其他任何交易都高得多(7676 ETH)。事實上,這筆交易費本身就價值約 2300 萬美元,在這一時期提取的所有 MEV 中占了很大比例。在這種情況下,高額費用便是一個出錯的結果,而且絕大部分的費用都已經被礦工退回了。考慮到這一點,我選擇將這筆交易從數據集中刪除。
區塊間隔
在我們開始更詳細地研究礦工收入在區塊間的分布之前,我們應該先暫停思考一下合併後的另一個變化,即區塊間隔從隨機(區塊間平均約 13.5 秒)變為固定的 12 秒區塊間隔。直覺上來說,我們可能認為較長的區塊間隔會讓礦工有更多的機會從傳入的交易中收穫 MEV,從而更多的區塊利潤。我們可能也會認為區塊間隔的變化會大大影響礦工的收入。
這些問題要想調查清楚光靠鏈上數據的話肯定是行不通的,不過我也在附錄中對這一問題進行了說明。現在,我只想說,從表面上看,可變區塊間隔似乎對礦工收入的影響非常小。在下文當中,我將通過將所有礦工的收入按這一比率進行反比例計算,以說明區塊的平均頻率略有增加,從平均間隔 13.5 秒到 12 秒。不過,我不會採用建模的方式來說明從可變間隔到固定間隔期間所發生的變化。
歷史 MEV 水平
讓我們來通過下面兩張圖來看看一個礦工在一個典型的區塊中可望獲得多少 MEV。從直方圖我們可以看出,每個區塊的礦工收入往往非常低。第二張圖可能稍微不那麼直觀,但實際上卻提供了更多的資訊。我們可以看到,礦工收入的中位數是 0.07 ETH。圖中還標出了其他幾個點,價值最低的 1% 的區塊根本沒有向礦工支付任何費用,而價值最高的那 1% 的區塊則向礦工支付了超過 1.8 ETH 的費用。如下表所示(但不在圖表上,因為這會使軸線過於扭曲),價值最高的 0.1% 的區塊向礦工支付了 12.5 ETH 或更多的費用。
# plot block revenue histogram and empirical cumulative density function (ecdf)
MEV 變化趨勢
上面的直方圖和 ECDF 是基於我們整個一年的數據,並將其視為靜態分布來進行繪製的。然而,我們也許會認為,礦工收入水平會隨著時間的推移而變化,礦工收入的分布將取決於各種因素,如鏈上活動水平、支付給礦工的可用 MEV 比例的變化趨勢,或與 L2 區塊鏈相比,基礎鏈上的可用 MEV 數值。
為了清楚這一點,下圖顯示了數據集中每一周的區塊獎勵中位數,我們之前看到的總體中位數由紅色虛線表示。以周為單位的原因在於,我們發現鏈上活動每周會出現一定的周期變化,比如周末的活動就相對較少。因此,通過對這些數據進行分組並提取中位數,我們消除了周期性的干擾。很明顯,在這個圖表中礦工收入的每周中位數水平整體呈下降趨勢,且波動逐漸緩和。如果我們把該圖標用橙色虛線一分為二,那麼我們就可以把這兩半看作是獨立的兩個部分,代表了在不同的網路/市場條件下支付給礦工的 MEV 水平。然而,我們需要從中看到的是,我們不能對基於歷史數據做出的有關未來收入的任何估計報以很大的信心(請記住這一點,因為這正是我在本文後半部分要講述的內容)。
# Look at variation across the dataset
由於我們長達一年的數據集中的礦工收入水平並不穩定,我們可以用更為詳盡的方式來比較數據集的前後兩個部分。下圖展示的是數據集兩個部分的 ECDF,其中藍線表示的是數據集的前半部分,橙線表示的是後半部分,而藍線則明顯低於橙線。X 軸上顯示的是收入數據,而在每個四分位數,礦工收入水平在數據集的前半部分都會更高。前面圖表中顯示的整個數據集的 ECDF 將落在這兩條線之間。如下表所示,每個區塊在後六個月的中位數 MEV 都大致等於前六個月的一半。
# Generate ECDFs for the first half of the dataset versus the second
模擬合併後 MEV 的回報率
因此,結合我們對礦工歷史區塊收入的了解,讓我們來模擬一下驗證者在一年中 MEV 的收入情況。由於我們現在考慮的主體是驗證者而不是礦工,我將用 32 個 ETH 的百分比回報來表示結果。我們還沒有得出每個區塊收入分布的具體分析表達式(我很難藉助帕累托分布提出一個合理的表達式)。這使建模工作略顯複雜,所以在這種情況下我們將使用蒙特卡洛模擬法。
這種方法的原理很簡單:生成一個均勻分布在 0 和 1 之間的隨機數,並使用這個數字從我們之前計算的 ECDF 中進行查找(ECDF 按比例計算,以考慮到平均區塊間隔從 13.5 秒到 12 秒的變化);然後,將該區塊的收入分配給一個隨機選擇的驗證者;最後,重複這個過程,直到我們得到一年的模擬區塊(總共 2,629,746 個區塊)。我們將進行三次這樣的計算,分別使用全年數據集得出的 ECDF,以及將數據集拆分成兩個部分後分別得出的 ECDF。
我們將假設驗證者的表現良好(沒有遺漏的出塊提案)。我們還將使用一個大小為 420,000 的驗證器集,該數值接近於 2022 年 8 月驗證者集的規模。這個驗證者的數量也正好可以分為 32 個組,這在我們以後研究驗證者組別時將非常有用。
# simulate a year"s worth of block proposals
# plot ECDF and histogram for single validator return
因此,以中位數為基準,當基於「高 MEV」期間 (即 2021 年 9 月至 2022 年 2 月) 的數據時,MEV 似乎為驗證者的 APR 增加了約 3 個百分點,而當我們使用「低 MEV」期間 (2022 年 3 月至 2022 年 8 月) 的數據時則增加了約 1.5 個百分點。然而,一些驗證者在一年的時間裡幾乎沒有從 MEV 中獲得任何回報,而少數幸運的人卻可以獲得超過 100% 的收益。
建立完整的驗證器回報模型
現在我們可以看到近似的驗證者 MEV 收益,接下來讓我們通過引入證明和同步委員會的獎勵來完成模擬。由於 beaconcha.in 經常顯示信標鏈上的參與率超過 99%,我們這裡為了簡化可以默認全部參與。在實踐中,如果我們今天在主網上看到的情況在合併後仍然存在,那麼驗證者收益發生變化的主要原因將是隨機分配的出塊者職責、同步委員會和 MEV,而不是由於驗證者的表現。
因此,在下面的模擬中,所有驗證者都會因其優越的的認證表現而獲得相同的獎勵,但每 256 個 epoch 會隨機選擇一個由 512 個驗證者組成的委員會,然後該委員會因其在隨後 256 個 epoch 的全部參與而獲得完整的同步委員會獎勵。每個區塊的 MEV 選擇方式與之前相同,但現在驗證者可以獲得信標鏈出塊獎勵,以及執行層交易費用(MEV)。
# model full validator returns using previously calculated MEV ECDFs
# plot simulated full validator returns
所以,根據我們全年的歷史 MEV 數據集,並考慮到平均區間的減少,我們得出「中間 50%」的驗證者的模擬回報率大約在 5.7% 和 8.5% 之間。同時,「最幸運的 1%」驗證者的年回報率將高達 30%,而「最不幸運的 1%」卻只有 4.2%。整套系統中最不賺錢的驗證者仍然取得了 3.8% 的回報,而最賺錢的驗證者在這一年中的回報率超過 4500%(即 45 倍)。不過,這個模型中的回報率並不包含複利。在實際情況中,賺取如此大回報的營運商可能會選擇建立新的驗證者,並因此賺取更多收益。
運行多個驗證者
我們要考慮的最後一個問題是,運行多個驗證者的質押者有著怎樣的收益分布情況。在下面的圖表中,我們模擬集中的驗證者(基於整年的區塊收入數據)被分為 2、4、8、16 和 32 個驗證者的組別,用於比較不同組別大小的 ECDF 年回報率。圖中的紅色虛線表示的是整個驗證者集的平均回報率(即如果所有 MEV 和信標鏈獎勵得到平均分享,每個驗證器將獲得的回報)。我們預計,平均回報率是大規模驗證者組別(如 Lido,或非常大的機構質押者)在扣除任何費用之前的收入。
# calculate ECDFs for 1, 2, 4, 8, 16, 32 validators
從表中我們可以看到,驗證者規模越大,ECDF 線也會變得越來越陡峭。這相當於直方圖的峰值變窄,說明隨著驗證者規模增大,收益波動率也會不斷減少。不僅如此,我們還能觀察到,雖然運行單一驗證者的四分位數範圍(即第 25 和第 75 百分位數之間的 APR 百分比差異)約為 2.8 個百分點,但對於 32 個驗證者的小組來說,四分位數範圍只有 1.2 個百分點。
這就是我們所期望看到的結果——通過運行多個驗證者,我們可以平滑來自共識層和執行層的獎勵波動。讓我沒想到的是,由 32 個驗證者組成的群組的收益波動率(以四分位數範圍衡量)只比單個驗證器的收益波動率低 2.3 倍左右。這對於一部分來說是相當不錯的結果,因為他們希望自己的回報率能更為穩定且更好預測,而這也將會讓數據分布更為集中(在這種情況下,如果收益水平呈現正態分布的話,那麼質押增加 32 倍將會讓收益波動率減少 325.8 倍)。對此,Barnab Monnot(Ethereum 基金會的穩健激勵小組組長)已經做了一些初步的工作。他發現財富集中化的趨勢可能是獎勵分配不均的結果,不過這仍然是一個有待研究的問題。
結論
在這篇文章中,我們嘗試使用過去的數據來模擬合併後執行層費用對驗證者回報的影響。我們發現,當我們使用來自 MEV 充足時期(2021 年 9 月至 2022 年 2 月)的數據時,MEV 為驗證人的回報增加了約 3 個百分點,但當使用來自 MEV 較少時期(2022 年 3 月至 2022 年 8 月)的數據時,這一數字下降到 1.5 個百分點。在兩種情況中,收益水平都相當不穩定,有些驗證者在一年中幾乎沒有收到 MEV,而有些驗證者的年回報率則遠遠超過 100%。當我們加入共識層獎勵時,我們發現表現良好的驗證者將獲得至少 3.8% 的年利率,中位數年回報率大致在 6.1%(基於低 MEV 數據集)到 7.6%(基於高 MEV 數據集)。我們發現,驗證者群體會比單個驗證者獲得更平穩的回報,儘管(至少對我來說)這種效果沒有預期的那麼明顯,32 個驗證者組成的群體的收益波動率比單個驗證者的波動率低約 2.3 倍。
然而,過去的表現並不能保證未來的回報。我們尚不清楚 MEV 未來能在多大程度上為驗證者所用,而其他參與者(應用、用戶、 L2 序列器、構建者、中繼器......)最終又能獲得多少比例。因此,本文的建模結果並不是對未來的預測,只是提出了幾種可能發生的情況。
文章最後,我還沒有談及這樣一個問題:在合併之後,我們可以事先知道某一個 slot 的出塊者的身份。目前來看,權益證明區塊鏈上的這一變化為原子式跨鏈交易以及多區塊 MEV 提供了新的可能性(因為擁有相當比例質押的驗證者可能會在多個區塊鏈上部署同步的區塊提案)。不過,這些功能將會如何實現仍然是一個很大的未知數。儘管如此,我希望這篇文章可以為驗證者提供一些思路,讓他們了解自己在 Ethereum 走向合併後的發展方向以及應如何考慮自身收益,也許這也將幫助權益證明在未來幾周、幾個月和幾年的時間裡建立起自己的生態。
暢行幣圈交易全攻略,專家駐群實戰交流
▌立即加入鉅亨買幣實戰交流 LINE 社群(點此入群)
不管是新手發問,還是老手交流,只要你想參與虛擬貨幣現貨交易、合約跟單、合約網格、量化交易、理財產品的投資,都歡迎入群討論學習!
- 從零到一掌握加密世界 開啟財富之路!
- 掌握全球財經資訊點我下載APP
文章標籤
上一篇
下一篇