KeyFrame內部研究專用

DeFi security Summit 2023 - Session 1: DeFi Protocols 1 - Eugene Pshenichnyy

DeFi Security Summit - DSS·7月15日週六·20 min英文

三句話摘要

Lido V2 升級的安全管理:工程流程、組織決策與風險控制,而非代碼層面的安全技巧。 協議升級的安全不在於寫出零漏洞的代碼,而在於通過規範設計、多層測試、協調審計、嚴密部署與應急準備構築分層防禦體系,其中人員與文化是最底層的基礎。 規範設計從邊界情況反推:初期規範只涵蓋主流程,後來發現 MEV 攻擊者可比普通質押者獲得更好收益的邊界情況,因此引入 Turbo Mode(正常)和 Bunker Mode(應急)兩套協議模式應對。

重點整理

重點
  • 1

    規範設計從邊界情況反推:初期規範只涵蓋主流程,後來發現 MEV 攻擊者可比普通質押者獲得更好收益的邊界情況,因此引入 Turbo Mode(正常)和 Bunker Mode(應急)兩套協議模式應對。

  • 2

    測試組合策略:驗收測試確保功能符合預期,快照測試驗證升級前後行為一致(如同樣質押應得同樣代幣),並在本地測試網模擬實際投票和升級流程,而非僅在開發環境測試。

  • 3

    多輪審計的協調成本:並行進行多輪審計雖能縮短時間,但需要專人協調、反復傳達發現給所有審計方、處理重複發現與衝突建議,順序審計雖慢但成本更低、更易管理。

  • 4

    應急停止優於多簽:開發 Gate Seal 替代傳統多簽,限制停止持續時間(6天)和使用次數(一次),減少權力風險且保留應急能力讓 DAO 有時間反應。

實用技巧與重點

乾貨
  • 規模數據
  • Lido 是最大液態質押協議
  • V2 開發週期:7個月
  • 貢獻者:25人
  • V1 代碼:3個合約(Solidity 0.4,Aragon 框架)
  • V2 代碼:V1 的 3 倍大小,多個新合約(Solidity 0.8)
  • 升級交易成本:800萬 gas
  • MEV 前置:升級交易在區塊中被 MEV Hunter 前置
  • V2 三大功能特性
  • 提現取款(Withdrawals)— 啟用後置提現
  • 質押托管與驗證器集合擴展 — 去中心化驗證器集合
  • 預言機擴展
  • 升級方式
  • 通過代理模式單筆交易完成
  • Aragon 投票腳本(EVM scripts):三元組陣列 [who to call, which function, what params]
  • 需要 Aragon voting contract 簽名執行
  • 測試策略
  • 驗收測試(Acceptance tests):功能符合預期
  • 快照測試(Snapshot tests):升級前後行為一致性
  • 本地測試網:使用實際升級腳本,模擬投票流程
  • 安全審計
  • 並行審計:多輪同步進行(非順序)
  • 正式驗證:Certora 進行,使用不變量基思維
  • 專人協調審計流程
  • 部署驗證
  • Ops 團隊:確保外部可驗證性
  • 額外審計:檢查部署前合約與審計版本匹配
  • Bug Bounty:針對未部署代碼
  • diviscon 工具:驗證合約版本
  • 應急機制
  • Gate Seal:替代多簽
  • 時間限制:6 天
  • 使用次數:1 次

結論

結論

協議升級的安全不在於寫出零漏洞的代碼,而在於通過規範設計、多層測試、協調審計、嚴密部署與應急準備構築分層防禦體系,其中人員與文化是最底層的基礎。

完整解析

詳細

Lido 是以太坊生態最大的液態質押協議,V2 升級代表協議從架構到實現的全面演進。Eugene 的演講重點不在安全代碼撰寫技巧,而在升級過程中的工程管理與風險控制——這些往往決定了升級的真正成敗。

V2 升級的複雜性可從規模數據反映:歷時 7 個月、25 名貢獻者參與、代碼量增長至 V1 的 3 倍。從架構層面,V1 採用 Aragon 框架的 Solidity 0.4,限制了現代安全特性的使用;V2 完全改寫,使用 Solidity 0.8,引入更多合約模組。升級不能部署為獨立協議再遷移流動性,而必須透過代理模式在線升級——單筆交易、DAO 投票控制,確保操作連續性。這筆交易花費 800 萬 gas,最後被 MEV 獵人前置在區塊中。

安全管理的核心是從規範階段開始。Eugene 團隊起初的規範只涵蓋主流程,後來發現了關鍵的邊界情況:MEV 攻擊者可能在升級期間比普通質押者獲得更好的收益。這促使他們引入雙協議模式——Turbo Mode 用於正常狀態,Bunker Mode 用於應急(停止取款直到懲罰社會化)。這種由邊界情況反推規範的方法展現了深度思考的重要性。

測試階段採用多層次策略:驗收測試確保功能符合規範,快照測試驗證升級前後的關鍵指標(如質押 1 ETH 獲得等量 stETH)保持一致。最關鍵的是在本地測試網模擬真實升級流程——運行實際的投票腳本、模擬 DAO 持有者投票、執行升級後再跑驗收測試。這避免了「代碼在開發環境正常但生產環境有問題」的常見陷阱。Certora 的正式驗證補充了這一層,驗證關鍵不變量,副作用是開發團隊開始以不變量思維設計代碼。

安全審計採用並行策略以趕上時間表(在 Shapella 硬分叉後及時部署),但這帶來了協調成本:需要專人轉發不同審計機構的發現、應對重複發現的不同建議、逐輪修復。Eugene 坦言,若有充裕時間應採用順序審計,給團隊空間消化上輪發現再進入下輪。

部署前的驗證包括 Ops 團隊確保外部可驗證性、額外審計檢查部署版本與審計版本匹配、針對未部署代碼的 Bug Bounty,以及自開發的 diviscon 工具。應急層面,團隊開發了 Gate Seal——比傳統多簽簽名更優雅的應急停止機制,限制時間(6 天內只能停止)和次數(一次性),既保留應急能力又限制權力濫用風險。

Eugene 最後提出的「分層蛋糕」模型總結了協議安全的全景:最底層是人員(招聘、教育、文化)——這是被嚴重低估的一層,直接影響所有上層決策;其上是代碼安全、規範安全、測試、部署安全、應急響應各層相互支撐。人員不夠好,其他層都會失效;而最堅實的安全來自把人員當成基礎、把流程當成堡壘、把代碼當成最後防線。

關鍵時刻

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