privacy-scaling-explorations / sonobe

Experimental folding schemes library
https://privacy-scaling-explorations.github.io/sonobe-docs/
MIT License
191 stars 47 forks source link

implement Nova's Offchain Decider (prover & verifier) for non-ethereum cases #164

Closed arnaucube closed 1 day ago

arnaucube commented 3 days ago

The idea & motivation is that the onchain decider could still be used for non-onchain verification but the proving time is big (eg. a little bit less than 3 minutes on my laptop) since the circuit is big due the EVM constraints. Whereas with this new offchain decider we can generate the proofs much faster for the cases where it is not required to verify the proofs in the EVM.

The code is mostly abstracted from any specifics of the current usage of Groth16 & KZG10, with the idea that eventually in the future we can have Spartan plugged in and use non-pairing-curves such as pallas&vesta. For the current version it relies on KZG10 commitments.

The logic implemented in the code of this PR can be found at the updated docs section 'offchain decider': https://privacy-scaling-explorations.github.io/sonobe-docs/design/nova-decider-offchain.html