SlideShare a Scribd company logo
LatticeFold & its Applications to
Succinct Proof Systems
Dan Boneh Binyi Chen
Stanford University
(zk)SNARKs
(zk)SNARK = A succinct ZK proof showing that ∃𝒘 s.t. 𝐶(𝒙, 𝒘) = 0
𝜋
S(𝐶)→ (𝑝𝑝!, 𝑣𝑝")
P(𝑝𝑝!, 𝒙, 𝒘)
Properties:
• Completeness: honest P can compute valid 𝜋
• Knowledge soundness: malicious P* knows valid 𝒘 if it can generate valid 𝜋
• Zero knowledge: 𝜋 hide the witness 𝒘
V (𝑣𝑝!, 𝒙, 𝜋) → 0/1
E.g., SHA-3(𝒘) = 𝒙
Key requirements for 𝝅: Short (i.e. 𝜋 ≪ |𝒘|) + Fast to verify (e.g. O(log 𝐹 ) time)
Applications: Blockchain, Verifiable zkML/FHE, Fighting disinformation & more
[Xie+22, NT16, DB22, KHSS22, BBBF18, XCBFCK22……]
Challenges: Proving expensive statements (e.g., ML tasks) efficiently
Monolithic SNARKs [Bitansky-Canetti-Chiesa-Tromer12…]
Global computation
over the entire 𝑊
Proof 𝜋
Challenges for proving expensive computation:
• Expensive global computation
• Large prover memory
• Harder parallelization + less streaming-friendly
NP statement 𝑥, 𝑤 for a relation 𝑅!
Extended witness 𝑊 ∈ 𝔽"
Algebraic transform
Full computation trace
Pre-quantum Schemes:
• Groth16, Plonk [GWC19], Marlin[CHMMVW20], Bulletproof[BBBPWM18]
• HyperPlonk[CBBZ22], Spartan[Setty19], etc…
Post-quantum Schemes:
• STARK[BBHR18],Brakedown[GLSTW21],Ligero[AHIV17], Basefold[ZCF23] …
• Lattice Bulletproofs[BLNS20,ACK21], LaBRADOR[BS22] …
E.g., a block of 10K txs is valid w.r.t. ledger state update
FFTs, MSMs, etc…
Piecemeal SNARKs [Valiant08, BCTV14, BCCT12]
NP statement 𝑥, 𝑤 for a relation 𝑅!
split
SNARK Proof 𝜋#$
Ideas:
• Split the statement into multiple small chunks
• Prove chunk statements using SNARK Recursion
Problem: noticeable recursion overhead
• SNARK generation at each recursion step
• Concretely expensive SNARK verifier circuit
Pros:
• Minimal memory overhead
• Streaming/parallelization friendly
+ v
+ v
+ v
𝜋! 𝜋"
SNARK Circuit:
(1) chunk stmt 3 is correct
(2) 𝜋%, 𝜋& verify correctly
e.g., a block of 10K txs is valid w.r.t. the ledger state
𝜋!
∗ 𝜋"
∗
[Bitansky-Canetti-Chiesa-Tromer12]
e.g. Mangrove[NDCTB24], [Sou23]
chunk
stmt 1
chunk
stmt 2
chunk
stmt 3
Folding Schemes [KST21,BCLMS20,KS23,BC23]
Committed NP Relation:
𝑥, 𝑤 ∈ 𝑅
com: A commitment scheme
𝑥′ = (𝑐, 𝑥), 𝑤 ∈ 𝑅!
𝑥, 𝑤 ∈ 𝑅 ∧ (𝑐 = com 𝑤 )
if and only if
Next: We omit public input 𝑥 for notational convenience
Folding Schemes [KST21,BCLMS20,KS23,BC23]
Folding:
E.g., 𝑐% = com 𝑤% ∧ 𝜙 𝑤% = 1
Folding 𝑃'(
Folding v'( 𝚷
𝑤'(
Stmt 𝑐%, 𝑤%
𝑐%, 𝑐&
𝑐'(
Completeness: If 𝑐%, 𝑤% × 𝑐&, 𝑤& ∈ 𝑅×𝑅, then 𝑐'(, 𝑤'( ∈ 𝑅 for honest execution
Knowledge soundness: If 𝑐'( 𝑤'( ∈ 𝑅 for 𝑃∗’s output 𝑤'(, then 𝑃∗ also knows 𝑤%, 𝑤&
Reduced goal: prove 𝑐'(, 𝑤'( ∈ 𝑅
Generalization: Reduction of knowledge [Kothapalli and Parno23]
Input relation: 𝑅% Output relation: 𝑅&
𝑐*+, 𝑤*+
Goal: prove 𝑐%, 𝑤% × 𝑐&, 𝑤& ∈ 𝑅×𝑅
𝑐,-$, 𝑤,-$
𝑃$% and v$% can be made non-interactive
× 𝑐&, 𝑤&
≔ 𝑅×𝑅 ≔ 𝑅
≔ 𝑐%, 𝑤% × 𝑐&, 𝑤& ≔ (𝑐'(, 𝑤'()
SNARKs from Folding [KST21,BCLMS20,KS23,BC23]
Piecemeal SNARK:
NP statement 𝑥, 𝑤 for a relation 𝑅!
(𝑐!, 𝑤!) ∈ 𝑅"#$ (𝑐%, 𝑤%) ∈ 𝑅"#$
split
…… …… (𝑐&, 𝑤&) ∈ 𝑅"#$
(𝑐'(
)
, 𝑤'(
())
) (𝑐'(
!
, 𝑤'(
(!)
)
𝑃!" 𝑃!" … …
SNARK V checks
∈ 𝑅&'(
𝑃!" 𝑃!" 𝑃!" 𝜋 = (𝑐'(
&
, 𝑤'(
(&)
)
… …
(𝑐'(
,
, 𝑤'(
(,)
)
Is 𝑐"#
$
correct?
Fix:
• Set x = H(𝑐), H(𝑐)*!, … , H(𝑐!)) as public input
• SNARK P also sends (𝑐!, … , 𝑐))
• V checks x = H(𝑐), H(𝑐)*!, … , H(𝑐!)) and computes 𝑐$%
)
by iteratively calling folding v$% given 𝑐!, … , 𝑐)
Caveat: proof/verifier complexity linear to 𝑛
Idea: Delegate the verifier work into the folded relation
Prove a chain of computations (can extend to a tree of computations)
Similar strategies used in SNARGs for P and BARGs[Choudhuru-Jain-Jin21, Waters-Wu22]
SNARK P computes:
SNARKs from Folding [KST21,BCLMS20,KS23,BC23]
Relation 𝑅 :
(1) 𝑐+,! = com(𝑤+,!)
(2) local computation is correct
(3) Folding verifier v$% 𝑐+, 𝑐$%
(+)
, 𝑐$%
(+,!)
; 𝜋$% = 1
𝑐'(
(/0%)
+ witness 𝑤'(
(/0%)
Folding verifier 𝐯$%:
• ≈ check 𝑐$%
(+,!)
= 𝑐+ + 𝑟 ⋅ 𝑐$%
(+)
for some scalar 𝑟
• much simpler than a SNARK verifier!
v$%
𝑐$%
(+)
𝑐+
𝜋"#
Compute
𝑐+,!, 𝑤+,! ∈ 𝑅
v$%
𝑐$%
(+)
, 𝑤$%
(+)
∈ 𝑅
𝑐+, 𝑤+ ∈ 𝑅
v$%
Prev 𝑖 − 1 steps are correct
The 𝑖-th step is correct
Piecemeal SNARK: Prove a chain of computations (can extend to a tree of computations)
𝑅: an expanded relation to 𝑅&'(
Omit public input hash checks for simplicity
Folding prover 𝐏$%:
• 𝑤$%
(+,!)
= 𝑤+ + 𝑟 ⋅ 𝑤$%
(+)
: linear combination of field elems
• much faster than a SNARK prover!
Why faster than SNARK recursion?
Simpler relation 𝑅 Faster folding for relation 𝑅 than SNARK proving
A folding scheme could be more eXicient than a SNARK
Folding Schemes: State-of-the-Art
Committed NP statement 𝑐, 𝑤 ∈ 𝑅
• Instance 𝑐: a short com(𝑤) to witness 𝑤
• com is linearly-homomorphic for easy folding
State-of-the-art:
• Pedersen commitments
• Linearly-homomorphic
• Pairing-free
• No trusted setup
Security:
• Based on DLOG assumptions & not post-quantum secure
E?iciency:
• Require cycle curves
• Prover: many group-exponentiations over a large field
• Wasteful as real data units usually small (e.g. 32-bit)
• The folding verifier circuit v'(:
• Elliptic curve scalar multiplications : (
• Non-native field-op simulations : (
Alternative Option:
Recursive SNARKs from hash-based STARKs
Less e5icient: need full SNARK recursion
implement arithmetic in 𝔽/ as a circuit over 𝔽0
e.g., com 𝑎 + com 𝑏 = com(𝑎 + 𝑏)
Can we construct a folding scheme with
• Post-quantum security
• Ultra-fast prover
• Efficient verifier circuit (e.g., no need for non-native field emulation)
LatticeFold: The first lattice-based folding scheme
• Based on the Module Short-Integer-Solution (MSIS) assumption
• Competitive efficiency vs existing folding schemes
• Linear-time prover + succinct verifier circuit
• Relatively small fields (e.g., 32-bit or 64-bit)
• Native simulation of ring operations in circuits
• More friendly for applications like verifiable FHEs/MLs
Technical contribution:
New folding techniques for lattice-based commitments
Contributions
Folding for
Relation 𝑅 :
(1) 𝑐/0% = com(𝑤/0%)
(2) local computation is correct
(3) Folding verifier v'( 𝑐%, 𝑐&, 𝑐'(; 𝜋'( = 1
Commitments Opening Relation
Warmup:
Folding for Ajtai Commitment Openings
Committed NP statement 𝑐, 𝑤 ∈ 𝑅
• Instance 𝑐: a short com(𝑤) to witness 𝑤
• com is linearly-homomorphic for easy folding
𝐴 ←$ ℤ/
2×)
𝜆
𝑛
How about Ajtai binding commitments?[Ajt96,99]
𝑤 ∈ ℤ2
"
= 𝑐
Binding for “small-norm” 𝑤 (under SIS assumption)
𝑐! 𝑐"
+ = 𝐴 ×
𝑤! 𝑤"
+
= 𝐴
𝑤!
+
𝑤"
Homomorphic property: (over small-norm messages)
speed ≈ Poseidon hash over fast fields [GKRRS19]
𝑤+ ∈ (−𝛽, 𝛽) for 𝑖 ∈ [𝑛]
∈ ℤ2
3
Compact
Module-SIS
Generalization
ℤ ⇒ 𝑅 ≔ ℤ[𝑋]/(𝑋4 + 1)
ℤ2 ⇒ 𝑅2 ≔ 𝑅/𝑞𝑅
[LM’07,PR’07]
How to commit to 𝑤 w/ large norms?
Dealing with Arbitrary Witness
How to commit to an arbitrary witness 𝑤 w/ large norms?
Comm open relation:
&
𝑅IJKIL
M
≔ { 𝑐; (𝑤, ⃗
𝑣 ): (𝑐 = 𝐴 ⃗
𝑣) ∧ ( 𝑣 < 𝛽) ∧ (𝑤 = 𝐺× ⃗
𝑣)}
Gadget matrix
E.g. 𝑤% = 1, 2, 2&, … , 256% ×
⃗
𝑣%
⃗
𝑣&
.
.
.
⃗
𝑣5
Our full-fledged protocol fold a similar relation
The infinite norm of 𝑤 ∈ ℤ)
𝑤 ≔ max |𝑤+| +4!
)
Comm open relation:
𝑅IJKIL
M
≔ { 𝑐, 𝑤 ∶ 𝑐 = 𝐴𝑤 ∧ 𝑤 < 𝛽}
Next, assume that 𝑤 is always low-norm in the first place!
Folding for Ajtai Commitment Openings
Comm open relation: 𝑅IJKIL
M
Naïve approach:
𝑐%, 𝑤% ∈ 𝑅78$7*
9
𝑐&, 𝑤& ∈ 𝑅78$7*
9
𝑐'( ≔ 𝑐% + 𝑟 ⋅ 𝑐&
𝑤'( ≔ 𝑤% + 𝑟 ⋅ 𝑤&
Folding 𝑃'(
𝑟 ∈ ℤ( is a random scalar
∉ 𝑅IJKIL
M
!
Problems:
• ‖𝑤/0‖ can be larger than 𝛽 (even if 𝑟 is small)
• 𝑐/0 no longer binding after ‖𝑤/0‖ exceeds threshold
Thoughts:
Make 𝑤1 , 𝑤2 smaller
before random LinComb?
The infinite norm of 𝑤 ∈ ℤ)
𝑤 ≔ max |𝑤+| +4!
)
Can’t support many folding steps
≔ { 𝑐, 𝑤 ∶ 𝑐 = 𝐴𝑤 ∧ 𝑤 < 𝛽}
Our Strategy
Relation: 𝑅&'(&)
*
≔ { 𝑐, 𝑤 ∶ 𝑐 = 𝐴𝑤 ∧ 𝑤 < 𝛽}
𝑅78$7*
9
𝑅78$7*
9
Π
Recall our goal: reduction of knowledge Π
× 𝑅78$7*
9
Attempt:
𝑅78$7*
9
𝑅78$7*
9
Decompose 𝑤
×
𝑅78$7*
:
𝑅78$7*
:
𝑅78$7*
:
𝑅78$7*
:
×
×
× Fold 𝑅78$7*
9
Π
(𝑏 < 𝛽)
How to instantiate
Decompose and Fold?
Sequential composition:
𝑅% 𝑅& 𝑅;
Π5 Π6
𝑅% 𝑅;
Π6 ∘ Π5
Nice property of RoK! [Kothapalli and Parno23]
Roadmap
• Decomposition Protocol
• Fold Protocol
𝑅78$7*
9
𝑅78$7*
9
Decompose 𝑤
×
𝑅78$7*
:
𝑅78$7*
:
𝑅78$7*
:
𝑅78$7*
:
×
×
×
Norm Control with Decomposition
𝑐, 𝑤 ∈ 𝑅78$7*
9 Decompose
𝑅78$7*
:
𝑅78$7*
:
×
Goal:
𝑏& = 𝛽
RoK from 𝑅)*+),
-
×𝑅)*+),
-
to 𝑅)*+),
. /
is a parallel composition of the above protocol
“Write” the big vector 𝑤 using “base” 𝑏
𝑤
ℤ-coeffs
in (−𝛽, 𝛽)
𝑤!
ℤ-coeLs
in (−𝑏, 𝑏)
𝑤"
ℤ-coeLs
in (−𝑏, 𝑏)
= + 𝑏 ⋅
𝑐0, 𝑐1
𝑐0 = 𝐴𝑤0 , 𝑐1 = 𝐴𝑤1
V check:
𝑐 = 𝑐! + 𝑏 ⋅ 𝑐"
𝑤0 , 𝑤1
Decompose:
𝑃 𝑉
𝑐 = 𝐴𝑤
𝑤
𝑐 = 𝐴𝑤
𝑤 𝑤! 𝑤"
= + 𝑏 ⋅
𝐴 𝐴
𝑐 = 𝑐" + 𝑐#
𝑏 ⋅
Extract:
𝑤∗ = 𝑤0 + 𝑏 ⋅ 𝑤1
“remainder” + “quotient”
𝑐, 𝑤∗ ∈ 𝑅78$7*
9
Roadmap
• Decomposition Protocol
• Fold Protocol
𝑅78$7*
9
𝑅78$7*
9
Decompose 𝑤
×
𝑅78$7*
:
𝑅78$7*
:
𝑅78$7*
:
𝑅78$7*
:
×
×
× Fold 𝑅78$7*
9
Folding: Naïve Approach
Fold 𝑅78$7*
9
𝑅78$7*
:
𝑅78$7*
:
×
×
…
…
Goal:
Folding 𝑃'(
𝑐'( ≔ 𝑐% + 𝑟 ⋅ 𝑐&
𝑤'( ≔ 𝑤% + 𝑟 ⋅ 𝑤&
𝑟 ∈ ℤ( is a
small random scalar
Knowledge extraction:
Naïve idea:
𝑐%, 𝑤% ∈ 𝑅78$7*
:
𝑐&, 𝑤& ∈ 𝑅78$7*
:
Solve linear eqs
for 𝑤%, 𝑤&
𝑤V = 𝑤WX
Y
− 𝑤WX
Z
⋅ 𝒓𝒚 − 𝒓𝒙
]𝟏
Extracted witness:
The norm can be much larger than 𝒃!
∈ 𝑅IJKIL
M
!
Completeness ✔
𝑤WX
Z
= 𝑤_ + 𝑟Z ⋅ 𝑤V
𝑤WX
Y
= 𝑤_ + 𝑟Y ⋅ 𝑤V
Same for 𝑤_
Rewind 𝑃'(
∗
to obtain 𝑤'(
<
, 𝑤'(
=
for 𝑐'(
<
= 𝑐% + 𝑟< ⋅ 𝑐& and 𝑐'(
=
= 𝑐% + 𝑟= ⋅ 𝑐&
𝑏 ≪ 𝛽
𝑐V, 𝑤V ∉ 𝑅IJKIL
`
!
Roadmap
• Decomposition Protocol
• Fold Protocol
• Naïve extraction + argue smallness of the extracted witness
Using Range proof: witness 𝑤 ∈ −𝑏, 𝑏 "
• 𝑐′ = 𝐴𝑤a
• 𝑤a = 𝑓_, 𝑓V, … , 𝑓b has small norms
(Batched) Range proof via Sumcheck
Goal: Given input commitment 𝑐a, prove knowledge of 𝑤a = 𝑓_, 𝑓V, … , 𝑓b ∈ ℤb
• 𝑐′ = 𝐴𝑤a
• 𝑤a = 𝑓_, 𝑓V, … , 𝑓b has norm smaller than 𝑏
• Eicient (folding) verifier circuit
𝑐3 = 𝑐0 & 𝑐1 in folding
Our strategy: Combine naïve folding & extraction + Range proof protocol
(achieved by naïve folding + extraction)
𝑤3 = 𝑤0 & 𝑤1 in folding
Our solution: A range-proof protocol from Sumcheck
Review of the Sumcheck Protocol [LFKN92]
Goal: Given a “committed” 𝑚-variate poly 𝑔(𝑥%, … , 𝑥>), convince V that ∑<∈ @,% 4 𝑔 ⃗
𝑥 = 𝑠
Naïve verifier: query 𝑔 at every 𝑥 ∈ 0,1 > and check the sum Ω 2> complexity : (
Sumcheck protocol [LFKN92]
• 𝑚-round interactive protocol between P and V
• V sends a random challenge 𝑟/ ∈ 𝔽 in each round
• At the end of the protocol, V queries 𝑔 at a single random point
Sumcheck: Σ ⃗
<∈ @,% 4𝑔( ⃗
𝑥) = 𝑠
Sumcheck protocol [LFKN92]
EvalCheck: 𝑔 ⃗
𝑟%, … , ⃗
𝑟> = 𝑡′ at a random ⃗
𝑟 ∈ ℤ2
>
History: Key ingredient for proving 𝑃𝐻 ⊆ 𝐼𝑃 and inspires the proof of 𝐼𝑃 = 𝑃𝑆𝑃𝐴𝐶𝐸
𝑂 𝑚 -time verifier A reduction from
Sumcheck to Eval stmt
Step 1: Rephrase the range-proof statement as a Sumcheck statement
Step 2: Construct a folding protocol for the Sumcheck statement
Goal: Given input commitment 𝑐a, prove knowledge of 𝑤a = 𝑓_, 𝑓V, … , 𝑓b ∈ ℤb
• 𝑤a = 𝑓_, 𝑓V, … , 𝑓b has norm smaller than 𝑏
Our solution: A range-proof protocol from Sumcheck
Step 1: Reducing Range proof to Sumcheck
Range proof: Prove knowledge of a witness 𝑤C = 𝑓%, 𝑓&, … , 𝑓" ∈ ℤ" s.t.
Can extend to elements in ring
𝑅 = ℤ 𝑋 /(𝑋7 + 1)
ℎ 𝑥 ≔ 𝑥 𝑥 + 1 ⋅ 𝑥 − 1 ⋯ 𝑥 + 𝑏 − 1 𝑥 − 𝑏 − 1 over ℤ/ ≔ −
/
"
,
/
"
and 𝑞 > 2𝑏 is a prime
Embed 𝑤′ to the Boolean hypercube of
a multilinear polynomial 𝑓 𝑥!, … , 𝑥89:)
Zero-check to sum-check [CBBZ23, Setty20]
Sumcheck: prove that Σ ⃗
<∈ @,% 5678𝑔( ⃗
𝑥) = 0 where 𝑔 ⃗
𝑥 ≔ ℎ 𝑓 ⃗
𝑥 ⋅ 𝑒𝑞D( ⃗
𝑥) for a rand 𝛼 ∈ ℤ2
E,F"
𝑓! ∈ ℤ 𝑓" … … … 𝑓)*! 𝑓)
∈ −𝑏, 𝑏 ⊆ ℤ ∈ −𝑏, 𝑏 ∈ −𝑏, 𝑏 ∈ −𝑏, 𝑏
ℎ 𝑓! = 0 ℎ(𝑓") = 0 … … … ℎ 𝑓)*! = 0 ℎ 𝑓) = 0
⃗
𝑥 00 … 00 00 … 01 … … … 11 … 10 11 … 11
ℎ 𝑥 = 0 ⟺ 𝑥 ∈ −𝑏, 𝑏
𝑓 ⃗
𝑥 𝑓! 𝑓" … … … 𝑓)*! 𝑓)
ℎ(𝑓 ⃗
𝑥 ) ℎ 𝑓! = 0 ℎ(𝑓") = 0 … … … ℎ 𝑓)*! = 0 ℎ 𝑓) = 0
Step 2: Sumcheck Folding
Sumcheck: Σ ⃗
<∈ @,% 5678𝑔( ⃗
𝑥) = 0
Range proof: witness 𝑤′ = 𝑓%, 𝑓&, … , 𝑓" ∈ −𝑏, 𝑏 "
Sumcheck protocol [LFKN92]
EvalCheck: 𝑔 ⃗
𝑟 = 𝑡′ at a random ⃗
𝑟 ∈ ℤ2
E,F"
Prover time: ≈ 𝑂(𝑏𝑛)
Verifier time: 𝑂(𝑏log𝑛)
Problem: How to check 𝑓 ⃗
𝑟 = 𝑡 given the comm of 𝑓?
• Send 𝑓_, 𝑓V, … , 𝑓b to the folding verifier to check it?
Observation: EvalStmt 𝑓 ⃗
𝑟 = 𝑡 is easy to fold!
EvalCheck: 𝑓 ⃗
𝑟 = 𝑡
𝑔 ⃗
𝑥 ≔ ℎ 𝑓 ⃗
𝑥 ⋅ 𝑒𝑞;( ⃗
𝑥) Step 1 ✔
(and verifier can check 𝑔 ⃗
𝑟 = ℎ 𝑡 ⋅ 𝑒𝑞; ⃗
𝑟 = 𝑡′ itself)
𝑂(𝑛) folding verifier : (
Folding Evaluation Statements
Observation: 𝑓 ⃗
𝑟 = 𝑡 is easy to fold!
𝑓% ⃗
𝑟% =? 𝑡%
𝑓& ⃗
𝑟& =? 𝑡&
Translate to
SumChk Stmt
Multilinear extension: 𝑓 ⃗
𝑟 = Σ ⃗
<∈ @,% 5678𝑓 ⃗
𝑥 ⋅ 𝑒𝑞⃗
H( ⃗
𝑥)
SumCheck
𝑓'( ≔ 𝑓% + 𝜌 ⋅ 𝑓& for rand 𝜌
𝑓'( ⃗
𝑟I =? 𝑡I
efficiently
computable
𝑓% ⃗
𝑟I =? 𝑡I,%
𝑓& ⃗
𝑟I =? 𝑡I,&
⃗
𝑟I: sumcheck challenge
How does it help to check 𝑓 ⃗
𝑟 = 𝑡 given the comm of 𝑓?
• Fold the evaluation statement without checking!
Folding for Ajtai Commitment Openings
Solution: Expand relation 𝑅IJKIL to include the evaluation statement
(𝑐 = com 𝑓 ) ∧ (𝑓 ⃗
𝑟 = 𝑡)
Naïve Fold
+
SumCheck for
RangeProof & EvalStmt
Verifier: 𝑂(𝑏log𝑛)
𝑐" =? com6 𝑓"
∧
𝑓" ⃗
𝑟" =? 𝑡"
𝑅=>?8
6
Accumulated
statement
𝑐! =? com6 𝑓!
𝑅?@A?B
6
Online statement
𝑐$% =? comC 𝑓$%
∧
𝑓$% ⃗
𝑟D =? 𝑡D
𝑅=>?8
C
New accumulated
statement
MatMul +
RangePf +
EvalStmt
The knowledge soundness proof is more subtle than intuition
• A malicious prover can adaptively choose the output witness after seeing the challenges
• ⇒ The extracted input witnesses could depend on the sumcheck challenges
Subtleties & Optimizations
Sumcheck over Rings: [CCKP19, BCS21]
• Ajtai commitments over ring 𝑅< ≔ ℤ<[𝑋]/(𝑋=
+ 1) for concrete e;iciency
• Small-norm random folding scalar chosen from 𝑆 ⊆ 𝑅< for negligible soundness error
• Implication: Run Sumcheck over rings
Supporting Small Modulus:
• We want a small modulus 𝑞 for better efficiency
• Efficient CPU/GPU ops; no big-number arithmetics
• More efficient packing of real-world data
Folding for NP-complete relation
Relation 𝑅 :
(1) 𝑐+,! = com(𝑤+,!)
(2) local computation is correct
(3) Folding verifier v$% 𝑐!, 𝑐", 𝑐$%; 𝜋$% = 1
needs to express computation
Arithmetic over a ring → Great fit for Verifiable ML/FHE
ETiciency Estimates
Folding prover:
𝑂( 𝐶JKL )-sized Multi-Scalar-Muls
𝑅/ ≔ ℤ/[𝑋]/(𝑋EF
+ 1) ≅ 𝔽/!
!E
; 𝑞: a 64-bit prime
𝐶&'(: chunk circuit size (e.g. 2"G gates over 𝔽/!)
Norm bound: 𝛽 ≈ 2!E; Base: 𝑏 = 2
Folding verifier:
native-ops in the circuit over 𝑅2
non-native field ops in the circuit
Competitive circuit sizes
Piecemeal SNARK proof: ≈2 folding instance-witness pairs
Solution: Use a PQ-secure STARK to prove the correctness of the folding statement
< 100KB and 2ms verifier (STIR[ACFY24])
𝑂( 𝐶JKL ) multiplications over 𝑅2
Compute Ajtai commitments
LatticeFold Existing schemes
Pedersen commimtents
𝑂(𝑏 ⋅ log|𝐶JKL|) hashes and 𝑅2-ops
Sumcheck verifier ECC scalar-mul + (Sumcheck V)
speed ≈ fast hash
Can reuse fast FHE impl!
< 5KB w/ Hyperplonk+KZG[CBBZ23]
i.e., arithmetic in 𝔽/ as a circuit over 𝔽0
What if it’s still large?
E.g., splitting a stmt of size 2-)
to 2%)
chunks → 2%)
-sized chunk stmts
Summary & Open Problems
Takeaway:
• The first lattice-based folding scheme based on Ajtai commitments
• Gives memory-efficient, plausibly PQ-secure SNARKs, with fast provers
• Generic techniques for folding lattice-based commitments w/ norm constraints
Open problems:
• Compact + homomorphic lattice commitments with no norm constraints
• Folding table lookup relations (e.g., from Lasso [Setty-Thaler-Wahby23])
• Efficient implementation
Concurrent work:[Bünz-Mishra-Nguyen-Wang24]
• Purely from hashing; no lattice crypto
• General optimization techniques for piecemeal SNARKs (apply to LatticeFold)
• Larger verifier circuit; only supports bounded-depth folding (attack exists)
Thank you!
https://eprint.iacr.org/2024/257.pdf
Expecting updates soon!

More Related Content

PDF
Ic 封裝新技術發展趨勢
Kent Yang
 
PDF
DesignCon 2019 112-Gbps Electrical Interfaces: An OIF Update on CEI-112G
Leah Wilkinson
 
DOC
Risk assessment template music studio
am05030056
 
PPTX
Multi mode multi corner (mmmc)
shaik sharief
 
PDF
A 45Gb/s PAM-4 Transmitter Delivering 1.3Vppd Output Swing with 1V supply in ...
aiclab
 
PPTX
Vlsi Synthesis
SIVA NAGENDRA REDDY
 
PDF
【修士論文紹介】ソーシャルメディアからの作用を考慮した金融市場の観測・予測モデルの提案
Koichiro tamura
 
PDF
Growth of advanced packaging - What make it so special? Presentation by Rozal...
Yole Developpement
 
Ic 封裝新技術發展趨勢
Kent Yang
 
DesignCon 2019 112-Gbps Electrical Interfaces: An OIF Update on CEI-112G
Leah Wilkinson
 
Risk assessment template music studio
am05030056
 
Multi mode multi corner (mmmc)
shaik sharief
 
A 45Gb/s PAM-4 Transmitter Delivering 1.3Vppd Output Swing with 1V supply in ...
aiclab
 
Vlsi Synthesis
SIVA NAGENDRA REDDY
 
【修士論文紹介】ソーシャルメディアからの作用を考慮した金融市場の観測・予測モデルの提案
Koichiro tamura
 
Growth of advanced packaging - What make it so special? Presentation by Rozal...
Yole Developpement
 

What's hot (11)

PDF
Testing ddr memory with ict
Interlatin
 
PDF
ぼくのかんがえたさいきょうのでんそくかんきょう
とうほぐモバイルミーティング
 
PDF
株式会社フィックスターズの会社説明資料(抜粋)
Fixstars Corporation
 
PDF
確率微分方程式の基礎
HanpenRobot
 
PDF
System-in-Package Technology and Market Trends 2021 - Sample
Yole Developpement
 
PDF
Silec Popy C33-226 MV Cables (12kV 20kV 24kV)
Thorne & Derrick International
 
PDF
Cadence P-cell tutorial
Michael Lee
 
PPTX
A3C解説
harmonylab
 
PDF
2章グラフ理論スピード入門
Teruo Kawasaki
 
PPSX
VLSI Technology Evolution
Dr. A. B. Shinde
 
PDF
AI Platform with Kubernetes and GPU in Private Cloud #GTC21
Yahoo!デベロッパーネットワーク
 
Testing ddr memory with ict
Interlatin
 
ぼくのかんがえたさいきょうのでんそくかんきょう
とうほぐモバイルミーティング
 
株式会社フィックスターズの会社説明資料(抜粋)
Fixstars Corporation
 
確率微分方程式の基礎
HanpenRobot
 
System-in-Package Technology and Market Trends 2021 - Sample
Yole Developpement
 
Silec Popy C33-226 MV Cables (12kV 20kV 24kV)
Thorne & Derrick International
 
Cadence P-cell tutorial
Michael Lee
 
A3C解説
harmonylab
 
2章グラフ理論スピード入門
Teruo Kawasaki
 
VLSI Technology Evolution
Dr. A. B. Shinde
 
AI Platform with Kubernetes and GPU in Private Cloud #GTC21
Yahoo!デベロッパーネットワーク
 
Ad

Similar to zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Applications to Succinct Proof Systems (Binyi Chen) (20)

PPTX
Alternative cryptocurrencies
vpnmentor
 
PPTX
Alternative cryptocurrencies
vpnmentor
 
PDF
A compact zero knowledge proof to restrict message space in homomorphic encry...
MITSUNARI Shigeo
 
PDF
ZK Study Club: Supernova (Srinath Setty - MS Research)
Alex Pruden
 
PPTX
Efficient anomaly detection via matrix sketching
Hsing-chuan Hsieh
 
PDF
C Programming Interview Questions
Gradeup
 
PPT
NIPS2007: structured prediction
zukun
 
PPTX
Asymptotics 140510003721-phpapp02
mansab MIRZA
 
PPTX
Asymptotic Notations.pptx
SunilWork1
 
PPTX
Icra 17
Ganesh P Kumar
 
PPTX
Unit-1 Basic Concept of Algorithm.pptx
ssuser01e301
 
PDF
ZK Study Club: Sumcheck Arguments and Their Applications
Alex Pruden
 
PPTX
Introduction of Quantum Annealing and D-Wave Machines
Arithmer Inc.
 
PDF
Дмитрий Селиванов, OK.RU. Finding Similar Items in high-dimensional spaces: L...
Mail.ru Group
 
PDF
Finding similar items in high dimensional spaces locality sensitive hashing
Dmitriy Selivanov
 
PDF
c++ Data Types and Selection
Ahmed Nobi
 
PDF
Paper Study: Melding the data decision pipeline
ChenYiHuang5
 
PPTX
streamingalgo88585858585858585pppppp.pptx
GopiNathVelivela
 
PPTX
Lash
Hanjun Goo
 
PPTX
Lecture 8 about data mining and how to use it.pptx
HedraAtif
 
Alternative cryptocurrencies
vpnmentor
 
Alternative cryptocurrencies
vpnmentor
 
A compact zero knowledge proof to restrict message space in homomorphic encry...
MITSUNARI Shigeo
 
ZK Study Club: Supernova (Srinath Setty - MS Research)
Alex Pruden
 
Efficient anomaly detection via matrix sketching
Hsing-chuan Hsieh
 
C Programming Interview Questions
Gradeup
 
NIPS2007: structured prediction
zukun
 
Asymptotics 140510003721-phpapp02
mansab MIRZA
 
Asymptotic Notations.pptx
SunilWork1
 
Unit-1 Basic Concept of Algorithm.pptx
ssuser01e301
 
ZK Study Club: Sumcheck Arguments and Their Applications
Alex Pruden
 
Introduction of Quantum Annealing and D-Wave Machines
Arithmer Inc.
 
Дмитрий Селиванов, OK.RU. Finding Similar Items in high-dimensional spaces: L...
Mail.ru Group
 
Finding similar items in high dimensional spaces locality sensitive hashing
Dmitriy Selivanov
 
c++ Data Types and Selection
Ahmed Nobi
 
Paper Study: Melding the data decision pipeline
ChenYiHuang5
 
streamingalgo88585858585858585pppppp.pptx
GopiNathVelivela
 
Lecture 8 about data mining and how to use it.pptx
HedraAtif
 
Ad

More from Alex Pruden (15)

PDF
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 
PPTX
zkStudyClub - zkSaaS (Sruthi Sekar, UCB)
Alex Pruden
 
PDF
zkStudyClub - Lasso/Jolt (Justin Thaler, GWU/a16z)
Alex Pruden
 
PDF
zkStudyClub - Improving performance of non-native arithmetic in SNARKs (Ivo K...
Alex Pruden
 
PDF
zkStudyClub - ProtoStar (Binyi Chen & Benedikt Bünz, Espresso Systems)
Alex Pruden
 
PDF
zkStudyClub - cqlin: Efficient linear operations on KZG commitments
Alex Pruden
 
PDF
Eos - Efficient Private Delegation of zkSNARK provers
Alex Pruden
 
PDF
zkStudyClub: HyperPlonk (Binyi Chen, Benedikt Bünz)
Alex Pruden
 
PDF
Caulk: zkStudyClub: Caulk - Lookup Arguments in Sublinear Time (A. Zapico)
Alex Pruden
 
PDF
zkStudyClub: Zero-Knowledge Proofs Security, in Practice [JP Aumasson, Taurus]
Alex Pruden
 
PDF
zkStudyClub: PLONKUP & Reinforced Concrete [Luke Pearson, Joshua Fitzgerald, ...
Alex Pruden
 
PDF
zkStudy Club: Subquadratic SNARGs in the Random Oracle Model
Alex Pruden
 
PDF
Ecfft zk studyclub 9.9
Alex Pruden
 
PDF
Quarks zk study-club
Alex Pruden
 
PDF
zkStudyClub: CirC and Compiling Programs to Circuits
Alex Pruden
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 
zkStudyClub - zkSaaS (Sruthi Sekar, UCB)
Alex Pruden
 
zkStudyClub - Lasso/Jolt (Justin Thaler, GWU/a16z)
Alex Pruden
 
zkStudyClub - Improving performance of non-native arithmetic in SNARKs (Ivo K...
Alex Pruden
 
zkStudyClub - ProtoStar (Binyi Chen & Benedikt Bünz, Espresso Systems)
Alex Pruden
 
zkStudyClub - cqlin: Efficient linear operations on KZG commitments
Alex Pruden
 
Eos - Efficient Private Delegation of zkSNARK provers
Alex Pruden
 
zkStudyClub: HyperPlonk (Binyi Chen, Benedikt Bünz)
Alex Pruden
 
Caulk: zkStudyClub: Caulk - Lookup Arguments in Sublinear Time (A. Zapico)
Alex Pruden
 
zkStudyClub: Zero-Knowledge Proofs Security, in Practice [JP Aumasson, Taurus]
Alex Pruden
 
zkStudyClub: PLONKUP & Reinforced Concrete [Luke Pearson, Joshua Fitzgerald, ...
Alex Pruden
 
zkStudy Club: Subquadratic SNARGs in the Random Oracle Model
Alex Pruden
 
Ecfft zk studyclub 9.9
Alex Pruden
 
Quarks zk study-club
Alex Pruden
 
zkStudyClub: CirC and Compiling Programs to Circuits
Alex Pruden
 

Recently uploaded (20)

PPTX
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
PDF
Doc9.....................................
SofiaCollazos
 
PDF
The Future of Artificial Intelligence (AI)
Mukul
 
PDF
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
PPTX
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
PDF
A Day in the Life of Location Data - Turning Where into How.pdf
Precisely
 
PDF
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
PDF
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
PDF
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
PDF
REPORT: Heating appliances market in Poland 2024
SPIUG
 
PDF
The Evolution of KM Roles (Presented at Knowledge Summit Dublin 2025)
Enterprise Knowledge
 
PPTX
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
PDF
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
PDF
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
PDF
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
PDF
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
PPTX
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
PDF
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
PDF
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
PDF
BLW VOCATIONAL TRAINING SUMMER INTERNSHIP REPORT
codernjn73
 
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
Doc9.....................................
SofiaCollazos
 
The Future of Artificial Intelligence (AI)
Mukul
 
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
A Day in the Life of Location Data - Turning Where into How.pdf
Precisely
 
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
REPORT: Heating appliances market in Poland 2024
SPIUG
 
The Evolution of KM Roles (Presented at Knowledge Summit Dublin 2025)
Enterprise Knowledge
 
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
BLW VOCATIONAL TRAINING SUMMER INTERNSHIP REPORT
codernjn73
 

zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Applications to Succinct Proof Systems (Binyi Chen)

  • 1. LatticeFold & its Applications to Succinct Proof Systems Dan Boneh Binyi Chen Stanford University
  • 2. (zk)SNARKs (zk)SNARK = A succinct ZK proof showing that ∃𝒘 s.t. 𝐶(𝒙, 𝒘) = 0 𝜋 S(𝐶)→ (𝑝𝑝!, 𝑣𝑝") P(𝑝𝑝!, 𝒙, 𝒘) Properties: • Completeness: honest P can compute valid 𝜋 • Knowledge soundness: malicious P* knows valid 𝒘 if it can generate valid 𝜋 • Zero knowledge: 𝜋 hide the witness 𝒘 V (𝑣𝑝!, 𝒙, 𝜋) → 0/1 E.g., SHA-3(𝒘) = 𝒙 Key requirements for 𝝅: Short (i.e. 𝜋 ≪ |𝒘|) + Fast to verify (e.g. O(log 𝐹 ) time) Applications: Blockchain, Verifiable zkML/FHE, Fighting disinformation & more [Xie+22, NT16, DB22, KHSS22, BBBF18, XCBFCK22……] Challenges: Proving expensive statements (e.g., ML tasks) efficiently
  • 3. Monolithic SNARKs [Bitansky-Canetti-Chiesa-Tromer12…] Global computation over the entire 𝑊 Proof 𝜋 Challenges for proving expensive computation: • Expensive global computation • Large prover memory • Harder parallelization + less streaming-friendly NP statement 𝑥, 𝑤 for a relation 𝑅! Extended witness 𝑊 ∈ 𝔽" Algebraic transform Full computation trace Pre-quantum Schemes: • Groth16, Plonk [GWC19], Marlin[CHMMVW20], Bulletproof[BBBPWM18] • HyperPlonk[CBBZ22], Spartan[Setty19], etc… Post-quantum Schemes: • STARK[BBHR18],Brakedown[GLSTW21],Ligero[AHIV17], Basefold[ZCF23] … • Lattice Bulletproofs[BLNS20,ACK21], LaBRADOR[BS22] … E.g., a block of 10K txs is valid w.r.t. ledger state update FFTs, MSMs, etc…
  • 4. Piecemeal SNARKs [Valiant08, BCTV14, BCCT12] NP statement 𝑥, 𝑤 for a relation 𝑅! split SNARK Proof 𝜋#$ Ideas: • Split the statement into multiple small chunks • Prove chunk statements using SNARK Recursion Problem: noticeable recursion overhead • SNARK generation at each recursion step • Concretely expensive SNARK verifier circuit Pros: • Minimal memory overhead • Streaming/parallelization friendly + v + v + v 𝜋! 𝜋" SNARK Circuit: (1) chunk stmt 3 is correct (2) 𝜋%, 𝜋& verify correctly e.g., a block of 10K txs is valid w.r.t. the ledger state 𝜋! ∗ 𝜋" ∗ [Bitansky-Canetti-Chiesa-Tromer12] e.g. Mangrove[NDCTB24], [Sou23] chunk stmt 1 chunk stmt 2 chunk stmt 3
  • 5. Folding Schemes [KST21,BCLMS20,KS23,BC23] Committed NP Relation: 𝑥, 𝑤 ∈ 𝑅 com: A commitment scheme 𝑥′ = (𝑐, 𝑥), 𝑤 ∈ 𝑅! 𝑥, 𝑤 ∈ 𝑅 ∧ (𝑐 = com 𝑤 ) if and only if Next: We omit public input 𝑥 for notational convenience
  • 6. Folding Schemes [KST21,BCLMS20,KS23,BC23] Folding: E.g., 𝑐% = com 𝑤% ∧ 𝜙 𝑤% = 1 Folding 𝑃'( Folding v'( 𝚷 𝑤'( Stmt 𝑐%, 𝑤% 𝑐%, 𝑐& 𝑐'( Completeness: If 𝑐%, 𝑤% × 𝑐&, 𝑤& ∈ 𝑅×𝑅, then 𝑐'(, 𝑤'( ∈ 𝑅 for honest execution Knowledge soundness: If 𝑐'( 𝑤'( ∈ 𝑅 for 𝑃∗’s output 𝑤'(, then 𝑃∗ also knows 𝑤%, 𝑤& Reduced goal: prove 𝑐'(, 𝑤'( ∈ 𝑅 Generalization: Reduction of knowledge [Kothapalli and Parno23] Input relation: 𝑅% Output relation: 𝑅& 𝑐*+, 𝑤*+ Goal: prove 𝑐%, 𝑤% × 𝑐&, 𝑤& ∈ 𝑅×𝑅 𝑐,-$, 𝑤,-$ 𝑃$% and v$% can be made non-interactive × 𝑐&, 𝑤& ≔ 𝑅×𝑅 ≔ 𝑅 ≔ 𝑐%, 𝑤% × 𝑐&, 𝑤& ≔ (𝑐'(, 𝑤'()
  • 7. SNARKs from Folding [KST21,BCLMS20,KS23,BC23] Piecemeal SNARK: NP statement 𝑥, 𝑤 for a relation 𝑅! (𝑐!, 𝑤!) ∈ 𝑅"#$ (𝑐%, 𝑤%) ∈ 𝑅"#$ split …… …… (𝑐&, 𝑤&) ∈ 𝑅"#$ (𝑐'( ) , 𝑤'( ()) ) (𝑐'( ! , 𝑤'( (!) ) 𝑃!" 𝑃!" … … SNARK V checks ∈ 𝑅&'( 𝑃!" 𝑃!" 𝑃!" 𝜋 = (𝑐'( & , 𝑤'( (&) ) … … (𝑐'( , , 𝑤'( (,) ) Is 𝑐"# $ correct? Fix: • Set x = H(𝑐), H(𝑐)*!, … , H(𝑐!)) as public input • SNARK P also sends (𝑐!, … , 𝑐)) • V checks x = H(𝑐), H(𝑐)*!, … , H(𝑐!)) and computes 𝑐$% ) by iteratively calling folding v$% given 𝑐!, … , 𝑐) Caveat: proof/verifier complexity linear to 𝑛 Idea: Delegate the verifier work into the folded relation Prove a chain of computations (can extend to a tree of computations) Similar strategies used in SNARGs for P and BARGs[Choudhuru-Jain-Jin21, Waters-Wu22] SNARK P computes:
  • 8. SNARKs from Folding [KST21,BCLMS20,KS23,BC23] Relation 𝑅 : (1) 𝑐+,! = com(𝑤+,!) (2) local computation is correct (3) Folding verifier v$% 𝑐+, 𝑐$% (+) , 𝑐$% (+,!) ; 𝜋$% = 1 𝑐'( (/0%) + witness 𝑤'( (/0%) Folding verifier 𝐯$%: • ≈ check 𝑐$% (+,!) = 𝑐+ + 𝑟 ⋅ 𝑐$% (+) for some scalar 𝑟 • much simpler than a SNARK verifier! v$% 𝑐$% (+) 𝑐+ 𝜋"# Compute 𝑐+,!, 𝑤+,! ∈ 𝑅 v$% 𝑐$% (+) , 𝑤$% (+) ∈ 𝑅 𝑐+, 𝑤+ ∈ 𝑅 v$% Prev 𝑖 − 1 steps are correct The 𝑖-th step is correct Piecemeal SNARK: Prove a chain of computations (can extend to a tree of computations) 𝑅: an expanded relation to 𝑅&'( Omit public input hash checks for simplicity Folding prover 𝐏$%: • 𝑤$% (+,!) = 𝑤+ + 𝑟 ⋅ 𝑤$% (+) : linear combination of field elems • much faster than a SNARK prover! Why faster than SNARK recursion? Simpler relation 𝑅 Faster folding for relation 𝑅 than SNARK proving A folding scheme could be more eXicient than a SNARK
  • 9. Folding Schemes: State-of-the-Art Committed NP statement 𝑐, 𝑤 ∈ 𝑅 • Instance 𝑐: a short com(𝑤) to witness 𝑤 • com is linearly-homomorphic for easy folding State-of-the-art: • Pedersen commitments • Linearly-homomorphic • Pairing-free • No trusted setup Security: • Based on DLOG assumptions & not post-quantum secure E?iciency: • Require cycle curves • Prover: many group-exponentiations over a large field • Wasteful as real data units usually small (e.g. 32-bit) • The folding verifier circuit v'(: • Elliptic curve scalar multiplications : ( • Non-native field-op simulations : ( Alternative Option: Recursive SNARKs from hash-based STARKs Less e5icient: need full SNARK recursion implement arithmetic in 𝔽/ as a circuit over 𝔽0 e.g., com 𝑎 + com 𝑏 = com(𝑎 + 𝑏)
  • 10. Can we construct a folding scheme with • Post-quantum security • Ultra-fast prover • Efficient verifier circuit (e.g., no need for non-native field emulation)
  • 11. LatticeFold: The first lattice-based folding scheme • Based on the Module Short-Integer-Solution (MSIS) assumption • Competitive efficiency vs existing folding schemes • Linear-time prover + succinct verifier circuit • Relatively small fields (e.g., 32-bit or 64-bit) • Native simulation of ring operations in circuits • More friendly for applications like verifiable FHEs/MLs Technical contribution: New folding techniques for lattice-based commitments Contributions
  • 12. Folding for Relation 𝑅 : (1) 𝑐/0% = com(𝑤/0%) (2) local computation is correct (3) Folding verifier v'( 𝑐%, 𝑐&, 𝑐'(; 𝜋'( = 1 Commitments Opening Relation Warmup:
  • 13. Folding for Ajtai Commitment Openings Committed NP statement 𝑐, 𝑤 ∈ 𝑅 • Instance 𝑐: a short com(𝑤) to witness 𝑤 • com is linearly-homomorphic for easy folding 𝐴 ←$ ℤ/ 2×) 𝜆 𝑛 How about Ajtai binding commitments?[Ajt96,99] 𝑤 ∈ ℤ2 " = 𝑐 Binding for “small-norm” 𝑤 (under SIS assumption) 𝑐! 𝑐" + = 𝐴 × 𝑤! 𝑤" + = 𝐴 𝑤! + 𝑤" Homomorphic property: (over small-norm messages) speed ≈ Poseidon hash over fast fields [GKRRS19] 𝑤+ ∈ (−𝛽, 𝛽) for 𝑖 ∈ [𝑛] ∈ ℤ2 3 Compact Module-SIS Generalization ℤ ⇒ 𝑅 ≔ ℤ[𝑋]/(𝑋4 + 1) ℤ2 ⇒ 𝑅2 ≔ 𝑅/𝑞𝑅 [LM’07,PR’07] How to commit to 𝑤 w/ large norms?
  • 14. Dealing with Arbitrary Witness How to commit to an arbitrary witness 𝑤 w/ large norms? Comm open relation: & 𝑅IJKIL M ≔ { 𝑐; (𝑤, ⃗ 𝑣 ): (𝑐 = 𝐴 ⃗ 𝑣) ∧ ( 𝑣 < 𝛽) ∧ (𝑤 = 𝐺× ⃗ 𝑣)} Gadget matrix E.g. 𝑤% = 1, 2, 2&, … , 256% × ⃗ 𝑣% ⃗ 𝑣& . . . ⃗ 𝑣5 Our full-fledged protocol fold a similar relation The infinite norm of 𝑤 ∈ ℤ) 𝑤 ≔ max |𝑤+| +4! ) Comm open relation: 𝑅IJKIL M ≔ { 𝑐, 𝑤 ∶ 𝑐 = 𝐴𝑤 ∧ 𝑤 < 𝛽} Next, assume that 𝑤 is always low-norm in the first place!
  • 15. Folding for Ajtai Commitment Openings Comm open relation: 𝑅IJKIL M Naïve approach: 𝑐%, 𝑤% ∈ 𝑅78$7* 9 𝑐&, 𝑤& ∈ 𝑅78$7* 9 𝑐'( ≔ 𝑐% + 𝑟 ⋅ 𝑐& 𝑤'( ≔ 𝑤% + 𝑟 ⋅ 𝑤& Folding 𝑃'( 𝑟 ∈ ℤ( is a random scalar ∉ 𝑅IJKIL M ! Problems: • ‖𝑤/0‖ can be larger than 𝛽 (even if 𝑟 is small) • 𝑐/0 no longer binding after ‖𝑤/0‖ exceeds threshold Thoughts: Make 𝑤1 , 𝑤2 smaller before random LinComb? The infinite norm of 𝑤 ∈ ℤ) 𝑤 ≔ max |𝑤+| +4! ) Can’t support many folding steps ≔ { 𝑐, 𝑤 ∶ 𝑐 = 𝐴𝑤 ∧ 𝑤 < 𝛽}
  • 16. Our Strategy Relation: 𝑅&'(&) * ≔ { 𝑐, 𝑤 ∶ 𝑐 = 𝐴𝑤 ∧ 𝑤 < 𝛽} 𝑅78$7* 9 𝑅78$7* 9 Π Recall our goal: reduction of knowledge Π × 𝑅78$7* 9 Attempt: 𝑅78$7* 9 𝑅78$7* 9 Decompose 𝑤 × 𝑅78$7* : 𝑅78$7* : 𝑅78$7* : 𝑅78$7* : × × × Fold 𝑅78$7* 9 Π (𝑏 < 𝛽) How to instantiate Decompose and Fold? Sequential composition: 𝑅% 𝑅& 𝑅; Π5 Π6 𝑅% 𝑅; Π6 ∘ Π5 Nice property of RoK! [Kothapalli and Parno23]
  • 17. Roadmap • Decomposition Protocol • Fold Protocol 𝑅78$7* 9 𝑅78$7* 9 Decompose 𝑤 × 𝑅78$7* : 𝑅78$7* : 𝑅78$7* : 𝑅78$7* : × × ×
  • 18. Norm Control with Decomposition 𝑐, 𝑤 ∈ 𝑅78$7* 9 Decompose 𝑅78$7* : 𝑅78$7* : × Goal: 𝑏& = 𝛽 RoK from 𝑅)*+), - ×𝑅)*+), - to 𝑅)*+), . / is a parallel composition of the above protocol “Write” the big vector 𝑤 using “base” 𝑏 𝑤 ℤ-coeffs in (−𝛽, 𝛽) 𝑤! ℤ-coeLs in (−𝑏, 𝑏) 𝑤" ℤ-coeLs in (−𝑏, 𝑏) = + 𝑏 ⋅ 𝑐0, 𝑐1 𝑐0 = 𝐴𝑤0 , 𝑐1 = 𝐴𝑤1 V check: 𝑐 = 𝑐! + 𝑏 ⋅ 𝑐" 𝑤0 , 𝑤1 Decompose: 𝑃 𝑉 𝑐 = 𝐴𝑤 𝑤 𝑐 = 𝐴𝑤 𝑤 𝑤! 𝑤" = + 𝑏 ⋅ 𝐴 𝐴 𝑐 = 𝑐" + 𝑐# 𝑏 ⋅ Extract: 𝑤∗ = 𝑤0 + 𝑏 ⋅ 𝑤1 “remainder” + “quotient” 𝑐, 𝑤∗ ∈ 𝑅78$7* 9
  • 19. Roadmap • Decomposition Protocol • Fold Protocol 𝑅78$7* 9 𝑅78$7* 9 Decompose 𝑤 × 𝑅78$7* : 𝑅78$7* : 𝑅78$7* : 𝑅78$7* : × × × Fold 𝑅78$7* 9
  • 20. Folding: Naïve Approach Fold 𝑅78$7* 9 𝑅78$7* : 𝑅78$7* : × × … … Goal: Folding 𝑃'( 𝑐'( ≔ 𝑐% + 𝑟 ⋅ 𝑐& 𝑤'( ≔ 𝑤% + 𝑟 ⋅ 𝑤& 𝑟 ∈ ℤ( is a small random scalar Knowledge extraction: Naïve idea: 𝑐%, 𝑤% ∈ 𝑅78$7* : 𝑐&, 𝑤& ∈ 𝑅78$7* : Solve linear eqs for 𝑤%, 𝑤& 𝑤V = 𝑤WX Y − 𝑤WX Z ⋅ 𝒓𝒚 − 𝒓𝒙 ]𝟏 Extracted witness: The norm can be much larger than 𝒃! ∈ 𝑅IJKIL M ! Completeness ✔ 𝑤WX Z = 𝑤_ + 𝑟Z ⋅ 𝑤V 𝑤WX Y = 𝑤_ + 𝑟Y ⋅ 𝑤V Same for 𝑤_ Rewind 𝑃'( ∗ to obtain 𝑤'( < , 𝑤'( = for 𝑐'( < = 𝑐% + 𝑟< ⋅ 𝑐& and 𝑐'( = = 𝑐% + 𝑟= ⋅ 𝑐& 𝑏 ≪ 𝛽 𝑐V, 𝑤V ∉ 𝑅IJKIL ` !
  • 21. Roadmap • Decomposition Protocol • Fold Protocol • Naïve extraction + argue smallness of the extracted witness Using Range proof: witness 𝑤 ∈ −𝑏, 𝑏 "
  • 22. • 𝑐′ = 𝐴𝑤a • 𝑤a = 𝑓_, 𝑓V, … , 𝑓b has small norms (Batched) Range proof via Sumcheck Goal: Given input commitment 𝑐a, prove knowledge of 𝑤a = 𝑓_, 𝑓V, … , 𝑓b ∈ ℤb • 𝑐′ = 𝐴𝑤a • 𝑤a = 𝑓_, 𝑓V, … , 𝑓b has norm smaller than 𝑏 • Eicient (folding) verifier circuit 𝑐3 = 𝑐0 & 𝑐1 in folding Our strategy: Combine naïve folding & extraction + Range proof protocol (achieved by naïve folding + extraction) 𝑤3 = 𝑤0 & 𝑤1 in folding Our solution: A range-proof protocol from Sumcheck
  • 23. Review of the Sumcheck Protocol [LFKN92] Goal: Given a “committed” 𝑚-variate poly 𝑔(𝑥%, … , 𝑥>), convince V that ∑<∈ @,% 4 𝑔 ⃗ 𝑥 = 𝑠 Naïve verifier: query 𝑔 at every 𝑥 ∈ 0,1 > and check the sum Ω 2> complexity : ( Sumcheck protocol [LFKN92] • 𝑚-round interactive protocol between P and V • V sends a random challenge 𝑟/ ∈ 𝔽 in each round • At the end of the protocol, V queries 𝑔 at a single random point Sumcheck: Σ ⃗ <∈ @,% 4𝑔( ⃗ 𝑥) = 𝑠 Sumcheck protocol [LFKN92] EvalCheck: 𝑔 ⃗ 𝑟%, … , ⃗ 𝑟> = 𝑡′ at a random ⃗ 𝑟 ∈ ℤ2 > History: Key ingredient for proving 𝑃𝐻 ⊆ 𝐼𝑃 and inspires the proof of 𝐼𝑃 = 𝑃𝑆𝑃𝐴𝐶𝐸 𝑂 𝑚 -time verifier A reduction from Sumcheck to Eval stmt
  • 24. Step 1: Rephrase the range-proof statement as a Sumcheck statement Step 2: Construct a folding protocol for the Sumcheck statement Goal: Given input commitment 𝑐a, prove knowledge of 𝑤a = 𝑓_, 𝑓V, … , 𝑓b ∈ ℤb • 𝑤a = 𝑓_, 𝑓V, … , 𝑓b has norm smaller than 𝑏 Our solution: A range-proof protocol from Sumcheck
  • 25. Step 1: Reducing Range proof to Sumcheck Range proof: Prove knowledge of a witness 𝑤C = 𝑓%, 𝑓&, … , 𝑓" ∈ ℤ" s.t. Can extend to elements in ring 𝑅 = ℤ 𝑋 /(𝑋7 + 1) ℎ 𝑥 ≔ 𝑥 𝑥 + 1 ⋅ 𝑥 − 1 ⋯ 𝑥 + 𝑏 − 1 𝑥 − 𝑏 − 1 over ℤ/ ≔ − / " , / " and 𝑞 > 2𝑏 is a prime Embed 𝑤′ to the Boolean hypercube of a multilinear polynomial 𝑓 𝑥!, … , 𝑥89:) Zero-check to sum-check [CBBZ23, Setty20] Sumcheck: prove that Σ ⃗ <∈ @,% 5678𝑔( ⃗ 𝑥) = 0 where 𝑔 ⃗ 𝑥 ≔ ℎ 𝑓 ⃗ 𝑥 ⋅ 𝑒𝑞D( ⃗ 𝑥) for a rand 𝛼 ∈ ℤ2 E,F" 𝑓! ∈ ℤ 𝑓" … … … 𝑓)*! 𝑓) ∈ −𝑏, 𝑏 ⊆ ℤ ∈ −𝑏, 𝑏 ∈ −𝑏, 𝑏 ∈ −𝑏, 𝑏 ℎ 𝑓! = 0 ℎ(𝑓") = 0 … … … ℎ 𝑓)*! = 0 ℎ 𝑓) = 0 ⃗ 𝑥 00 … 00 00 … 01 … … … 11 … 10 11 … 11 ℎ 𝑥 = 0 ⟺ 𝑥 ∈ −𝑏, 𝑏 𝑓 ⃗ 𝑥 𝑓! 𝑓" … … … 𝑓)*! 𝑓) ℎ(𝑓 ⃗ 𝑥 ) ℎ 𝑓! = 0 ℎ(𝑓") = 0 … … … ℎ 𝑓)*! = 0 ℎ 𝑓) = 0
  • 26. Step 2: Sumcheck Folding Sumcheck: Σ ⃗ <∈ @,% 5678𝑔( ⃗ 𝑥) = 0 Range proof: witness 𝑤′ = 𝑓%, 𝑓&, … , 𝑓" ∈ −𝑏, 𝑏 " Sumcheck protocol [LFKN92] EvalCheck: 𝑔 ⃗ 𝑟 = 𝑡′ at a random ⃗ 𝑟 ∈ ℤ2 E,F" Prover time: ≈ 𝑂(𝑏𝑛) Verifier time: 𝑂(𝑏log𝑛) Problem: How to check 𝑓 ⃗ 𝑟 = 𝑡 given the comm of 𝑓? • Send 𝑓_, 𝑓V, … , 𝑓b to the folding verifier to check it? Observation: EvalStmt 𝑓 ⃗ 𝑟 = 𝑡 is easy to fold! EvalCheck: 𝑓 ⃗ 𝑟 = 𝑡 𝑔 ⃗ 𝑥 ≔ ℎ 𝑓 ⃗ 𝑥 ⋅ 𝑒𝑞;( ⃗ 𝑥) Step 1 ✔ (and verifier can check 𝑔 ⃗ 𝑟 = ℎ 𝑡 ⋅ 𝑒𝑞; ⃗ 𝑟 = 𝑡′ itself) 𝑂(𝑛) folding verifier : (
  • 27. Folding Evaluation Statements Observation: 𝑓 ⃗ 𝑟 = 𝑡 is easy to fold! 𝑓% ⃗ 𝑟% =? 𝑡% 𝑓& ⃗ 𝑟& =? 𝑡& Translate to SumChk Stmt Multilinear extension: 𝑓 ⃗ 𝑟 = Σ ⃗ <∈ @,% 5678𝑓 ⃗ 𝑥 ⋅ 𝑒𝑞⃗ H( ⃗ 𝑥) SumCheck 𝑓'( ≔ 𝑓% + 𝜌 ⋅ 𝑓& for rand 𝜌 𝑓'( ⃗ 𝑟I =? 𝑡I efficiently computable 𝑓% ⃗ 𝑟I =? 𝑡I,% 𝑓& ⃗ 𝑟I =? 𝑡I,& ⃗ 𝑟I: sumcheck challenge How does it help to check 𝑓 ⃗ 𝑟 = 𝑡 given the comm of 𝑓? • Fold the evaluation statement without checking!
  • 28. Folding for Ajtai Commitment Openings Solution: Expand relation 𝑅IJKIL to include the evaluation statement (𝑐 = com 𝑓 ) ∧ (𝑓 ⃗ 𝑟 = 𝑡) Naïve Fold + SumCheck for RangeProof & EvalStmt Verifier: 𝑂(𝑏log𝑛) 𝑐" =? com6 𝑓" ∧ 𝑓" ⃗ 𝑟" =? 𝑡" 𝑅=>?8 6 Accumulated statement 𝑐! =? com6 𝑓! 𝑅?@A?B 6 Online statement 𝑐$% =? comC 𝑓$% ∧ 𝑓$% ⃗ 𝑟D =? 𝑡D 𝑅=>?8 C New accumulated statement MatMul + RangePf + EvalStmt The knowledge soundness proof is more subtle than intuition • A malicious prover can adaptively choose the output witness after seeing the challenges • ⇒ The extracted input witnesses could depend on the sumcheck challenges
  • 29. Subtleties & Optimizations Sumcheck over Rings: [CCKP19, BCS21] • Ajtai commitments over ring 𝑅< ≔ ℤ<[𝑋]/(𝑋= + 1) for concrete e;iciency • Small-norm random folding scalar chosen from 𝑆 ⊆ 𝑅< for negligible soundness error • Implication: Run Sumcheck over rings Supporting Small Modulus: • We want a small modulus 𝑞 for better efficiency • Efficient CPU/GPU ops; no big-number arithmetics • More efficient packing of real-world data Folding for NP-complete relation Relation 𝑅 : (1) 𝑐+,! = com(𝑤+,!) (2) local computation is correct (3) Folding verifier v$% 𝑐!, 𝑐", 𝑐$%; 𝜋$% = 1 needs to express computation Arithmetic over a ring → Great fit for Verifiable ML/FHE
  • 30. ETiciency Estimates Folding prover: 𝑂( 𝐶JKL )-sized Multi-Scalar-Muls 𝑅/ ≔ ℤ/[𝑋]/(𝑋EF + 1) ≅ 𝔽/! !E ; 𝑞: a 64-bit prime 𝐶&'(: chunk circuit size (e.g. 2"G gates over 𝔽/!) Norm bound: 𝛽 ≈ 2!E; Base: 𝑏 = 2 Folding verifier: native-ops in the circuit over 𝑅2 non-native field ops in the circuit Competitive circuit sizes Piecemeal SNARK proof: ≈2 folding instance-witness pairs Solution: Use a PQ-secure STARK to prove the correctness of the folding statement < 100KB and 2ms verifier (STIR[ACFY24]) 𝑂( 𝐶JKL ) multiplications over 𝑅2 Compute Ajtai commitments LatticeFold Existing schemes Pedersen commimtents 𝑂(𝑏 ⋅ log|𝐶JKL|) hashes and 𝑅2-ops Sumcheck verifier ECC scalar-mul + (Sumcheck V) speed ≈ fast hash Can reuse fast FHE impl! < 5KB w/ Hyperplonk+KZG[CBBZ23] i.e., arithmetic in 𝔽/ as a circuit over 𝔽0 What if it’s still large? E.g., splitting a stmt of size 2-) to 2%) chunks → 2%) -sized chunk stmts
  • 31. Summary & Open Problems Takeaway: • The first lattice-based folding scheme based on Ajtai commitments • Gives memory-efficient, plausibly PQ-secure SNARKs, with fast provers • Generic techniques for folding lattice-based commitments w/ norm constraints Open problems: • Compact + homomorphic lattice commitments with no norm constraints • Folding table lookup relations (e.g., from Lasso [Setty-Thaler-Wahby23]) • Efficient implementation Concurrent work:[Bünz-Mishra-Nguyen-Wang24] • Purely from hashing; no lattice crypto • General optimization techniques for piecemeal SNARKs (apply to LatticeFold) • Larger verifier circuit; only supports bounded-depth folding (attack exists)