-
Notifications
You must be signed in to change notification settings - Fork 111
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
Implement a Halo2Verifier
async service
#2104
Comments
Moving this out of NU5 because it's not strictly required for activation |
It's not? Otherwise halo2 verification will block everything else in the transaction verifier |
We could just spawn a non-blocking tokio task, and await its completion. |
@dconnolly and I discussed this issue, and we decided that we should continue to use the same architecture as the other verifiers. (Otherwise, we risk breaking other fragile async code.) |
zcash/halo2#282 ("Document how to do simple (not aggregated) batch verification for Halo 2") |
blocked on circuit from ECC |
Similar to our other async
tower
-based verifier services, such as theGroth16Verifier
. We should depend on the same version of thehalo2
crate as we do inzebra-chain
.While we don't have batch math available yet for Halo2, the async service will decouple the verification requests from the fullfillment, allowing us to swap out the original single-verification implementation here with a more efficient batch verification implementation that is oblivious at the API level.
Testing:
Generate test vectors for halo2 proofs from zcash-hackworks; if they give trouble in our full validation pipeline, punt this full integration until we get the first NU5 block with an Action in it for testnet.
Additional context
#1951
The text was updated successfully, but these errors were encountered: