Skip to content
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 Grumpkin cycle implementation #181

Merged
merged 12 commits into from
Jul 5, 2023

Conversation

huitseeker
Copy link
Contributor

@huitseeker huitseeker commented Jun 9, 2023

This is joint work with @leonardoalt !

This PR pulls in an implementation of, and runs all Nova tests on the Ethereum-friendly Grumpkin curve cycle.

The implementation is was from the halo2curves repo with the following pending PR thrown in:
privacy-scaling-explorations/halo2curves#47 - I'll update the present PR when that resolves.

@srinathsetty srinathsetty self-requested a review June 9, 2023 18:29
leonardoalt and others added 10 commits July 4, 2023 14:46
- Extend existing tests with additional test cases using the new curve types
- Swap scalar orders between grumpkin and bn256 in `impl_traits!` implementation
- Enhances test coverage for `pasta_curves` and `halo2curves`
- Cleans up commented code in `test_ivc_nontrivial` and `test_ivc_nontrivial_with_compression` tests
- Updates relevant test cases in `src/lib.rs` to include new curve tests
- Implement the `from_label_serial` function in bn254_grumpkin provider
- Add a test to compare parallel and serial implementations of `from_label` function
- Updated the `halo2curves` dependency in `Cargo.toml` to the latest version `0.1.0` from a specific git branch.
@huitseeker huitseeker changed the title [Do not merge until Git dependencies removed] Add Grumpkin cycle implementation Add Grumpkin cycle implementation Jul 4, 2023
@huitseeker huitseeker marked this pull request as ready for review July 4, 2023 18:53
@huitseeker huitseeker force-pushed the nova_on_grumpkin branch 2 times, most recently from bd78bf4 to a74e4da Compare July 5, 2023 20:57
- Updated bn256_grumpkin.rs to use the cpu_best_multiexp function from pasta provider instead of its native function.
- Modified visibility of cpu_best_multiexp function in pasta.rs from private to crate level.
@srinathsetty srinathsetty merged commit 4b077bc into microsoft:main Jul 5, 2023
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants