Skip to content

Latest commit

 

History

History

nova

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

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