KeyFrame內部研究專用

DeFi Security 101 2025 - How Can I audit ZK circuits?

DeFi Security Summit - DSS·11月20日週四·54 min英文

三句話摘要

RareSkills 創辦人 Jeffrey 系統性講解零知識證明(ZK)的數學基礎、學習路徑,以及進入 ZK 審計領域所需的核心技能。 ZK 審計的最快入場路徑是:鞏固代數與攻擊者思維 → 學 Circom → 從「約束是否完整」這個角度切入審計,數學與後端則作為終身學習的長期投資。 ZK 的本質是方程式的解 ZK 不是抽象地「證明你知道某事」,而是證明你擁有一組滿足特定方程式系統的解,並且做到簡潔(資料量遠小於變數數量)且不洩漏答案。這個框架讓數學式能夠表達「x 屬於集合 {1,2,3}」或「兩個列表互為排列」等有意義的語義約束。

重點整理

重點
  • 1

    ZK 的本質是方程式的解 ZK 不是抽象地「證明你知道某事」,而是證明你擁有一組滿足特定方程式系統的解,並且做到簡潔(資料量遠小於變數數量)且不洩漏答案。這個框架讓數學式能夠表達「x 屬於集合 {1,2,3}」或「兩個列表互為排列」等有意義的語義約束。

  • 2

    進入 ZK 審計有兩條快速路徑 講者觀察到成功加入 ZK 審計公司的人,要嘛有扎實的數學底子,要嘛有強烈的攻擊者思維(來自 Solidity 或 Web2 安全背景)。後者一旦理解 ZK 最低限度的運作原理,最快一週即可開始產出有效的安全分析。

  • 3

    數學是基礎,但不需要全部學完才能開始 代數是絕對必要的基礎;抽象代數是讀論文的語言;線性代數主要作為進入抽象代數的踏腳石。建議把數學學習當作生活方式(5 至 10 年視野),而不是先完成再行動的前置條件。在穩定推進數學的同時,可以先切入 Circom 與算術化(Arithmetization)的約束設計。

  • 4

    約束正確性是最可落地的審計切入點 在 ZK 審計中,最常見的漏洞是「約束不足」(missing constraints),即系統方程式沒有完整捕捉預期語義。這部分最貼近攻擊者思維,且目前尚未被自動化工具完全取代,是現階段最有效率的切入點;後端(如 Groth16)反而可以先視為黑盒。

實用技巧與重點

乾貨
  • 時間估算
  • Rust:30 天規律練習;不規律則約 90 天
  • 密碼學:10 週(等同大學 Crypto 1 課程)
  • VM(MIPS / RISC-V):全職投入 1 週可從零寫出實作
  • ZKVM 記憶體一致性模型:額外需 1 週
  • Groth16 後端(從零撰碼):每週 3 小時 × 15 週 = 45 小時
  • 代數 / 離散數學 / 線性代數 / 證明寫作各半年;合計慢速學完約 2.5 年
  • 從零到進入 ZK 審計公司:近全職投入約 6 個月
  • 必學數學(核心)
  • 代數(Algebra)— 最關鍵
  • 數學證明寫作(Proof Writing)
  • 離散數學(Discrete Math)
  • 線性代數(Linear Algebra,重點是矩陣運算)
  • 抽象代數(Abstract Algebra,讀論文必備)
  • 工具 / 框架 / 協議
  • 算術化格式:R1CS、Plonk(AIR)、AIR
  • 後端:Groth16、Bulletproofs、ZKSNARK、GKR、Plonk
  • 框架:Circom(最易入門)、Halo2、Plonky3(ZKVM 主流,Succinct 使用)
  • VM 架構:MIPS、RISC-V(比 EVM 簡單)
  • 隱私應用:Tornado Cash 為主要參考原型
  • RareSkills Rust 練習題:700 題
  • 免費資源:ZK Book(rzbook.com,含 Bulletproofs 從零實作練習)
  • 典型漏洞類型
  • 約束遺漏(Missing Constraints):最常見
  • 冗餘約束被移除導致錯誤通過
  • 編譯器 Bug(Aztec 等不成熟編譯器已有案例)
  • 排列論證(Permutation Argument)的邊界情況
  • 記憶體一致性模型的狀態轉換錯誤

結論

結論

ZK 審計的最快入場路徑是:鞏固代數與攻擊者思維 → 學 Circom → 從「約束是否完整」這個角度切入審計,數學與後端則作為終身學習的長期投資。

完整解析

詳細

這場演講由 RareSkills 創辦人 Jeffrey 在一場智能合約安全會議上發表,主題是「如何進入 ZK 審計」,但實質上是一堂從數學基礎到職涯規劃的完整導論。

Jeffrey 首先重新定義了 ZK 的本質:它不是「證明你知道某件事」這種模糊說法,而是「證明你知道一組方程式系統的解,且用遠少於變數數量的資料做到,同時不洩漏答案本身」。他透過現場互動逐步示範如何用方程式表達語義——從「x 是 0 或 1」到「x * y * z = 0 代表三者至少有一個為零」,再到「(u-x)(u-y)(u-z) = 0 代表 u 屬於列表 {x,y,z}」——最終組合出 4×4 數獨謎題的完整約束系統。他特別指出,排列論證(Permutation Argument)若只做單向驗證,攻擊者可以用重複元素繞過,這是典型的約束設計漏洞,也是 ZK 審計的核心思維:方程式是否真實捕捉了預期語義?

在職涯建議上,Jeffrey 根據他親自培訓並最終進入 ZK 審計公司的學員總結出兩條快速路:一是具備紮實數學背景(尤其是代數流暢度),二是已在 Solidity 或 Web2 安全領域磨練出強烈的攻擊者思維。有後者基礎的人,只要理解 ZK 最低限度的原理,最快一週就能在安全層面產出有效分析。他同時警告學習者避免兩個極端:一是完全跳過數學直接跳入 ZK,另一是認為必須精通所有數學才能開始——正確做法是把數學學習當作終身習慣,同時平行推進 ZK 的實踐技能。

在具體學習路徑上,他建議以「最小前置知識」為原則逐步推進:先掌握代數,再視情況補充離散數學、線性代數作為進入抽象代數的跳板;Rust 可在 30 天內學完所需部分;密碼學以大學 Crypto 1 的等量學習即足夠,且建議自己實作演算法一次以深化理解;MIPS / RISC-V 虛擬機比 EVM 更簡單,全職投入一週可從零寫出。ZK 框架方面,他強烈推薦從 Circom 入手,因其語法最貼近數學方程式,其次再學 Plonky3(目前 ZKVM 的主流選擇,Succinct 等團隊廣泛使用)。後端(Groth16、Bulletproofs 等)是「月球數學」,每週 3 小時需學 15 週,可作為長期目標,短期不必等它學完再行動。

演講最後,Jeffrey 回應了聽眾關於「如何在忙碌生活中維持 ZK 技能不生鏽」的困境,坦承這是這個領域固有的挑戰,沒有魔法解方,唯一有效的策略就是把學習當作生活方式而非短期衝刺。他觀察到,從零到進入 ZK 審計公司,最快的案例是接近全職投入 6 個月,且那些人幾乎沒有其他工作負擔。

關鍵時刻

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