mirror of
https://github.com/logos-storage/nim-groth16.git
synced 2026-07-22 08:29:33 +00:00
22 lines
843 B
Markdown
22 lines
843 B
Markdown
|
|
"Semi-dynamic" Groth16 proofs
|
|
-----------------------------
|
|
|
|
This is loosely based on the [Dynark paper](https://eprint.iacr.org/2025/1897):
|
|
|
|
- _"Dynark: Making Groth16 Dynamic"_ by Tianyu Zhang, Yupeng Ouyang and Yupeng Zhang
|
|
|
|
See also [this write-up](https://hackmd.io/@bkomuves/HyBL5V5xMe) (mostly following the paper).
|
|
|
|
Here some details are different from the paper though, and our implementation
|
|
is noticeably more efficient in practice.
|
|
|
|
### Different versions
|
|
|
|
We provide several slightly different versions with different tradeoffs
|
|
|
|
- `dynamic/v1`: This is a version mostly following the Dynark paper (TODO: sparse convolution algorithm)
|
|
- `dyanmic/v2`: This introduces some of our optimizations:
|
|
- the projection term updates become essentially free
|
|
- we reorder the circuit so that the changes are in a subgroup (TODO)
|