返回 Expert 笔记
Expert Day 222

Week 33 复习 — ZK 理论整合

整合 Day 209-221 全部 ZK 理论;建立从定义到前沿系统的完整知识网

2026-12-09
Phase 4 - ZK基础理论 (Day 209-222)
ZKReview整合理论核心

日期: 2026-12-09 方向: 零知识证明 / ZK理论 阶段: Phase 4 - ZK基础理论 (Day 209-222) 标签: #ZK #Review #整合 #理论核心


今日目标

类型内容
学习整合 Day 209-221 全部 ZK 理论;建立从定义到前沿系统的完整知识网
实操自检 50 题;mind map;面试 30 题速答
产出zk_theory.md — 一站式 ZK 理论手册

一、14 天知识地图

┌──────────────────────────────────────────────────────────────┐
│              Phase 4 ZK基础理论 (Day 209-222)                │
└──────────────────────────────────────────────────────────────┘

   209  ZK 定义 (Completeness / Soundness / ZK / 模拟器)
        │
   210  Σ-协议 (Schnorr ID, special soundness, HVZK)
        │
   211  Fiat-Shamir (交互→非交互, Random Oracle Model)
        │
   ┌────┴─────────────────────────────────────────────────┐
   │                                                       │
   特殊语言 (DL)                              通用 NP 语言
   Schnorr signature, ring sig                    │
                                                  ▼
                                        212  电路化 (R1CS, AIR)
                                                  │
                                        213  QAP (Lagrange 插值)
                                                  │
                                        214  Groth16 (3 group elt)
                                                  │
                                        215  Week 32 复习 (SNARK basics)
                                                  │
                              ┌───────────────────┼─────────────────────┐
                              │                   │                     │
                        216 PlonK             217 Halo2              218 STARK
                        (univ setup,          (no setup,             (transparent,
                         custom gates)         IPA, recursion)        post-Q, FRI)
                              │                   │                     │
                              └───────────────────┼─────────────────────┘
                                                  │
                                        219  SNARK vs STARK 全对比
                                                  │
                                        220  PIOP / Sumcheck (理论核心)
                                                  │
                                        221  Recursion (Halo / Nova / Mina)
                                                  │
                                        222  Week 33 复习 (本文)

二、核心概念矩阵

2.1 ZK 三性质

性质形式化工具
Completeness$x \in L \Rightarrow \Pr[V=1] \geq 1-\text{negl}$协议正确性证明
Soundness$x \notin L \Rightarrow \Pr[V=1] \leq \text{negl}$Schwartz-Zippel, list decoding
Zero-Knowledge$\exists$ sim s.t. sim ≈ real viewrewinding, programming RO/CRS
Knowledge soundextractor outputs $w$special soundness, KEA

2.2 协议族

类别代表输出形式
Σ-protocolSchnorr, Chaum-Pedersen3-round, public coin
NIZK (FS)Schnorr signature, BBS+non-interactive
SNARKGroth16, PlonKsuccinct (KB), pairing
STARKStarkNet, Risc Zeroscalable, hash-only
RecursiveNova, Halofolded / amortized

三、关键数学工具

工具用途出现于
Lagrange interpolationR1CS → QAPDay 213
Schwartz-Zippelpoly identity testDay 213, 220
Bilinear pairingKZG, Groth16 verifyDay 214, 216
FFT / NTTLagrange / FRI 加速Day 213, 218
Reed-Solomon codelow-degree testDay 218
Merkle treehash-based commitmentDay 218
Sumcheckmultivariate poly sumDay 220
Cycle of curvesrecursion native arithDay 217, 221
Multilinear extensionhypercube polyDay 220
Pedersen commitmentbinding, hidingDay 221 (Nova)

四、SNARK / STARK 系统比较表(决策卡)

系统SetupProofVerifyFieldQuantumRecurEVM gas
Groth16per-circuit MPC192 B3 msBN254/BLS200K
PlonKuniversal MPC~500 B10 msBN254/BLS300K
Halo2none3-10 KB50-200 msPasta/BN254600K
STARKnone50-200 KB5-50 msGoldilocks400K-5M
Bulletproofsnone$\log N$$O(N)$secp/BN不实用
Novanone$\sim$ 10 KB$O(N)$ + SpartanPasta极易NA
Spartannone (transparent PCS)KB$O(\log N)$BN254NA

五、协议-应用映射

协议真实部署
Schnorr signatureBitcoin Taproot, Ed25519
Groth16Tornado Cash, Filecoin, Zcash Sapling, Aztec V1, Sui zkLogin
PlonKAztec Connect, Polygon zkEVM, Mina (variant)
Halo2zkSync Era (boojum), Scroll, Privacy Pools, Axiom
STARKStarkNet, Polygon Miden, Risc Zero, dYdX (StarkEx)
BulletproofsMonero (range proofs), Lightning
NovaLasso/Jolt zkVM (research)

六、面试 30 题速答

1. ZK 三大性质? 完备性、可靠性、零知识(模拟器存在)。

2. Soundness vs Knowledge soundness? 前者证 $x\in L$;后者保证 prover 知道 witness。

3. 为什么 SNARK 是 argument 而非 proof? Succinct + ZK 信息论上不可能(Gentry-Wichs),需要密码假设 → 仅对 PPT 对手安全。

4. Σ-协议 3 性质? Completeness, special soundness, special HVZK。

5. Schnorr 如何防 nonce 重用? 确定性 nonce $r = H(\text{sk}, m)$(RFC 6979 / EdDSA 风格)。

6. Fiat-Shamir 如何转非交互? $c = H(\text{statement} | \text{commitment})$ 替代 verifier 真随机。

7. Weak FS 攻击本质? 哈希漏掉 commitment / statement → 攻击者后选 commitment 反推 witness。

8. R1CS 形式? $Az \circ Bz = Cz$,每行 rank-1 quadratic constraint。

9. R1CS 和 AIR 区别? R1CS 通用电路;AIR 是 trace + transition constraints,适合 VM。

10. QAP 关键关系? $A(X)B(X) - C(X) = H(X) Z(X)$,$Z(X) = \prod (X - r_i)$。

11. Groth16 proof 大小?为什么? 192 bytes (3 group elements)。$\alpha\beta\gamma\delta$ 分母 absorb 所有 terms 进 $C$。

12. Trusted setup 风险? Toxic waste 泄露 → soundness 完全 broken。MPC ceremony 解决。

13. PlonK 创新点? Universal SRS + custom gates + plookup + permutation argument。

14. Halo2 优势? 无 setup + recursion-friendly (cycle of curves + IPA accumulation)。

15. STARK 全称含义? Scalable Transparent Argument of Knowledge。

16. STARK 后量子安全? 是,仅基于 hash collision-resistance,Grover 给 $\sqrt{N}$ speedup。

17. FRI 协议核心? deg-$k$ poly fold to deg-$k/2$,$\log k$ 轮 + query phase 检查 fold consistency。

18. KZG 与 IPA 区别? KZG: pairing-based, $O(1)$ verify, 需 trusted setup。IPA: DL only, no setup, $O(\log N)$ proof, $O(N)$ verify。

19. Schwartz-Zippel 用途? 非零 deg-$d$ poly 在随机点 = 0 概率 ≤ $d/|F|$ → 多项式 identity 测试。

20. Sumcheck 协议复杂度? prover $O(2^v \cdot d)$, verifier $O(vd) + 1$ oracle query。

21. Multilinear extension? ${0,1}^v \to F$ 函数的 deg-1-per-var 多项式扩展,唯一存在。

22. Recursion 为什么需要 cycle of curves? EC ops in scalar field 必须用 base field arithmetic → cycle 让两曲线交替,每层 native。

23. Nova folding scheme? fold 两个 relaxed R1CS instances $(z, u, E)$ 成新 instance,保持 satisfiability。

24. Mina 区块链特点? 全 recursion,链 size 常数 22 KB。

25. zk-rollup 用什么 SNARK? zkSync (Halo2/boojum), Scroll (Halo2), Polygon zkEVM (PlonK), StarkNet (STARK)。

26. EVM-friendly hash? Poseidon, Reinforced Concrete, MiMC(设计为 R1CS 友好)。

27. plookup 用途? $O(1)$ lookup 表(XOR, range, SBox),降 SHA256 电路 5-10x。

28. Groth16 的 verify gas (BN254)? ~200K gas (3 pairings precompile alt_bn128)。

29. STARK proof on-chain 为什么 5M gas? EVM 无 STARK precompile,纯 Solidity verify Merkle paths + FRI checks。

30. SNARK 选型流程?

  1. 是否 EVM 部署?2. proof size 限制?3. trusted setup OK 否?4. recursion 需求?5. 量子威胁?6. 团队工具熟悉度。

七、术语速查表

术语一句话
ZK不泄露 witness 的证明
NIZK非交互式 ZK
SNARKSuccinct NIZK Argument of Knowledge
STARKScalable Transparent ARgument of Knowledge
CRS公共参考字符串(trusted setup output)
MPC ceremony多方协作生成 CRS
Toxic wastesetup 中应销毁的随机性
QAPQuadratic Arithmetic Program
R1CSRank-1 Constraint System
AIRAlgebraic Intermediate Representation
PCSPolynomial Commitment Scheme
KZGKate-Zaverucha-Goldberg PCS
IPAInner Product Argument
FRIFast Reed-Solomon IOP
SumcheckLFKN 1992 多元 sum 协议
MLEMultilinear Extension
PIOPPolynomial IOP
GKRGoldwasser-Kalai-Rothblum 协议
IVCIncremental Verifiable Computation
PCDProof-Carrying Data
FoldingNova-style instance reduction
Cycle of curvesbase/scalar field 互换的两曲线

八、必读论文清单

论文年份链接
GMR (ZK 定义)STOC 1985foundational
GMW (NP=ZK)JACM 1991foundational
LFKN (Sumcheck)JACM 1992foundational
Schnorr IDCRYPTO 1989classic
Fiat-ShamirCRYPTO 1986classic
PinocchioIEEE S&P 2013first practical SNARK
Groth16EUROCRYPT 2016 / ePrint 2016/260must read
PlonKePrint 2019/953must read
HaloePrint 2019/1021must read
STARKePrint 2018/046must read
NovaCRYPTO 2022 / ePrint 2021/370must read
SpartanCRYPTO 2020sumcheck SNARK
HyperPlonkEUROCRYPT 2023multilinear

教材: Justin Thaler《Proofs, Arguments, and Zero-Knowledge》(免费)— ZK 现代理论标准教材。


九、自检题(50题)

基础(10)

  1. Computational vs Statistical ZK 区别?
  2. PoK 的 extractor 干什么?
  3. HVZK 与 Full ZK 区别?
  4. ROM 假设的局限?
  5. forking lemma 给什么 bound?
  6. Schnorr 抽 witness 的公式?
  7. weak FS 实战漏洞举例?
  8. R1CS 中 boolean check 怎么写?
  9. QAP 的 $H(X)$ deg?
  10. Groth16 的 $[A]_1, [B]_2, [C]_1$ 各 absorb 什么?

中级(15)

  1. PlonK 的 selector vs advice column?
  2. plookup 用途?
  3. Halo2 selector compression?
  4. cycle of curves 安全等级?
  5. STARK 的 blowup factor 选择?
  6. FRI 每轮 fold 的代数?
  7. KZG vs IPA 选择标准?
  8. Schwartz-Zippel error 算法?
  9. Multilinear extension 唯一性?
  10. Sumcheck soundness loss?
  11. GKR 与 sumcheck 关系?
  12. Spartan 与 PlonK 的优势对比?
  13. HyperPlonk 用 multilinear 的好处?
  14. Nova relaxed R1CS 形式?
  15. Halo accumulation 直觉?

高阶(15)

  1. 设计 zkRollup 选 STARK or SNARK?
  2. zk-EVM 中 trace 大小约束?
  3. recursive proof 的 verifier circuit 大小?
  4. 量子时代 SNARK 怎么办?
  5. 可信 setup ceremony 协调难点?
  6. Frozen Heart attack 修复?
  7. 后量子 SNARK 路线图?
  8. Lasso/Jolt 用 sumcheck 的优势?
  9. Nova vs HyperNova 选择?
  10. Mina 22 KB 区块链 trade-off?
  11. RISC-V zkVM 的 PIOP 选择?
  12. 链上 Groth16 verifier 优化?
  13. 多方 ZK proof aggregation?
  14. PCS 的 linear-time prover 趋势?
  15. 同态加密 + ZK 结合方向?

系统(10)

  1. Tornado Cash 选 Groth16 原因?
  2. StarkNet 选 STARK 原因?
  3. zkSync Era 选 Halo2 原因?
  4. Aztec 选 PlonK 原因?
  5. Risc Zero 选 STARK + Groth16 wrap 原因?
  6. Mina 选 PlonK + Pasta cycle 原因?
  7. Polygon zkEVM 选 PlonK + STARK 混合原因?
  8. Filecoin 选 Groth16 原因?
  9. Privacy Pools 选 Halo2 原因?
  10. Penumbra 选 Halo2 原因?

十、ZK 技能进阶路径(接 Day 222 后)

短期(Day 223-250 Phase 4 后续)

  • Circom / Halo2 实战
  • 写 zkApp(mixer, range proof, anonymous voting)
  • 链上 Groth16 verifier 部署
  • 阅读 Plonky3 / stwo 源码

中期(Phase 5)

  • 写 zkVM 的小子集(RISC-V subset → STARK)
  • 贡献 arkworks / halo2 / barretenberg
  • 设计 application-specific circuit (ZKML, zkBridge)
  • 安全审计 ZK code(under-constrained 漏洞)

长期(求职 ZK 协议工程师)

  • 攻读 ZK research(HyperPlonk / Folding 系)
  • 加入 Linea/Scroll/zkSync/Aztec/Risc Zero
  • 提案 / 参与 ZK 标准化(EIP-XXXX, ISO ZKP TC68)

十一、求职定位

你(10年金融零售 PM/BA + ZK 理论 + Web3 + 架构)的稀缺组合

┌─────────────────────────────────────────────────┐
│  目标岗位                                        │
├─────────────────────────────────────────────────┤
│  ZK Protocol Researcher (Linea/Scroll/zkSync)   │
│  ZK Product Manager (Aztec, Risc Zero)          │
│  Cryptography Lead (RWA/合规 ZK)                │
│  zkVM Architect (Polygon Miden / Risc Zero)     │
│  ZK Auditor (Trail of Bits, ZKSecurity, Veridise)│
└─────────────────────────────────────────────────┘

面试核心装备

  • 14 篇 Day 209-222 笔记(数学严格)
  • Schnorr.py / sigma.py / sumcheck.py / nova_fold.py 实战代码
  • 能 30 分钟白板推 Groth16 verify equation
  • 能解释 STARK FRI fold 数学
  • 能对比 5 个主流 ZK 系统的 trade-off

十二、ZK 学习里程碑(Phase 4 后续)

Day主题状态
209-222ZK 基础理论
223-235Circom / Halo2 实战
236-250zkML / zkBridge / Aggregation
251-270zkVM (Risc Zero / Cairo)
271-285ZK 安全审计
286-300综合作品集 + 求职

十三、明日预告

Day 223 — Circom 实战入门:写第一个 Halo2 / Circom 电路;设计 mixer 风格 nullifier 电路;运行端到端 Groth16 setup → prove → verify pipeline。