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

Iquerejeta/pruning #17

Merged
merged 20 commits into from
Dec 20, 2024
Merged

Iquerejeta/pruning #17

merged 20 commits into from
Dec 20, 2024

Conversation

iquerejeta
Copy link
Collaborator

@iquerejeta iquerejeta commented Dec 6, 2024

Pruning of v0.3.0 of halo2:

  • Implements Plonk generically parametrised by a base field and a polynomial commitment scheme.
  • Uses the multi-open techniques of Halo2 (presented in their book) in the KZG instantiation
  • Rewrites trait/interface of the PCS
  • Removes IPA implementation
  • Removes implementation of SHPLONK
  • Removes implementation of shuffle argument

Note: I've rename the structure Assigned to Rational, as IMO it had nothing to do with assigned values. If you think differently, let me know. I can bring that back.

src/arithmetic.rs Outdated Show resolved Hide resolved
src/plonk/vanishing/prover.rs Outdated Show resolved Hide resolved
src/plonk/vanishing/prover.rs Outdated Show resolved Hide resolved
src/plonk/verifier.rs Show resolved Hide resolved
* Add table, compressed and normal rows count.

* Add rows and table rows to cost model.

* Ignore unassigned cells if they are multiplied by zero

* Some format values are written as

"Scalar(0x..)"

The hotfix was to change the stripping rules, but this is probably
an incorrect implementation of certain traits for one of the curves.
@iquerejeta iquerejeta marked this pull request as ready for review December 12, 2024 16:24
Used the same style as we have in midnight-circuits.

Modules are defined with a `mod.rs` file inside the folder, instead of with a file at root level with the same name.

I've also created a module for utils and one for the transcript.
Copy link

@davidnevadoc davidnevadoc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

First pass

src/poly/kzg/params.rs Show resolved Hide resolved
src/poly/kzg/params.rs Show resolved Hide resolved
src/plonk/permutation/verifier.rs Outdated Show resolved Hide resolved
src/poly/query.rs Show resolved Hide resolved
src/poly/query.rs Outdated Show resolved Hide resolved
src/plonk/verifier.rs Show resolved Hide resolved
Copy link

@miguel-ambrona miguel-ambrona left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is great! Some would call it a piece of art.

Mind some leftovers of commented code or TODOs. I think David and I marked them all.

src/poly/commitment.rs Outdated Show resolved Hide resolved
src/poly/commitment.rs Outdated Show resolved Hide resolved
src/poly/query.rs Show resolved Hide resolved
src/poly/kzg/mod.rs Outdated Show resolved Hide resolved
examples/shuffle.rs Outdated Show resolved Hide resolved
src/dev.rs Outdated Show resolved Hide resolved
src/poly.rs Outdated Show resolved Hide resolved
src/poly.rs Outdated Show resolved Hide resolved
src/poly.rs Outdated Show resolved Hide resolved
tests/plonk_api.rs Outdated Show resolved Hide resolved
@iquerejeta iquerejeta merged commit 07c0239 into dev Dec 20, 2024
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