-
Notifications
You must be signed in to change notification settings - Fork 64
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Decider impl for Nova onchain #66
Conversation
Add Decider impl for Nova onchain. Update also the Decider trait. Nova onchain decider: (compressed SNARK / final proof), in order to later verify the Nova+CycleFold proofs onchain (in Ethereum’s EVM).
32d3e28
to
6b19c2a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unsure why do we add the MNT curves here. To avoid Foreign Field ops in-circuit?
If not can you explain?
Ideally I would have avoided the use of the MNT curves, and would have used directly BN254 - Grumpkin cycle, but at the latest release of arkworks (v0.4.0) the BN254 does not have the constraints implemented, which was added recently (by you here hehe), so once we migrate to the new arkworks version (which is not yet released) we can enjoy the BN254 R1CS constraints. But for the moment for this test needed a cycle of curves with pairings, so used the MNT cycle for the test. Regarding arkworks versions, there have been substantial improvements and fixes on many arkworks crates over this past year (since v0.4.0) release, just sent a msg in arkworks chat asking if there are plans to do a new release with all those changes that we would benefit from (eg. the mentioned bn254 constraints, some fixes, and maybe also the new configurable nonnativefield gadgets). |
Ohhh I see! Let's leave an issue filled to remember to update this once we move to the next version? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
Nova onchain decider: (compressed SNARK / final proof), in order to later verify the Nova+CycleFold proofs onchain (in Ethereum’s EVM).
As a sidenote info, these past days I've been benchmarking the decider circuit, and next thing I'll do is to work on the step 6 of the decider circuit (src/folding/nova/decider_eth_circuit.rs#L418) because the current approach takes too many constraints.