Collection of folding schemes implementations using arkworks, including:
The original implementation of Nova, from which we have adopted some utility functions, is due to Microsoft Research – https://github.com/microsoft/Nova. Compared to it, our implementation uses CycleFold4, at the cost of bigger verifier's circuit.
├── circuits # implementation of augmented circuits along with IVC (private with re-exports)
├── folding # folding schemes implementation
├── gadgets # primitives for the verifier circuits -- mirrors the "folding" module
├── absorb.rs # cryptographic sponge interface extension
├── commitment.rs # commitment scheme interface
├── provider # internal traits implementors -- commitment schemes, hashers, etc.
├── ccs # customizable constraint system primitives
├── r1cs # R1CS primitives
... snipped
Benchmarks are available here.