樂觀 V3 中繼簡介

本文為機器翻譯
展示原文

GeorgeVlad 合著,來自 Gattaca。特別感謝 AestusbloXrouteUltrasound 中繼提供的意見。

概述

在早期的中繼架構(樂觀 V1 和 V2)中,構建者必須預先向中繼傳輸完整的區塊負載以進行驗證。這意味著顯著的資料開銷:每次區塊提交都包含所有交易和 blob 資料,可能每次提交達到兆位元組級別。這導致大量冗餘的網路流量,因為除了一個提交的負載外,其他都不會被返回,給中繼帶來了繁重的資料傳輸、處理和成本負擔。

樂觀 V3 旨在透過避免在非絕對必要時傳輸完整的區塊資料來消除這種開銷。關鍵洞察是僅傳送拍賣所需的基本資料,即區塊頭、出價跟蹤和簽名,同時將繁重的負載推遲到區塊實際被選中時。這種設計大幅減少了頻寬使用量並降低了區塊提交延遲。隨著區塊大小的持續增長,特別是 blob 限制的增加,這種方法變得越來越至關重要,以確保中繼能夠處理不斷增長的吞吐量需求。

從樂觀 V1 到 V3 的演進回顧

  • 樂觀 V1:引入了延遲區塊驗證,中繼樂觀地考慮出價,而不立即驗證完整區塊。
  • 樂觀 V2:將頭與負載解耦,允許小型頭部立即處理,而較重的區塊資料非同步到達。儘管頭部提交有延遲收益,但構建者仍然被迫並行向中繼傳送完整區塊負載,導致重複的頭部資料和更多頻寬使用。
  • 樂觀 V3:構建者僅提交區塊頭幷包含一個用於從構建者按需檢索負載的地址。中繼按需獲取完整區塊資料,幾乎消除了所有冗餘資料傳輸。

結構體 頭部提交V3 {/// 指向構建者伺服器端點的URL,用於在選擇此頭部時檢索/// 完整區塊載荷。公開 url: 向量<u8>,/// 已簽名的頭部資料。這是與/// 樂觀V2 '已簽名頭部提交'相同的結構,包含:/// - 執行頭部/// - 出價追蹤/// - 簽名公開 提交: 已簽名頭部提交,}

URL必須是一個網路地址(例如,https://builder.example.com),該地址提供 get_payload_v3 路徑,中繼可以在該路徑檢索完整區塊。

載荷檢索(構建者端點)

路徑: POST /get_payload_v3

如果/當中繼想要檢索 頭部提交V3 的區塊載荷時,它將向提供的URL的 get_payload_v3 路徑發出POST請求。

結構體 獲取載荷V3 {/// 來自 `已簽名頭部提交` 的區塊頭部雜湊。公開 區塊雜湊: B256,/// 中繼發出此請求的時間戳(毫秒)。公開 請求時間戳: u64,/// 用於建立 `已簽名獲取載荷V3` 中 `簽名` 欄位的簽名金鑰的Bls公鑰。公開 中繼公鑰: Bls公鑰,}結構體 已簽名獲取載荷V3 {公開 訊息: 獲取載荷V3,/// 中繼用於簽署 `獲取頭部` 響應的金鑰的簽名公開 簽名: Bls簽名,}

區塊雜湊 欄位是請求的區塊雜湊。請求時間戳 是中繼發出此請求時的UTC毫秒時間戳。

響應正文

構建者必須返回與標準構建者提交相同的 已簽名構建者出價 型別的完整區塊載荷。


來源
免責聲明:以上內容僅為作者觀點,不代表Followin的任何立場,不構成與Followin相關的任何投資建議。
喜歡
收藏
評論