microsoft / Nova

Nova: High-speed recursive arguments from folding schemes
MIT License
714 stars 188 forks source link

Upgrade the constraint system module #331

Open srinathsetty opened 1 week ago

srinathsetty commented 1 week ago

The current Nova codebase relies on bellpepper and bellpepper-core libraries to synthesize R1CS matrices (see e.g., bellpepper module in this codebase). This has several limitations:

To address this, a starting point would be to make the constraint system module in Nova code base "self sufficient" i.e., implement the underlying ConstraintSystem trait, basic gadgets, etc. directly inside Nova codebase (this would eliminate dependency on bellpepper-core and bellpepper).

A side effect is we need a Poseidon Sponge implementation compatible with the constraint system types hosted in Nova codebase.

Forpee commented 1 week ago

Started working on this.