Skip to content

Latest commit

 

History

History
34 lines (25 loc) · 1.53 KB

README.md

File metadata and controls

34 lines (25 loc) · 1.53 KB

Nexus Nova

Collection of folding schemes implementations using arkworks, including:

  • Nova1
  • SuperNova2
  • HyperNova3

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.

Code structure

├── 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

Performance

Benchmarks are available here.


Footnotes

  1. Nova: Recursive Zero-Knowledge Arguments from Folding Schemes

  2. SuperNova: Proving universal machine executions without universal circuits

  3. HyperNova: Recursive arguments for customizable constraint systems

  4. CycleFold: Folding-scheme-based recursive arguments over a cycle of elliptic curves