Alex Ozdemir on where Theorem Provers and ZK meet
三句話摘要
形式驗證與定理證明在零知識證明系統中的應用與演進 # 隨著密碼系統在現實中的部署日增,形式驗證與零知識証明的結合——尤其是能隱私保護地証明大型軟體正確性的系統——將成為信任基礎設施的不可或缺的一環。 ZK 語言生態的兩條平行線:DSL 繼續演進(Clean、Plonky2、Cairo),同時 ZK VM 異軍突起。VM 讓應用開發者無需理解電路細節,只需知道虛擬機介面;但電路層仍有用武之地——VM 引入的間接性帶來性能成本,關鍵應用仍需定製電路以獲得最優性能。
重點整理
重點- 1
ZK 語言生態的兩條平行線:DSL 繼續演進(Clean、Plonky2、Cairo),同時 ZK VM 異軍突起。VM 讓應用開發者無需理解電路細節,只需知道虛擬機介面;但電路層仍有用武之地——VM 引入的間接性帶來性能成本,關鍵應用仍需定製電路以獲得最優性能。
- 2
隨機電路作為一級概念的重要性:傳統電路是確定性的,新一代 DSL 允許電路在執行中「擲硬幣」(採樣隨機挑戰),這讓查詢論證、記憶體論證等互動式証明系統成為原生特性而非事後補丁。Cersei 不只支援隨機電路,還能自動優化其使用——合併冗餘挑戰、選擇最佳記憶體論證演算法。
- 3
形式驗證的兩大工具各司其職:SMT 求解器(如 CVC5)進行自動定理證明,適合較簡單的數學領域(如有限域運算);Lean 是交互式定理證明器,由人類編寫証明但內核小且可信。兩者都開始引入機器學習來指導證明搜索,但真理判定始終是確定的——ML 只是幫助尋找證明路徑。
- 4
零知識與隱私保護正確性的新範式:ZK πι 允許專有軟體開發商證明「我的系統不會洩露你的資料」而無需公開原始碼。核心創新是零知識證明 Lean 定理——定理陳述保持可見(防止「安全劇場」),但完整證明被隱藏。這需要有限域上的強大 SMT 支援與新的証明系統(Mirage Plus)來高效編碼互動式证明。
- 5
#
實用技巧與重點
乾貨- 工具與系統名稱:
- ZK DSL:Noir、Clean (Lean-based)、Plonky2、Cairo、CIRCOM、ArcWorks
- Cersei:編譯器基礎設施,支援多源多目標(ZK SNARKs、MPC、SMT、同態加密)
- 定理證明工具:Lean(交互式)、Z3、CVC5、Yices(SMT 求解器)
- 證明系統:Mirage Plus、Halo 2、Groß 16、Spartan
- 新系統:ZK πι(零知識證明 Lean 定理)、Dorian(改進的 Spartan 變體)
- 技術概念:
- 隨機電路(Randomized Circuit):電路內部採樣隨機挑戰,實現互動式證明系統
- SMT (Satisfiability Modulo Theories):自動定理證明,需預先定義有限的數學領域
- Lean 中的 Curry-Howard 對應:將定理證明約化為類型檢查
- 翻譯驗證(Translation Validation):編譯器邊編譯邊生成程式特定的正確性證明
- 具體數據:
- ZK πι 証明大小:約 200 字節
- 有限域元素範圍:約 2^32 到 2^256 個選項
- 方法與流程:
- 形式驗證的兩階段:(1) 規格化(定義輸入/輸出語言語義)→ (2) 驗證(用 SMT 證明編譯器正確性)
- Cersei 對隨機電路的優化:
- 檢測確定性操作,替換為最優隨機版本(查詢/記憶體論證)
- 合併冗餘挑戰,重組隱含互動結構
- ZK πι 的核心技術:將 Lean 定理證明中的依賴型檢查編碼為 ZK 電路,在 Mirage Plus 上執行
- 安全風險:
- 「安全劇場」:虛假定理或隱藏關鍵假設仍可被「證明」
- 例:只驗證 4 台伺服器行為,隱瞞第 5 台伺服器的惡意操作
- 解決方案:ZK 証明不隱藏定理本身,只隱藏證明過程
- #
結論
結論“隨著密碼系統在現實中的部署日增,形式驗證與零知識証明的結合——尤其是能隱私保護地証明大型軟體正確性的系統——將成為信任基礎設施的不可或缺的一環。”
完整解析
詳細這場播客對話深入探討了形式驗證、定理證明與零知識証明在現代密碼學中的交匯點。
自 2021 年以來,ZK 領域的語言與工具生態發生了重大轉變。一方面,DSL 繼續演進,引入了隨機電路這一關鍵創新——電路不再是純粹的確定性計算,而是能夠採樣隨機挑戰、實現互動式證明系統的動態結構。Clean 等新 DSL 採用「驗證優先」設計,將驗證工具與語言協同設計。另一方面,ZK VM 的興起改變了開發者體驗——應用開發者無需理解電路細節,只需面對虛擬機介面,彷彿在用標準語言(如 Rust)編程。然而,這並非電路的終結。VM 實現本身基於電路,且 RISC-V 等通用指令集為零知識優化而非設計,導致性能開銷。因此生態正進入分層時代:對性能要求不高的應用用 VM,對性能敏感的應用(如 Google 的匿名憑證系統)仍需定製電路。
Cersei 編譯器基礎設施在這個演進中扮演樞紐角色。與傳統編譯器不同,Cersei 不是一對一的源-目標轉譯,而是一套可共享的編譯邏輯。它支持多個源語言編譯到多個目標:ZK SNARKs、多方計算、SMT 邏輯公式、整數線性規劃乃至全同態加密。過去兩年,Cersei 取得的核心突破是自動化隨機電路優化——不僅支持隨機性的使用,更能自動偵測確定性操作並替換為最優的隨機版本(如選擇四種記憶體論證中最合適的),甚至能合併冗餘挑戰、重組互動結構。這種動態優化對互動式証明的編譯是前所未有的。
與此同時,形式驗證成為確保編譯器正確性的關鍵。講者採用「驗證前」方法,聚焦有限域編碼這一易出錯的編譯階段,並發現了預期外的 bug——這驗證了預先驗證的必要性。為此,講者與團隊建構了 CVC5 SMT 求解器對有限域的支持,填補了此前的空白。現在,Z3、Yices 等多個求解器都支持有限域推理,形成了互操作的生態。
定理證明工具的選擇與應用同樣關鍵。SMT 求解器(自動定理證明)與 Lean(交互式定理證明)各有所長。SMT 專注於自動化,但僅限於預先定義的有限數學領域;Lean 允許人類定義複雜的數學結構(如同調),但需人工証明。兩者都已開始引入機器學習來指導證明搜索,但本質不變——SMT 承諾 100% 正確(找到證明),Lean 的內核極小且可驗證。這兩種工具甚至可協作:Lean 戰術生成 SMT 公式,SMT 求解後的證明被重新編碼為 Lean 可接受的形式。
講者新近的工作 ZK πι 代表了這些技術的融合。它解決了一個實際問題:專有軟體廠商如何向用戶證明「我的系統不會洩露你的資料」而無需公開原始碼?傳統方案要求開放源碼進行形式驗證;ZK πι 的方案是零知識證明一個 Lean 定理——定理敘述(如「系統不向第三方伺服器發送使用者資料」)保持可見供審查,但完整的 Lean 證明被隱藏。這需要 Mirage Plus 這樣的新證明系統,能高效地將依賴型檢查編碼為互動式電路。ZK πι 生成的証明僅 200 字節,相比數 MB 的完整 Lean 證明實現了顯著的簡潔性。
然而,形式驗證也面臨「安全劇場」風險。即便證明過程無懈可擊,虛假或不完整的定理同樣能被「證明」——例如,定理只指定四台伺服器的行為卻對第五台隱瞞。解決方案不是加密定理本身(ZK πι 正是因此而可見定理),而是警惕规范的完整性。這提醒我們:形式驗證解放了開發者對代碼的檢查負擔,但將責任轉移到對定理正確性的思考——這同樣不容懈怠。
#
關鍵時刻
Pipeline v2帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。
事實查核
Pipeline v2說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。


