← 回到 DEVCON 8

EIP-8304:用排序索引驗證以太坊日誌查詢是否完整

EIP-8304: Trustless log and transaction index in Geth

場次摘要

講者 Vansh 介紹他在 Geth 實作的以太坊改進提案 EIP-8304。現有 eth_getLogs 查詢不附證明,向非自管節點索取日誌時,難以確認回覆是否遭到刪減或捏造。交易收據可證明日誌存在,但提案更著重證明整組查詢結果沒有缺漏:將索引項目排序,再用匹配區段及前後邊界驗證完整性。 實作透過系統合約保存代表索引內容的根雜湊。Vansh 修正了計算結果依賴本機索引的錯誤,改由鏈上資料推導,並在開發網測試。不過,特定區塊需要前 319 個區塊的收據,共識端成本仍待效能評測。問答發言者表示提案未獲 Hegota 採納,並提出以零知識證明在協議外實作索引的未來計畫,並非已完成的方案。

值得記下的 5 件事

  1. [0:40]
    重點不只是證明日誌存在,而是確認沒有遺漏 Vansh 指出,eth_getLogs 沒有附帶證明,使用者難以判斷外部節點是否遺漏或捏造日誌

    交易收據可證明某筆日誌存在,但完整性驗證還必須確認整組查詢結果沒有缺項。

  2. [2:20]
    排序後的匹配區段與前後邊界協助驗證完整性 實作將區塊、交易及日誌地址、主題等索引項目依固定順序排列,由系統合約保存代表內容的根雜湊

    相同查詢值的匹配項目形成連續區段,連同前後項目的證明,可檢查區段兩端是否遺漏結果。

  3. [5:20]
    根雜湊的計算不能依賴節點是否建立本機索引 Vansh 發現,初版從節點本機索引取得根雜湊,可能因索引狀態不同而拒絕有效區塊

    他改由該區塊及其先前鏈上資料推導根雜湊,讓本機索引只負責查詢,並測試索引開關、平行處理與鏈重組等情況。

  4. [6:00]
    查詢證明仍伴隨節點端資料與運算成本 講者表示,實作在特定區塊需要前 319 個區塊的交易收據;若資料已刪除,節點會拒絕建立或匯入該區塊,並指出缺少哪些收據

    此外,每個區塊新增狀態及計算根雜湊的成本,仍待效能評測。

  5. [9:40]
    後續介面整合與協議外實作都尚未定案 Vansh 提到,新版日誌查詢介面正在考慮納入這類可驗證索引,並未宣稱已採用

    問答發言者則表示提案未獲 Hegota 採納,提出以零知識證明沿用相同資料結構、在協議外實作的未來計畫。

下載摘要 下載 Word 摘要(.docx)

更多來自 DEVCON 8

訂閱