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

HyperNova PoC #13

Open
oskarth opened this issue May 16, 2023 · 2 comments
Open

HyperNova PoC #13

oskarth opened this issue May 16, 2023 · 2 comments

Comments

@oskarth
Copy link
Collaborator

oskarth commented May 16, 2023

PoC for HyperNova and CCS.

Long lived branch here: https://github.com/privacy-scaling-explorations/Nova/tree/hypernova

Suggest we do PRs against that one and keep main up to date with upstream, see #11 (comment)

First step is probably CCS (super rough start of a cut here #14), then after that we'll see in terms of multi-folding, SuperSpartan, etc.

@oskarth
Copy link
Collaborator Author

oskarth commented Jul 12, 2023

Here's the real diff for #15 - microsoft/Nova@main...privacy-scaling-explorations:Nova:hypernova

Things to fix before we can merge upstream

  • Cargo.toml: Hypernova flag off by default
  • src/ccs/util/virtual_poly.rs: (VirtualPolynomial fix-up? currently copy-paste of EspressoSystems)
  • src/lib.rs: enable warnings and unused again
  • src/r1cs.rs enable require even IO: "We require the number of public inputs/outputs to be even" [HyperNova] Fix number of public inputs/outputs even requirement #30
  • src/spartan/mod.rs: fix random diffs
  • src/spartan/polynomial.rs: remove old comments, also some code unclear if needed with VirtPoly?

CPerezz added a commit that referenced this issue Jul 12, 2023
Opening WIP PR to make diff more clear

Targets #13

This merges the multifolding-poc porting into the Nova codebase
@oskarth
Copy link
Collaborator Author

oskarth commented Aug 21, 2023

This effort is now paused. Current state: microsoft#175 (comment)

hero78119 pushed a commit to hero78119/SuperNova that referenced this issue Jan 3, 2024
…ations#13)

* ci: Bring clippy standards lurk-rs -> arecibo

- Added a new .cargo/config file with a custom alias "xclippy" to execute Clippy lints for code quality assurance,
- Fixed code correspondingly when necessary,
- Added xclippy to CI

* chore: add dbg_macro to ci's clippy

- Implemented a new clippy lint for the dbg_macro in the cargo config file
Ethan-000 pushed a commit to Ethan-000/Nova that referenced this issue Jun 2, 2024
* Small perf items (privacy-scaling-explorations#12)

* Optimize generator creation in provider module

- Refactored the `from_label` function in pasta.rs removing redundant collect, flatten operations and Vec<usize> creation,

* fix: rename VanillaRO -> NativeRO

* refactor: Optimize circuit methods and enhance trait compatibility

- Replaced the `.map()` function with the `.map_or()` function in `r1cs.rs` for efficiency.
- Added `Eq` trait derivation to `NovaAugmentedCircuitParams` in `circuit.rs` to enable comparisons.
- Introduced `Eq` trait to `TrivialTestCircuit` struct in `traits/circuit.rs` without altering its input or output.
- Optimized performance by refactoring the use of iterator `into_iter()` to the iterator itself in `gadgets/r1cs.rs`.

* ci: Bring clippy standards lurk-rs -> arecibo (privacy-scaling-explorations#13)

* ci: Bring clippy standards lurk-rs -> arecibo

- Added a new .cargo/config file with a custom alias "xclippy" to execute Clippy lints for code quality assurance,
- Fixed code correspondingly when necessary,
- Added xclippy to CI

* chore: add dbg_macro to ci's clippy

- Implemented a new clippy lint for the dbg_macro in the cargo config file

* test: Extend tests to add missing curve variants (privacy-scaling-explorations#33)

- Enhanced testing for multiple modules, including bellpepper, spartan, and provider, focusing on the addition and multiplication of multi-linear polynomials and the Keccak transcript.
- Introduced usage of secp256k1::Scalar (and sometimes bn256_grumpkin::bn256::Scalar) into tests for improved coverage.
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

No branches or pull requests

1 participant