KeyFrame內部研究專用

Zero Knowledge security for beginners — Laurence Kirk | Extropy.io

Web3 Security Summit·8月9日週五·24 min英文

三句話摘要

零知識證明(ZK)的安全漏洞類型、攻擊原理與開發者需知的核心防禦概念。 ZK 系統的「數學嚴謹性」是雙面刃:它讓證明難以偽造,卻也讓開發者過度信任電路設計,under-constrained circuit 與有限域邊界錯誤才是最實際的敵人,必須在電路層逐一約束、逐一驗範。 1. ZK 安全的核心矛盾:數學嚴謹性反而讓人降低戒心

重點整理

重點
  • 1

    1. ZK 安全的核心矛盾:數學嚴謹性反而讓人降低戒心

  • 2

    傳統 Solidity 合約人們會仔細審查程式碼,但 ZK 證明因為有「數學嚴格性」的光環,開發者與使用者容易過度信任,在設計上承擔更高風險。這種心態讓 ZK 系統的安全缺陷更難被發現。

  • 3

    2. Under-constrained circuit 是最普遍的根源漏洞

  • 4

    電路(circuit)是 ZK 系統中「驗證 Prover 主張」的核心結構,若約束條件不夠嚴格,Prover 可以輸入不正確的值卻仍通過驗證。開發者必須確保電路「精確地」對應 Prover 宣稱的所有條件,不留任何彈性空間。

  • 5

    3. 有限域運算需要顯式 range check

  • 6

    ZK 系統建立在有限域數學上,數值有最大上限,超過後會 wrap around。攻擊者可利用此特性構造看似合法但實為異常的輸入值。因此在算術運算前必須加入範圍檢查(range check),確認數值在合法區間內。

  • 7

    4. 去中心化 rollup 時代將使「真實作弊」威脅浮現

  • 8

    目前 Layer 2 的 Prover 與 Verifier 合約由同一批人撰寫,信任假設其實是隱性的。當去中心化序列器與 proving market 出現後,陌生第三方將參與產生證明,soundness 的安全假設才會真正被測試。

實用技巧與重點

乾貨
  • ZK 核心安全屬性:Completeness(正確證明被接受)、Soundness(錯誤證明高概率被拒絕)、Zero-knowledgeness(Verifier 無法反推 secret input)
  • 主要攻擊面(依文獻統計):Circuit 層漏洞佔大多數,其次是 Prover 作弊,Zero-knowledge 洩漏案例最少
  • 漏洞類型一覽
  • Under-constrained circuit(約束不足)
  • Non-deterministic circuit(非確定性電路,under-constrained 子集)
  • Arithmetic overflow / underflow(有限域邊界問題)
  • Frozen Heart(Fiat-Shamir 轉換誤用,缺少關鍵資訊)
  • Trusted setup 洩漏(multiparty ceremony 共謀或洩漏)
  • 編譯器最佳化消除約束(compiler optimization 移除必要 constraint)
  • 工具鏈:Circom(低階電路語言,廣泛使用但偏底層)、Noir(Aztec,已抽象 ZK 細節)、Cairo(Starknet,資料型別為雙 2^128 結構)、0js
  • Zcash 案例:論文中存在錯誤,若 trusted setup 洩漏可憑空製造代幣,事後已修補
  • Scroll 參考資源:提供詳細電路文件,展示 EVM 電路如何拆解為 storage、hash(Merkle-Patricia tree)等子電路
  • 電路規模:現代 ZK 系統電路達數百萬 gates,以巨型表格(row = constraint)表示

結論

結論

ZK 系統的「數學嚴謹性」是雙面刃:它讓證明難以偽造,卻也讓開發者過度信任電路設計,under-constrained circuit 與有限域邊界錯誤才是最實際的敵人,必須在電路層逐一約束、逐一驗範。

完整解析

詳細

這場演講的背景是 ZK(零知識證明)技術正快速從學術密碼學走向工程實踐,越來越多開發者開始撰寫 Cairo 合約、Noir 電路、Aztec 應用,但他們對 ZK 底層數學的理解普遍不足。講者認為這構成了一個系統性安全風險:目前整個社群高度依賴少數密碼學專家做安全審計,而 ZK 系統上有大量 TVL,一旦出現漏洞損失難以挽回。

ZK 系統的運作模型是「Prover(證明者)」向「Verifier(驗證者)」提出主張,例如「這筆交易被正確執行了」,並提交一份數學證明。Verifier 不必信任 Prover,只需驗證這份證明即可。兩個核心安全性質是:Completeness(合法的正確證明一定被接受)與 Soundness(錯誤的假證明幾乎一定被拒絕)。現代系統透過 Fiat-Shamir 啟發式方法將互動式協議壓縮成非互動式(NIZK),才能用於區塊鏈環境。

然而講者指出一個反直覺的心理陷阱:正因為 ZK 帶有「嚴格數學證明」的光環,開發者與使用者反而容易過度信任、降低風險意識。這一點在目前的 Layer 2 rollup 架構中尤為明顯——Prover 系統與 Verifier 合約往往由同一團隊撰寫,信任是隱性存在的。但當 proving market 成熟、第三方開始競爭產生證明時,soundness 才會真正受到敵對環境的考驗。

在具體漏洞類型上,講者聚焦三大類:第一是 under-constrained circuit,即電路對 Prover 的輸入約束不夠嚴格,讓攻擊者可以提交不正確的 witness 卻仍通過驗證——這是最普遍的問題,且在 Circom 與高階語言(Cairo、Noir)中都會出現。第二是有限域的算術邊界問題,ZK 系統在模數有限域上運算,若沒有顯式 range check,數值 overflow 後 wrap around 可能使本應失敗的驗證通過。第三是 Fiat-Shamir 轉換的誤用(稱為 Frozen Heart 漏洞):將互動式協議壓縮為非互動式時,若未將足夠資訊納入雜湊計算,就等同於留下了「under-constrained」的缺口。此外,部分 SNARK 需要 trusted setup(共同參考字串),若多方計算儀式中有參與者串謀洩漏秘密值,攻擊者即可偽造任意有效證明,Zcash 早年的文件錯誤就是此類風險的典型。

講者最後強調,目前業界的安全工具雖然已存在,但仍處於早期階段,覆蓋範圍有限。更根本的解法是教育普及與更好的語言抽象——像 Noir 已試圖將 ZK 細節從開發者視野中隱藏,但資料型別限制、迴圈表達、分支等底層有限域特性仍會在各語言中不同程度地「浮現」,這是開發者無法完全迴避的知識門檻。

關鍵時刻

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