
原文標題:《on attestations, block propagation, and timing games》
撰文:Nero_eth
編譯:Tia,Techub News
如今,提議者的時序博弈已經很常見了,很多研究也都在分析這一現象。
本篇文章將帶大家瞭解提議者時序博弈的演變,並分析其對見證者的影響。通過對 Lido、Coinbase 和 Kiln 的節點運營商的案例研究,我們將深入探討區塊提議的時序博弈及其對以太坊共識的影響。
截至 2024 年 8 月,區塊構建市場在很大程度上被外包處理,其中約 90% 的區塊是由 mevboost 區塊構建者構建的。其中, Titan Builder 和 Beaverbuild 構建了大約 80% 的區塊。
Kiln 是推動時序博弈的主要實體之一,在單個 slot 內,其將區塊提議推遲了 3-3.5 秒。
在當前的 mevboost 環境中,區塊傳播主要通過中繼器完成。雖然提議者在從中繼器接收到區塊後仍會傳播它,但中繼器通常具有更好的網絡連接,因此可以更快地完成傳播。然而,時序仍然由提議者控制,他們可以延遲其「getHeader」調用以進行時序博弈。
這張圖表展示了時序博弈的演變。我們可以看到,隨着時間的推移,Kiln 驗證者提議的區塊在 slot 內是相對滯後的。
這會對網絡產生影響:由 Kiln 提議者提出的區塊,錯過/錯誤的區塊頭投票率顯著更高。
之前的分析顯示,等待時間越長,錯過區塊頭投票的預期數量越高(「80% 的見證發生在 slot 中的第 5 秒」)。Kiln 在非常晚的時候提議區塊,導致一些見證者錯過它們,並且反而投票給父區塊。每個 slot 大約會分配 32,000 個驗證者,這將導致約 10% 錯誤的區塊投票率。
讓我們來看看三個大型節點運營商的見證行爲,並比較它們如何對不同時間內提議的區塊做出反應。下圖顯示了 slot 內正確和及時的區塊頭投票分佈秒數。
對於早期區塊,我們觀察到 Lido 和 Coinbase 在投票模式上呈現出一種特有的「U」形,這可能是由於不同的地理位置或客戶端軟件造成的。相比之下, Kiln 顯示出一個明顯的峯值,比 Coinbase 和 Lido 的第一個峯值略有滯後。然而,對於較晚的區塊,Kiln 的見證者也顯示出「U」形模式。
當區塊在 slot 中第 4 秒首次出現時(由於是 P2P 網絡,每個節點接收到區塊的時間不同),Lido 見證者比 Kiln 或 Coinbase 見證者提前最多 2 秒進行見證。這種模式並不一定表明 Kiln 在執行「個人策略」。相反,這可能歸因於客戶端的不同或地理位置的不同。
到底是誰影響了誰?
在下圖中,我們比較了不同提議者下節點運營商的表現。例如,y=1 上方的綠色部分表明,當 Kiln 作爲提議者提議區塊時,Lido 見證者將更容易錯過區塊頭投票。然而,當 Lido 作爲提議者時,Lido 見證者在見證區塊最及時。虛線 1 表示所有實體作爲提議者時錯過區塊頭投票的平均份額。低於 1 的柱狀圖意味着與平均值相比,特定實體與各自提議者聯合時錯過的區塊頭投票較少。
值得注意的是,節點運營商在處理其自己提議的區塊時表現最好。
快速總結一下我們看到的內容:
在其他運營商作爲提議者提議區塊時,大多數運營商表現都相對穩定。
在 Kiln 作爲提議者提議區塊時,Figment、Lido、Kraken 和 EtherFi 表現較差。
在 Kiln 作爲提議者提議區塊時,只有 Kiln 和 Binance 表現更好。
Kiln 作爲見證者表現很好。早期分析表明,在涉及到高性能驗證者時,Kiln 表現優異。有關 Kiln 見證表現的更多詳細信息,請參閱這篇分析。
但 Kiln 引發了壓力。現在我們知道,Kiln 提議的區塊給其他見證者帶來了壓力,但並未給 Kiln 的見證者帶來壓力。
目前,很難對「How」作出解釋。一個可能的解釋是 Kiln 的驗證者高度集中,共址運行,或者具有非常密集的對等連接。另一種原因可能是通過定製的對等網絡/私人網絡或通過其他額外的通信層連接它們的驗證者進行協調行爲。後一種被認爲更具中心化特性,因爲它更加強調規模經濟。
當我們觀查 Lido 和 Coinbase 在各自作爲提議者提議區塊時的(正確且及時的)見證時間時,我們可以觀察到類似的模式。
有趣的是,Kiln 開發了一種從 3.8 秒到 6.1 秒的「U」形分佈用於它們自己的晚期區塊,而Lido在4.2秒出現一個峯值,Coinbase在 slot 中的第4秒開始出現一個高原,並在第6秒出現一個小的峯值。
防止自己的提議的區塊被重組
讓我們將注意力轉向被重組的區塊。從節點運營商的角度來看,一個策略可能是永遠不爲重組自己的區塊投票。簡單地說,「如果提議者是我,永遠不要將父區塊投票爲區塊頭」。
在接下來的部分中,我將使用「本地區塊」來代表「自己提議的區塊」。
下圖是爲重組區塊投票的見證者與爲父區塊投票的見證者的百分比。紅色部分顯示了該實體投票給重組區塊的見證者的百分比。
Kiln 表現出了異常行爲。當大多數節點運營商的見證者誠實地爲正確的區塊頭投票而不是本地區塊時,Kiln 的見證者卻並不這麼做。超過 10% 的 Kiln 見證者試圖通過爲本地區塊投票來將其保持在鏈上。如果採用這樣的策略,它們可能會由於爲錯誤的區塊頭投票而產生損失。然而,這些策略通常在以太坊社區中受到鄙視:「不要玩弄共識」。
該圖表使用了365天的數據。因此,如果在過去一年內實施了一些複雜的策略,紅色部分的比例會相應較小。
但我們如何看待其他層面的協作?
關於見證的協作,作爲社區,我們似乎接受了運行在同一節點上的驗證者爲相同的 checkpoints 投票的事實。
我們可能不希望採取任何跨越物理機器邊界的努力來提高驗證者之間的協作。這應當是每個人都可以構建的。這種協作可能有不同的形式:
級別1 - 回退機制與靜態對等連接:爲多個物理機器提供一箇中央備用/備份節點。這也可以是一個斷路器,一些特別容錯的機器,作爲信息的私人中繼器。具有改進對等連接、私人網絡或類似設置的設置也可能屬於此類別。
級別2 - 如果-否則規則:在某些 slot 中等待更長時間的硬編碼規則。那些將安裝在多個物理機器上,允許它們基於預定義規則「協作」。
級別3 - 殭屍網絡:有一箇中心化的預言機與所有驗證者通信,並提供投票的 checkpoints 以及它們應在何時發佈的時間戳。
在我看來,後兩種形式的協作(級別2和3)是有問題的,節點運營商應當承擔責任。最後,對於涉及靜態對等連接和私人網絡的策略可能存在灰色地帶。
這樣的設置可能會被用於運行(惡意)策略,例如:
確保跨多個物理機器從不對不同的 checkpoints 投票。
確保永遠不會對重組自己提議的區塊投票。
基於連續的提議者進行協作(誠實重組客戶端(y/n))。
審查某個方的見證。
不爲某方的區塊投票。
其他。
在討論協作時,區分兩種類型是重要的:
協作行爲發生在從同一物理機器運行的驗證者之間。
協作行爲源於運行相同的修改後的客戶端軟件或依賴於相同的中心化預言機。
反對複雜協作驗證者行爲的潛在解決方案是 EIP-7716:反相關處罰,該提案建議根據驗證者之間的相關性來調整處罰。
以上就是如果提議者提議區塊的時間晚了,會對見證有何影響?的詳細內容,更多請關注本站其它相關文章!