EIP-8304:用排序索引驗證以太坊日誌查詢是否完整
EIP-8304: Trustless log and transaction index in Geth
場次摘要
講者 Vansh 介紹他在 Geth 實作的以太坊改進提案 EIP-8304。現有 eth_getLogs 查詢不附證明,向非自管節點索取日誌時,難以確認回覆是否遭到刪減或捏造。交易收據可證明日誌存在,但提案更著重證明整組查詢結果沒有缺漏:將索引項目排序,再用匹配區段及前後邊界驗證完整性。 實作透過系統合約保存代表索引內容的根雜湊。Vansh 修正了計算結果依賴本機索引的錯誤,改由鏈上資料推導,並在開發網測試。不過,特定區塊需要前 319 個區塊的收據,共識端成本仍待效能評測。問答發言者表示提案未獲 Hegota 採納,並提出以零知識證明在協議外實作索引的未來計畫,並非已完成的方案。
值得記下的 5 件事
- [0:40]
重點不只是證明日誌存在,而是確認沒有遺漏 Vansh 指出,eth_getLogs 沒有附帶證明,使用者難以判斷外部節點是否遺漏或捏造日誌
交易收據可證明某筆日誌存在,但完整性驗證還必須確認整組查詢結果沒有缺項。
- [2:20]
排序後的匹配區段與前後邊界協助驗證完整性 實作將區塊、交易及日誌地址、主題等索引項目依固定順序排列,由系統合約保存代表內容的根雜湊
相同查詢值的匹配項目形成連續區段,連同前後項目的證明,可檢查區段兩端是否遺漏結果。
- [5:20]
根雜湊的計算不能依賴節點是否建立本機索引 Vansh 發現,初版從節點本機索引取得根雜湊,可能因索引狀態不同而拒絕有效區塊
他改由該區塊及其先前鏈上資料推導根雜湊,讓本機索引只負責查詢,並測試索引開關、平行處理與鏈重組等情況。
- [6:00]
查詢證明仍伴隨節點端資料與運算成本 講者表示,實作在特定區塊需要前 319 個區塊的交易收據;若資料已刪除,節點會拒絕建立或匯入該區塊,並指出缺少哪些收據
此外,每個區塊新增狀態及計算根雜湊的成本,仍待效能評測。
- [9:40]
後續介面整合與協議外實作都尚未定案 Vansh 提到,新版日誌查詢介面正在考慮納入這類可驗證索引,並未宣稱已採用
問答發言者則表示提案未獲 Hegota 採納,提出以零知識證明沿用相同資料結構、在協議外實作的未來計畫。
更多來自 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