-
Notifications
You must be signed in to change notification settings - Fork 120
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
Asynchronous Groth16 verification #830
Conversation
6098b17
to
03bec1d
Compare
ce0598f
to
42c76df
Compare
Rebased onto |
Now leaning towards a middle option, to create a |
It builds! |
@yaahc I moved to 'ready for review' to get the other CI jobs running, you can move back if you want EDIT: i can trigger those jobs without moving from draft |
9362aca
to
e3a4e81
Compare
21e207a
to
a4fc0d4
Compare
@yaahc I rebased because of a conflict related to a bls12 dependency update |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As far as I understand, this code looks good.
But it's hard to review without:
- a PR description that explains the current purpose of this PR
- doc comments on functions and types
- tests
122e86d
to
ba76bb3
Compare
If we're planning multiple PRs that change the same code, let's leave the doc comments until the later PRs, so we don't accidentally delete or revert any more comments. |
e438669
to
df4d1e4
Compare
df4d1e4
to
719f6e9
Compare
719f6e9
to
df4d1e4
Compare
This PR is the first step in getting a groth16 proving system fully integrated with the rest of zebra. This PR implements the initial async API, but none of the actual batching logic necessary for our eventual verifier design. Once the batch verification API from bellman has been implemented we will need to swap out the "Batch" type defined in this crate with the new `batch::Verifier` defined in bellman.
df4d1e4
to
0d9287f
Compare
@teor2345 is this resolved btw? I assumed you meant "lets leave adding the doc comments until the later PR" but it never got approved after I did the rest of the cleanup so now I'm unsure if there's still something left for me to do on this PR. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wonder if we should merge this now, knowing that when zkcrypto/bellman#59 is merged in there will be changes anyway, or try to support this pattern now
I think merge personally, the PR is already setup to make it easy for the follow up bellman stuff, I don't see any reason to block this PR on it. As for the static verifiers, I think it might be good to add those with the PR that also adds the PreparedVerifyingKeys, since each static will need to hold a reference to a different key. |
Merging, tracking followup work in #1645 |
I've been focused on other work. Last time I checked this PR, it was unclear how much work was remaining, so I couldn't really approve it. So the best I could do was dismiss my review so I wasn't blocking it. |
This PR is the first step in getting a groth16 proving system fully integrated with the rest of zebra. This PR implements the initial async API, but none of the actual batching logic necessary for our eventual verifier design.
Once the batch verification API from bellman has been implemented we will need to swap out the "Batch" type defined in this crate with the new
batch::Verifier
defined in bellman.Follow Up Work