Erigon 的 FOCIL 實作進度:交易納入清單、驗證修正與儲存取捨
EIP-7805 (FOCIL) Implementation in Erigon
場次摘要
Sagar Rana 分享在 Erigon 實作交易納入清單機制 FOCIL 的進度。清單來自公開交易池,用於檢查區塊是否漏掉仍可追加的交易。建立清單的介面已合併,編碼後容量上限為 8,192 位元組;區塊資料驗證介面 new payload v6 尚待合併,啟動區塊建構的 fork choice updated v5 仍是草稿。 驗證會檢查區塊末端能否追加遺漏交易,考量 gas 資源額度、交易序號與餘額,而非回推建構過程中能否納入。已知區塊也不能直接判定符合清單要求,外部清單則須視為不可信輸入。清單以雜湊為鍵存入快取,避免改動資料庫格式;問答者提醒,這可能妨礙歷史查詢與納入表現追蹤,講者表示仍需研究。
值得記下的 5 件事
- [1:40]
四項程式碼變更的完成度不同 Rana 表示,分叉時間判斷工具與建立清單的介面已合併,後者已納入 Erigon 3.8.0
new payload v6 仍在審查,fork choice updated v5 則是草稿,且依賴前者新增的回傳欄位。
- [4:00]
清單限制的是編碼後容量,沒有另設 gas 上限 建立清單會重用 Erigon 交易池既有的交易選取功能,以 RLP 編碼後的 8,192 位元組為容量上限,略過 blob 資料交易及超出容量的交易
沒有可列入的交易時,回傳空陣列而非空值。
- [5:00]
驗證著重區塊末端能否追加交易 檢查不會回推交易在建構區塊的較早階段能否納入,而是嘗試追加尚未出現的交易
若資源額度、交易序號與餘額等檢查皆通過,卻仍遭遺漏,就將清單滿足狀態設為否;已在區塊內、資源不足或無效的交易則略過。
- [7:40]
快取避免改動資料庫,但歷史查詢需求仍待研究 清單不屬於區塊本體,實作以各清單的雜湊為鍵存入快取,同一區塊可對應多份清單
問答者提醒,不將清單存入資料庫可能妨礙追蹤歷來的納入表現;講者承認尚未從這個角度思考,沒有提出已完成的解法。
- [13:00]
用修正前後的測試結果確認錯誤修復 審查發現錯誤後,會加入對應測試,比較套用修正前後是否分別失敗與通過,並人工檢查
後續計畫是讓 new payload v6 合併、完成 fork choice updated v5,再進行跨客戶端測試、執行 Hive 測試套件及補上文件。
更多來自 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