Lune

EUROCRYPT2026Top-tier venue

Dynark: Making Groth16 Dynamic

Tianyu Zhang, Yupeng Ouyang, Yupeng Zhang

2026Year
2Citations
2Top-tier citations

Abstract

In recent years, numerous new and more efficient constructions of zero-knowledge succinct non-interactive argument of knowledge (zkSNARK) have been proposed, motivated by their growing practical applications. However, in most schemes, when the witness is changed, the prover has to recompute the proof from scratch even if the new witness is close to the old one. This is inefficient for applications where proofs are generated for dynamically changing witnesses with small changes.

In this paper, we introduce DYNARK, a dynamic zkSNARK scheme that can update the proof in sublinear time when the change of the witness is small. DYNARK is built on top of the seminal zkSNARK protocol of Groth, 2016. In the semi-dynamic setting, for an R1CS of size nn, after a preprocessing of O(nlog⁡n)O(n\log n) group operations on the original witness, it only takes O(d)O(d) group operations and O(dlog⁡2d)O(d\log^2 d) field operations to update the proof for a new witness with distance dd from the original witness, which is nearly optimal. In the fully-dynamic setting, the update time of DYNARK is O(dnlog⁡n)O(d\sqrt{n\log n}) group operations and O(dlog⁡2d)O(d\log^2 d) field operations. Both the proof size and the verifier time are O(1)O(1), which are exactly the same as Groth16. Compared to the scheme in a prior work by Wang et al. 2024, we reduce the proof size from O(n)O(\sqrt{n}) to O(1)O(1) without relying on pairing product arguments or another zkSNARK, and the update time and the verifier time of DYNARK are faster in practice.

Experimental results show that for n=220n=2^{20}, after a one-time preprocessing of 74.3 seconds, it merely takes 3 milliseconds to update the proof in our semi-dynamic zkSNARK for d=1d=1, and 60 milliseconds to update the proof in our fully-dynamic zkSNARK. These are 1433×\times and 73×\times faster than Groth16, respectively. The proof size is 192 bytes and the verifier time is 4.4 milliseconds. The system is fully compatible with any existing deployment of Groth16 without changing the trusted setup, the proof and the verification algorithm.

Ask about this paper

Ask your agent about it.

Lune has read the top-tier papers around this one, so every answer names the papers it rests on.

Questions to start from

Your agent calls

Lunesearch_papers

Ask in Lune

Free to start. No credit card required.

lune papers get 63046186-2358-41fc-92de-33ace4e55776

Cited by top-tier papers2

Ask how each one uses it

Related papers

Dusk over the sea between two cliffs drawn in fine vertical lines