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

Parallel Nova PoC #11

Draft
wants to merge 38 commits into
base: main
Choose a base branch
from
Draft

Parallel Nova PoC #11

wants to merge 38 commits into from

Conversation

oskarth
Copy link
Collaborator

@oskarth oskarth commented May 16, 2023

This long-lived branch contains all the work done for ParaNova PoC in Vietnam. Opening PR for awareness and to show current diff. It needs to be rebased and tied up a bit before it makes sense to integrate it fully.

The existing main branch has been updated to be kept up to date with Nova upstream. This will make it easier to have a independent work streams of HyperNova and ParaNova.

Long-lived branches:

  • Main (up to date with Nova upstream, only fork if strong reason)
  • paranova (for parallel Nova PoC)
  • hypernova (for HyperNova PoC)

cc @CPerezz @arnaucube

Violet Vienhage and others added 30 commits March 24, 2023 16:31
…/r1cs_folding_generalization

R1CS folding verification
…/construct_parallel_tree

Add parallel prover with tree construction
…/r1cs_folding_generalization

Finish the prover merge code
Co-authored-by: aleph_v <20227705+aleph-v@users.noreply.github.com>
…e_space_of_witness

Fix namespace of the witness
This was referenced May 16, 2023
hero78119 pushed a commit to hero78119/SuperNova that referenced this pull request Jan 3, 2024
* refactor: Remove R1CS struct to direct commitment_key calls

- Removed the `R1CS` struct and its associated types from `r1cs.rs` as well as its public use in `lib.rs`.
- Updated the program's `commitment_key` and `commitment_key_size` functions to require explicit Group type parameter, instead of being derived from the `R1CS` struct.
- Adapted functions to the removal of `R1CS` struct, using `commitment_key` directly.

* refactor: Simplify NIFS struct and remove PhantomData usage

- Simplified the NIFS struct in `nifs.rs` file by removing extraneous elements.

* refactor: Refactor ipa_pc.rs to use InnerProductArgument directly

- Removed `EvaluationArgument` struct from `ipa_pc.rs` file, replacing it with direct usage of `InnerProductArgument`.
- Updated `EvaluationEngineTrait` type declarations to accommodate the change.
- Reworked `prove` and `verify` methods to work directly with `InnerProductArgument`.
- Made `InnerProductArgument` visibility public.

* refactor: Refactor PoseidonROCircuit struct trait bound

- Trait bound changed from `PrimeField + PrimeFieldBits` to `PrimeField` in `poseidon.rs`.

* refactor: mutualize macro for secp/bn256 cycles
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.

4 participants