ZKP学习笔记
ZK-Learning MOOC课程笔记
Lecture 10: Recursive SNARKs, Aggregation and Accumulation (Dan Boneh)
10.3 Efficient Recursion via Statement Folding: Nova, Supernova, and generalizations
-
The difficulty with full recursion
- Prover P needs to build a proof for a circuit C that runs the entire verification algorithm
V
(
v
k
,
x
,
π
)
V(vk, x, \pi)
V(vk,x,π).
- Expensive: V needs to verify eval. proofs for a poly. commitment
- Halo: takes eval proof verification out of C -> simpler C
- Nova: takes (almost) all verification checks out of C -> even simpler C
- Expensive: V needs to verify eval. proofs for a poly. commitment
- Prover P needs to build a proof for a circuit C that runs the entire verification algorithm
V
(
v
k
,
x
,
π
)
V(vk, x, \pi)
V(vk,x,π).
-
A folding scheme: compress two instances into one
- To make Folding Prover non-interactive
- To make Folding Prover non-interactive
-
A folding scheme for R1CS
-
Recall: circuit to R1CS
-
A folding scheme: compress two instances into one
-
-
relaxed R1CS
-
Folding the two relaxed R1CS instances into one
- Correctness
- Correctness
-
Not good enough
-
Recall: homomorphic commitment scheme
- Folding scheme for committed relaxed R1CS
- Putting folding to use
- build an efficient IVC
- build an efficient IVC
-
The key point
-
Unfortunately … not so simple
-
Prover’s work at each step
-
Supernova
-
Generalizations: Sangria[https://geometry.xyz/notebook/sangria-a-folding-scheme-for-plonk]