-
Notifications
You must be signed in to change notification settings - Fork 361
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
Split zokrates_bellman
crate in PlonK branch
#1255
Open
georgwiese
wants to merge
44
commits into
Zokrates:add-bellman-plonk-backend
Choose a base branch
from
georgwiese:split-bellman-crate
base: add-bellman-plonk-backend
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Split zokrates_bellman
crate in PlonK branch
#1255
georgwiese
wants to merge
44
commits into
Zokrates:add-bellman-plonk-backend
from
georgwiese:split-bellman-crate
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…nto split-bellman-crate
georgwiese
changed the title
[WIP] Split
Split Dec 28, 2022
bellman
crate in PlonK branchzokrates_bellman
crate in PlonK branch
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Depends on #1249
To make the Groth16 MPC trusted setup work, we need to depend on two versions of
bellman_ce
. I implemented this by splitting thezokrates_bellman
crate.Also, I went through the failing tests and fixed as many as possible.
This is an overview of the changes:
zokrates_bellman
: Now depends on thematter-labs
version of bellman again, commented in code in the Groth16 scheme, removed PlonKzokrates_bellman_plonk
: A new crate that depends on our fork ofbellman
lib.rs
: Is essentially a copy ofzokrates_bellman/src/lib.rs
, except that it depends on a differentbellman
crate and uses theBellmanPlonkFieldExtensions
instead ofBellmanFieldExtensions
plonk.rs
: Implementation of the PlonK schemezokrates_cli
: Now depends also on thezokrates_bellman_plonk
crate, commented in the MPC implementation of the Groth16 trusted setup, added PlonK to integration testszokrates_field
:BellmanPlonkFieldExtensions
trait in addition toBellmanFieldExtensions
bellman_extensions!
macro and implementedBellmanPlonkFieldExtensions
for all curves that previously implemented theBellmanFieldExtensions
zokrates_proof_systems
: Fixed a bug where solidity verifiers were rendered incorrectly, triggered by a previous refactoring of theFq2
andGAffine
data types.clippy
errorsThe diff between
zokrates_bellman/src/lib.rs
andzokrates_bellman_plonk/src/lib.rs
is quite small. It could be implemented using a macro (although I'm not sure in which crate it should be defined), let me know if I should do that :)