我要感謝Flashbots 、 Titan和Ultrasound團隊慷慨分享數據。我還要感謝ethPandaOps 團隊收集了證明和區塊到達數據,並提供了 Xatu 的 ClickHouse 實例訪問權限。最後,非常感謝 Thomas Thiery、Anders Elowsson、Barnabé Monnot 和 Marios Ioannou 的反饋和建議。
TL;DR
該分析研究了區塊和證明的到達時間,涵蓋了自 2025 年 8 月初以來的 1 周以太坊時隙。它旨在評估EIP-7782的可行性,該方案提議通過將證明截止時間設置為 3 秒、將聚合截止時間設置為 4.5 秒,將時隙縮短至 6 秒。
區塊通常會在接近證明截止時間時到達(95% 百分位為 3.3 秒)。然而,純區塊傳播時間(定義為自中繼發佈區塊以來經過的時間)不到 1 秒。在 Ultrasound、Flashbots 或 Titan 區塊的樣本中,95% 百分位約為 800 毫秒。這表明,區塊傳播的起始時間並非僅用於區塊傳播,並且當前區塊傳播結構中的證明時序可能存在一些滯後。
錯過時隙的證明(揭示了純傳播時間)平均在4秒後831毫秒到達。子網絕對多數在830毫秒內形成,而第95個百分位則需要1962毫秒。
對於區塊頭源自中繼的時隙,見證消息在中繼發佈區塊後不到 4.5 秒內到達(仍然低於建議的 6 秒時隙的 4.5 秒聚合截止時間)。分佈呈現雙模態,模態分別約為 1.2 秒和 3 秒。這兩種模態的來源是進行見證消息的實體。這可能是由於網絡連接、見證策略或配置錯誤造成的。
驗證者實體是導致證明延遲的最主要因素。一些運營商的報告總是比其他運營商晚,而一個配置錯誤的實體就可能嚴重影響結果。區塊內容也很重要:更高的 Gas 使用量和更多的區塊會增加延遲的幾率。
介紹
本報告包含對從 12243599 到 12293998 個時段之間以太坊節點收集的區塊和證明到達情況進行分析的主要結果,這大約相當於 2025 年 8 月第一週的一週時段。
本次分析的目標是對EIP-7782的可行性進行初步瞭解,該方案提議通過將證明截止時間縮短至 3 秒、將聚合截止時間縮短至 4.5 秒,將時隙縮短至 6 秒。
我們的分析重點關注三個不同的指標,如下圖所示。
首先,我們研究區塊到達時間。區塊到達時間對應於信標節點首次發現區塊的時間。根據區塊到達時間,我們計算兩個傳播指標:
- 區塊到達時間與中繼發佈區塊有效載荷時間之間的毫秒數。此區塊傳播指標在圖中以黃色表示,旨在減少計時遊戲的影響。然而,由於我們僅收集了 Ultrasound、Flashbots 和 Titan 中繼的數據,因此此指標僅針對部分時隙進行報告。
- 區塊到達時間與時隙開始時間之間的毫秒數。由於此指標不需要中繼數據,因此我們可以報告完整的時隙樣本。然而,由於計時博弈和區塊構建邏輯,此指標高估了實際所需的傳播時間。
其次,我們分析了錯過時隙的見證消息。在這些時隙中,區塊有效載荷從未可用,因此我們知道驗證者等到了 4 秒的截止時間才進行見證。這使我們能夠通過將見證消息到達信標節點的時間減去 4 秒來計算純見證消息的傳播時間。這也就是上圖中的淺藍色部分。
第三個也是最後一個指標試圖估算區塊通過 P2P 層傳播所需的總時間,包括執行、驗證和傳播證明信息。它對應圖中的黃色、粉色和淺藍色部分。與區塊傳播指標類似,我們計算自中繼發佈區塊以來的證明信息到達時間,以考慮時間博弈。我們使用 Ultrasound、Flashbots 和 Titan 中繼共享的發佈時間,與區塊傳播指標相同。
數據收集
- 中繼發佈時間由Flashbots 、 Titan和Ultrasound團隊友情提供。數據集包含自時隙開始以來,中繼通過將區塊有效載荷發送到信標節點來響應
/eth/v1/builder/blinded_blocks
請求所經過的毫秒數。 - 區塊到達時間是從Xatu 的 Beacon API 事件流表中收集的。這些表包含由ethPandaOps 團隊運行的內部節點以及選擇與 ethPandaOps 團隊共享指標的社區節點生成的事件。一方面,納入社區數據提供了更廣泛的信標節點和地理位置池。然而,這也帶來了一個缺點——由於無法驗證,數據更容易出錯。用於收集數據的 SQL 查詢可以在
beacon_blocks.sql
中找到。 - 證明到達信息是從Xatu 的共識層 P2P表中收集的。我們篩選了數據,只包含由ethPandaOps 團隊管理的一組節點生成的消息,這些節點運行著 Prysm 共識客戶端的一個分叉版本,該客戶端旨在收集 P2P 相關數據。收集錯過時隙數據的邏輯可以在
atts_missed_runner.py
中找到。收集中繼時隙數據的邏輯可以在atts_sample_runner.py
中找到。 - 驗證器 ID 和驗證器實體之間的映射關係是從ethseer.io收集的。這些數據可以直接在 Xatu 的 ClickHouse 實例中使用表
ethseer_validator_entity
進行查詢。我們在函數get_validator_ethseer_info中實現了此查詢。
區塊傳播
在我們數據集中的 51139 個區塊中,47.6% 沒有中繼數據。這些區塊要麼由其他中繼提供,要麼是自建的。其餘 41.3% 由 Ultrasound 發佈,5.8% 由 Flashbots 發佈,5.3% 由 Titan 發佈。每個區塊都有 109 個社區節點和 29 個內部節點的區塊到達記錄。節點擁有各種客戶端和地理區域。
聚焦於我們擁有中繼數據的時隙子集,我們可以在以下兩幅圖中看到自區塊發佈以來,按節點客戶端和節點國家/地區劃分的區塊傳播分佈。箱線圖用彩色框顯示了三個四分位數,用延伸線顯示了上下四分位數之外的變異性。點表示異常值。
不同客戶端之間存在一些差異,Lodestar 和 Caplin 的傳播時間略長。回想一下,Caplin 是嵌入在 Erigon 執行客戶端中的共識客戶端。它與其他共識客戶端類似,但完全集成在執行層中。
各國的情況也各不相同,其中荷蘭的分佈呈現出令人驚訝的傾斜。然而,在我們的數據集中,荷蘭只有 99 個觀測值,而其他國家/地區的觀測值則在 4.5 萬到 5 萬之間,因此樣本可能不具代表性。在荷蘭之後,澳大利亞、印度和尼日利亞的傳播時間更長。
無論觀察到的變化如何,大多數節點仍然能在 1 秒內收到區塊。自中繼發佈區塊以來,區塊傳播時間的 95% 百分位數為:Xatu 內部節點 816 毫秒,社區節點 804 毫秒。下圖顯示了自中繼發佈區塊以來,區塊傳播時間的累積分佈函數 (CDF)。
最終圖表按區塊頭源顯示了自時隙開始以來區塊到達時間的分佈。正如我們之前所解釋的,這高估了區塊傳播時間,因為它還包含了區塊構建和與 mev-boost 交互所花費的時間。然而,它讓我們能夠了解中繼時隙子樣本與剩餘時隙的比較情況。
有趣的是,沒有中繼數據的時隙傳播時間略短,但它們顯示出更多的異常值和更大的標準差。第 95 個百分位數相當,“其他”時隙耗時 3292 毫秒,而有中繼數據的時隙耗時 3337 毫秒。這表明,使用中繼數據觀察到的時長可能是一個合理的估計。
此外,區塊到達時間如此接近證明截止時間,而實際廣播時間卻不到 1 秒,這表明時隙的開始時間並非僅用於區塊廣播。因此,當前時隙結構中的證明時序可能存在一些滯後。
區塊傳播和區塊大小之間的關係進一步證實了這一點。我們通常認為這兩個指標呈正相關。然而,它們的相關性僅為 0.004。我們還可以從下方的散點圖中看到它們之間的非線性關係。
有關更多圖表和分析,請參閱筆記本2.3-beacon-block-arrivals-with-relay.ipynb 。
錯過時段的證明時間
我們的樣本中有 207 個缺失的時隙。對於每個時隙,我們都觀察來自子網 0 和 1 的證明消息。我們有三個節點在四個地區(荷蘭、印度、美國和澳大利亞)監聽相同的子網。下圖顯示了所有這些證明消息傳播時間的總體分佈(即,自時隙中第 4 秒標記以來證明消息到達的毫秒數)。
正如預期,大多數證明消息的傳播時間不到 1 秒,平均為 831 毫秒。然而,我們確實看到分佈中存在一個較大的右尾,一些證明消息的到達時間晚於 1 秒。實際上,整體 95 百分位數為 2066 毫秒。
需要注意的是,我們看到的時間可能被高估了。由於錯過了一些時間槽,所有見證者都會同時發送見證,從而導致 P2P 層的活動激增。在更正常的情況下,由於驗證者接收和驗證區塊的時間略有不同,見證的發送速度會更慢。
查看接收節點區域的相同分佈(在下面的箱線圖中),我們發現儘管印度和澳大利亞節點顯示的時間稍長,但差異並沒有實質性差異(約 100 毫秒)。
分析證明消息時,另一個重要的考慮因素是證明消息的來源,即證明者。我們使用來自ethseer.io的映射,提取了證明者的驗證者實體。然後,我們繪製了每個實體的傳播時間(左側)以及到達時隙中每個 50 毫秒桶的證明消息中每個實體的權重(右側)。
我們已經看到實體之間存在顯著差異。僅憑客戶端配置和地理位置信息,我們無法準確找出某些實體比其他實體的證明速度慢的原因。
Kiln 就是一個值得注意的例子。在我們的數據中,他們負責處理大量在 1500 毫秒到 3250 毫秒之間到達的證明,並且他們的中位傳播時間最長。看到這些結果後,我們直接聯繫了他們,他們發現了客戶端的一個錯誤配置,這顯著縮短了他們的傳輸時間。在主要樣本發佈兩週後,我們觀察了 183 個錯過時隙的樣本(即時隙 12344420 到 12394820 之間),我們發現整體第 95 個百分位數從 2066 毫秒下降到了 1782 毫秒。此外,我們可以在下圖中看到,Kiln 在後續證明中的權重發生了顯著變化。這表明,更仔細地調查那些延遲證明的實體,以嘗試解決延遲的根本原因至關重要。
到目前為止,我們一直在研究樣本中所有時隙和子網的數據分佈。然而,另一個相關指標是子網的第 66 個百分位。換句話說,給定一個時隙和一個子網,子網何時會觀察到絕大多數的證明?下圖展示了我們數據中各個時隙和子網的這一指標。請注意,這裡我們取的是每個證明者觀察到的第一個證明(即我們使用最快的節點)。有趣的是,所有缺失時隙的所有子網都花費了不到 830 毫秒的時間達到絕大多數。平均值為 640 毫秒。
同樣的分析也可以用於 95% 的百分位數。分佈如下圖所示。現在的平均值是 1572 毫秒,而 95% 的百分位數是 1962 毫秒。
有關更多圖表和分析,請參閱筆記本2.4-committee-attestations-missed-slots.ipyn 。筆記本2.5-committee-attestations-missed-slots-v2.ipynb包含相同的分析,但使用了 2 周後錯過的時間段的樣本。
認證到達
在這部分分析中,我們從區塊傳播部分使用的中繼數據所在的時隙中隨機抽取了 4963 個時隙樣本。其中,80.4% 的區塊頭來自 Ultrasound,10.9% 來自 Flashbots,8.7% 來自 Titan。下圖顯示了所有時隙和所有子網的證明到達時間分佈(以中繼發佈區塊以來的毫秒數計算)。
在這裡,我們可以看到一個清晰的雙峰分佈,眾數分別在 1.2 秒和 3 秒左右。這意味著存在兩組證明——快速和慢速。雙峰分佈的來源既不是頭信息源(如下圖所示,不同中繼之間的分佈非常相似),也不是特定的時隙(正如在各個時隙級別上相同的趨勢所證明的那樣)。
解釋這種雙峰形狀的原因似乎是證明的來源,即進行證明的實體。這與我們對錯過的時段的觀察一致。然而,這種趨勢在證明到達時間方面更加明顯。
如果沒有更多關於證明者的信息(例如客戶端配置和地理位置),就無法確定證明消息呈現雙峰形態的確切原因。不過,存在一些可能性。其一可能是網絡連接。更好的位置和對等連接有望加快證明消息的速度。其二可能是驗證者實體實現的證明邏輯。一些實體會快速進行證明,以確保其證明消息準時到達。另一些實體則會等到觀察到其他證明消息後再進行證明,以便更好地瞭解應該支持哪個區塊,從而提高其證明消息成為規範的可能性。最後,與 Kiln 的情況類似,一些實體可能存在配置錯誤或使用的客戶端版本不夠理想。
除了整體分佈之外,我們還計算了每個子網中 95% 的證明消息。換句話說,這是給定子網中 95% 的證明消息到達所需的時間(從中繼器發佈區塊開始計算)。下方直方圖展示了該指標在每個時隙和子網中的分佈情況。
平均 P95 為 3590 毫秒,而 P95 指標的第 95 個百分位數為 4217 毫秒,仍然低於 6 秒時隙提案所需的 4.5 秒標記。
有關更多圖表和分析,請參閱筆記本2.6-committee-attestations-with-relay-v2.ipynb 。
影響延遲證明的因素
為了進一步瞭解導致證明延遲到達的因素,我們使用了相同的 4963 箇中繼時隙隨機樣本。我們將每個證明標記為延遲(如果在 4.5 秒後到達)或準時(如果在 4.5 秒前到達)。在 6 秒時隙時間內,4.5 秒的截止時間將成為聚合截止時間。延遲到達的證明佔所有證明的 11.1%。為了輔助模型訓練,我們進一步對佔多數的類別(即準時到達的證明)進行了欠採樣,以使該變量的比例達到 50:50。
然後,我們用最大似然估計(MLE) 擬合了邏輯迴歸模型,以預測證明是延遲還是按時。正類表示延遲證明。對於特徵,我們使用了獨熱編碼 (one-hot encoding),其中包含證明者的實體以及一些區塊信息,例如使用的 gas 值、區塊數量和交易數量。使用 MLE 不僅可以估計每個特徵如何影響延遲證明的對數概率(通過線性模型的係數),還可以評估這些影響的統計顯著性(通過 p 值)。
下表描述了整體模型性能。
Logit Regression Results==============================================================================Dep. Variable: y No. Observations: 117835 Model: Logit Df Residuals: 117812 Method: MLE Df Model: 22 Date: Wed, 27 Aug 2025 Pseudo R-squ.: 0.2402 Time: 17 : 59 : 49 Log-Likelihood: - 62058. converged: True LL-Null: - 81677. Covariance Type : nonrobust LLR p-value: 0.000
偽 R 平方表明解釋力中等,而對數似然和 LLR 的 p 值表明模型擬合度具有統計顯著性。現在,檢查 p 值低於 5% 的特徵(見下表),我們得出結論:gas 用量和 blob 數量與遲到呈正相關,而交易數量則呈負相關。雖然影響較小,但由於樣本量較大,因此非常顯著。
多變的 | 係數 | p 值 | 解釋 |
---|---|---|---|
區塊氣體使用量 | +0.1305 | <0.001 | 更高的汽油使用量會增加遲到的可能性。 |
區塊數 | +0.0589 | <0.001 | 斑點越多,遲到的幾率就越大。 |
區塊交易計數 | -0.0243 | 0.017 | 交易越多,延遲到達的可能性就越小。 |
Gas 使用量和區塊數量的影響符合預期——Gas 使用量較高的區塊執行時間往往更長,而數據量較大的區塊傳播時間則更長。然而,與交易數量呈反比關係卻出乎意料。需要注意的是,交易數量與時隙內遲到率之間的相關性相當弱(0.015)。因此,觀察到的關係很可能源於與其他特徵的相互作用。
至於實體特徵,它們在邏輯迴歸中並不顯著。這可能是由於模型的稀疏性和線性加性假設造成的。邏輯迴歸可以包含分類變量,但當類別稀少或以複雜的方式相互作用時,它們可能會遇到困難。
為了解決這個問題,我們還訓練了一組基於樹的模型,這些模型更適合捕捉此類非線性特徵。其中表現最佳的是LightGBM分類器。它在訓練集上的F1得分為0.762,準確率為0.759。
|
在該模型中,實體特徵表現出更高的相關性,如下圖所示的特徵重要性排名和Shapley 值所示。為了便於解釋,蜂群圖右側的紅點表示該特徵對延遲到達有正向影響。相反,蜂群圖右側的藍點表示該特徵對延遲到達有負向影響。例如,Stakewise 在圖右側標識了這些點,表示該實體的證明更有可能延遲而不是準時。
|
單獨質押者似乎對延遲證明產生負面影響,也就是說,他們延遲證明的數量往往少於平均水平的驗證者。除了實體之外,區塊數量和 Gas 消耗量也繼續顯示相關,這支持了邏輯迴歸模型的結果。
令人驚訝的是,第 66 百分位區塊到達時間與延遲到達率之間並沒有顯示出明顯的關係。它確實具有最高的特徵重要性,但 Shapley 值並沒有顯示出明顯的趨勢。查看下面的散點圖,該圖將此特徵與時隙內的延遲到達率進行了比較,我們發現 1 秒到 3.5 秒之間的區塊到達時間對時隙內的延遲證明率沒有顯著影響。這表明,雖然此特徵與延遲證明相關,但它與延遲證明的關係是複雜且非線性的。它的影響可能是通過與其他特徵(例如證明者實體)的交互來實現的。
如需更多圖表和分析,請參閱model_report 。用於複製模型訓練和評估的代碼是late_atts_model_runner.py
。