KeyFrame內部研究專用

Enhancing Protocol Security With ZK-Oracles | Victor Petrenko (Lido), Eugene Kolpakov

DeFi Security Summit - DSS·12月18日週三·23 min英文

三句話摘要

Lido通過零知識Oracle實現無需信任的協議數據驗證 Lido透過零知識證明將無需信任的外部數據驗證從密碼學不可行變成了實際可部署的系統,為去中心化液態質押協議奠定了堅實的技術基礎。 Lido面臨的核心問題是每日需從共識層提取驗證者餘額、提現隊列等數據到執行層計算LDO代幣價值,傳統Oracle委員會雖有多簽保護,但仍存在多數攻擊、供應鏈污染及實現缺陷的風險向量。

重點整理

重點
  • 1

    Lido面臨的核心問題是每日需從共識層提取驗證者餘額、提現隊列等數據到執行層計算LDO代幣價值,傳統Oracle委員會雖有多簽保護,但仍存在多數攻擊、供應鏈污染及實現缺陷的風險向量。

  • 2

    零知識方案的巧妙之處在於共識層數據本質完全公開——問題不在隱私而在計算成本,無需推送230MB的Beacon State到鏈上,而是提交報告加上證明報告計算誠實的ZK proof,將驗證複雜度削減數個數量級。

  • 3

    技術架構分三層遞進:ZK電路保證算法正確性(代碼成為驗證密鑰的一部分,任何修改必須重新部署)、beacon block hash錨定確保數據完整性、合約層onchain驗證器確認proof的數學約束一致性。

  • 4

    工程實現中解決了RiscV32位機的指針溢出問題(條件編譯跨平台支持)與proof生成效率瓶頸(初期1小時/1萬驗證者線性縮放,最終透過遞歸proof緩存與鏈上delta存儲實現指數級優化)。

實用技巧與重點

乾貨
  • 協議:Lido (Lia),質押規模900萬ETH
  • 共識層驗證者:160萬名(2^40容量)
  • Beacon State大小:230MB
  • Merkle哈希計算量:300萬次SHA256
  • 技術棧:sp1虛擬機、Rust開發
  • 虛擬機架構:RiscV 32位
  • 驗證者臨時容量限制:2^29(可持續40年)
  • 初期proof生成時間:10,000驗證者耗時1小時、線性縮放
  • 優化方案:遞歸proof緩存、鏈上validator Delta存儲
  • 部署狀態:Sepolia完成UAT、待主網啟用
  • 參考EIP:4788(beacon block hash預編譯合約)

結論

結論

Lido透過零知識證明將無需信任的外部數據驗證從密碼學不可行變成了實際可部署的系統,為去中心化液態質押協議奠定了堅實的技術基礎。

完整解析

詳細

Lido協議作為以太坊最大的液態質押平台,面臨一個根本性的信息同步問題:協議需要每天從共識層獲取驗證者的精確狀態——包括餘額、激活與退出狀態、提現隊列等數據——來計算質押憑證代幣的價值並分配獎勵。傳統方案採用9個獨立Oracle組成的委員會,要求至少5個Oracle提交相同報告才能通過,並配備sanity checker防禦異常波動。Victor指出這個模型仍存在三層隱患:首先,多數投票機制只需攻擊5個實體就能植入虛假數據;其次,Oracle本質上是可執行代碼,帶有第三方依賴,任何一個dependency遭污染(如npm的leftpad事件)都會連鎖感染;第三,即使代碼邏輯無誤,開發者的任何實現錯誤也會打開新的攻擊面。

Eun提出的零知識Oracle解決方案的核心洞察是:共識層的所有數據完全公開於區塊鏈,隱私不是問題,真正的瓶頸是計算成本。若要完全onchain驗證,需要將230MB的Beacon State傳入執行層,針對160萬驗證者計算Merkle根,光是哈希運算就要300萬次SHA256,超出任何可合理承受的gas限制。ZK的優雅之處在於重新定義信息傳遞方式:不推送原始數據,而是提交報告本身加上一份零知識證明,證明該報告是從公開數據正確計算而來。這將驗證成本削減數個數量級。

技術分層設計確保三重正確性保證。第一層,ZK電路用Rust編寫並編譯為ELF二進制在RiscV虛擬機上執行,生成代數中間表示(AIR Trace)最後壓縮成proof。電路本身被編碼進驗證密鑰,任何單字節修改都導致新的驗證密鑰,這防止了惡意演員用未授權的演算法生成虛假proof。第二層,proof必須與區塊鏈狀態進行加密錨定:從EIP-4788的beacon block hash出發,證明它確實產生了特定的state root,再證明該state root下的validator list與balance數據全部正確。這是打破「女爵士拉自己脫沼澤」悖論的關鍵。第三層,合約層執行onchain驗證器重新運行AIR約束檢查,確認所有承諾的數據確實滿足證明的數學關係。

實現過程中遭遇兩個重大工程挑戰。首先是RiscV32位機的指針溢出:驗證者總數是2^40,超出32位無符號整數上限,依賴的tree-hash庫會在某處崩潰。解決方案是條件編譯,x64機器上用標準實現,32位機上使用等效的無溢出算法,代價是人為限制到2^29(約5.4億驗證者,可支撐協議40年增長)。其次是proof生成效率:初期方案對10,000驗證者耗時1小時,線性縮放意味著160萬驗證者需數週,完全不可用。解決策略是雙管齊下:利用sp1提供的遞歸proof能力對樹的不變部分緩存,以及在鏈上存儲validator state的Merkle根,下一輪報告時只重新計算變化部分(validator Delta)。這將效率提升到可實時運行的水平。

系統已完成Sepolia測試網的廣泛用戶驗收測試(UAT),驗證了正常情況下的功能正確性及大量數據篡改嘗試的拒絕能力。待LIP-23規範相容性完成和Lido DAO投票批准,主網即可啟用。

關鍵時刻

Pipeline v2

帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。

事實查核

Pipeline v2

說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

更多「Web3 安全」的內容

IF YOU OWN XRP YOU NEED TO SEE THIS PRICE MANIPULATION! ⚠️
8 min
Web3 安全英文8月14日

IF YOU OWN XRP YOU NEED TO SEE THIS PRICE MANIPULATION! ⚠️

Zach Humphries

  • 機構支撐的積極意義:價格操縱常被視為負面,但Ripple掌握大量XRP供應與escrow,在熊市期間提高價格下限,實際上替零售投資者鎖定了低風險的積累區間,這不是剝削而是市場穩定機制。
  • 歷史模式驗證:2024年7月至11月XRP在50美分附近橫盤整理,低點觸及42美分(wick),高點65美分;隨後11月5日至12月5日單月上漲456%,年底到2025年初累計漲幅534%,這個歷史周期正在1美元價位重演。
  • 比特幣聯動邏輯:講者在4-5月就預測「如果比特幣跌至60k以下,XRP會跌至1美元或更低」,此預測精準應驗,反映出熊市中兩者的明確連動關係。
Minimmit, Multimmit and the New Consensus Frontier with Patrick O'Grady
72 min
Web3 安全英文PODCAST8月5日

Minimmit, Multimmit and the New Consensus Frontier with Patrick O'Grady

Zero Knowledge

  • 反向 Linux 架構:Commonware 刻意暴露棧各層級控制,讓開發者自訂執行環境、共識機制、密碼學實現,而非像 Cosmos SDK 只允許應用層以上定制。2-3 個月能組裝一條定製鏈,代價是額外深度但回報是長期維護成本降低及效能優化彈性。
  • 容錯假設的典範轉移:Alpine Glow(Solana 2025)實現單輪投票定終的關鍵是將容錯預算分離為獨立的 Byzantine 和 Crash 容限。傳統系統把 33% 當一個整體預算;新模型允許 20% 惡意加 20% 崩潰,打破了 PBFT 理論界線,釋放單輪設計空間。
  • Minimet 與 Multimet 的遞進:Minimet 是 5F+1 設定下的乾淨構造,實現更短視圖延遲;Multimet(剛發布)進一步允許並行 mini-commits 且驗證者可推翻領導者審查,使用者交易在全球分布式網路達到 200-300 毫秒端到端定終。
Private Information Retrieval (PIR) with Alex Hoover
64 min
Web3 安全英文PODCAST7月29日

Private Information Retrieval (PIR) with Alex Hoover

Zero Knowledge

  • PIR 保護的是訪問模式,不是資料本身
  • PIR 與加密不同,它關注的是隱藏「客戶端查詢了什麼」,而非「資料是否加密」。在公開資料庫(如區塊鏈)上,客戶端可以在不洩露查詢對象給伺服器的情況下檢索特定條目,解決了輕量級客戶端的隱私和防審查問題。
  • 客戶端預處理方案是突破瓶頸的關鍵