Lighthouse 試作 REST-SSZ 引擎介面,減少節點間傳輸負擔
REST-SSZ Engine API for Lighthouse
場次摘要
Sameer 分享在 Lighthouse 實作 REST-SSZ 引擎介面(Engine API)的進度,用於共識層與執行層之間的通訊。現行 JSON-RPC 涉及資料格式轉換,十六進位編碼也會放大傳輸量。改以 SSZ 二進位格式傳送,目標是減少大型資料的傳輸負擔,為日後增加 blob 資料容量保留空間,並非已完成擴容。 這項實作由使用者透過指令列啟用,依序嘗試 HTTP/2、HTTP/1.1 的 REST-SSZ 連線,失敗後退回 JSON-RPC。講者報告,本機開發網路的大型資料測試有所改善,但 HTTP/2 下部分呼叫仍較慢。程式碼仍在草稿與拆分合併請求階段;調整連線配置、擴大測試及最終取代舊介面,都屬後續工作。
值得記下的 5 件事
- [1:20]
二進位傳輸減少編碼膨脹 講者說明,執行端可將資料轉成 SSZ 後直接傳送,避免十六進位編碼放大傳輸量
他將這項改動視為增加 blob 資料容量的助力,而非已完成擴容的證明。
- [1:40]
新介面採選用制,保留舊介面退路 使用者透過指令列啟用後,實作會先嘗試以 HTTP/2 連接 REST-SSZ,失敗再試 HTTP/1.1;兩者都失敗才退回 JSON-RPC
- [3:00]
部分呼叫改以分叉標頭選擇資料格式 新設計將分叉資訊放入請求標頭,讓同一端點依分叉選擇資料結構,取代維護多個方法版本的做法
但不是所有呼叫都適用:取得 blob 的端點不必傳送分叉資訊,部分其他呼叫仍使用 JSON。
- [9:20]
本機測試傳輸量減少,但延遲改善並不一致 講者報告,取得 blob 的傳輸量由 JSON-RPC 的 5.1 MB 降至 2.57 MB
不過 HTTP/2 下部分小型呼叫仍較慢;他提出讓不同類型呼叫分用連線的改善構想,尚未展示該方案的測試結果。這些結果不能直接推定主網表現。
- [6:20]
草稿拆分以便審查,全面取代仍是遠期目標 初版變更超過六千行,因此拆成五份程式碼合併請求;當時其中四份仍僅存於講者自己的儲存庫
實作已能在本機開發網路運作,但合併程式碼、擴大測試,以及經充分測試和長期主網運行後取代 JSON-RPC,仍是後續目標。
更多來自 DEVCON 8
Arrow 的硬體 DAO 實驗:AI 協作、在地製造與責任分工
A DAO Shipped an Aircraft: What It Takes to Coordinate Atoms with Tokens
Thomas Garrison
Kohaku:以 SDK 將隱私與安全功能帶入以太坊錢包
Kohaku : privacy for everyone, by default
Nico、Vitalik
私密區塊鏈的取捨:隱私、去中心化與合約協作
Private State, Public Network: The Tradeoffs Behind Privacy
Zachary Williamson