-
Notifications
You must be signed in to change notification settings - Fork 107
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
RedPallas async verifier service #2318
Conversation
63c4476
to
03e4252
Compare
2ef1525
to
ca4de96
Compare
03e4252
to
d30a304
Compare
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.
This looks good!
I still want to to a diff between the redjubjub and redpallas verifier and tests, to see if there are any important differences.
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.
There are no significant differences between the RedJubjub and RedPallas batch verifier and test code.
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'm not yet familiar with async code to provide any specific feedback (and I couldn't find any minor issues) but from I could gather it looks good! It was also very useful to get more familiar with it.
I'll leave approval to @teor2345 but I can help reviewing any improvements if needed.
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.
Looks, great! I did experiment with a few suggestions, but they're all optional ideas 😄
Co-authored-by: teor <teor@riseup.net>
Co-authored-by: teor <teor@riseup.net>
Co-authored-by: Janito Vaqueiro Ferreira Filho <janito.vff@gmail.com>
735dbdd
to
4571776
Compare
Motivation
We want to match the async processing patterns that we've been using for Sapling verification, including validating SpendAuth and Binding signatures via an async batch verifier Tower service.
Solution
This PR provides the Tower service that validates RedPallas signatures, and tests.
It depends on the changes in #2288.
This is an extremely boilerplate version of the RedJubjub verifier service. We have spitballed creating a derive-able proc macro for these batch verifier services to cut down on the boilerplate, but that may be out of scope for this issue.
This PR does not actually invoke RedPallas verification in the
TransactionVerifier
service for V5 transcations yet, so it is technically not doing the validation of any consensus rules yet.Resolves #2287
Review
@teor2345 @jvff @conradoplg @oxarbitrage 🙏
Reviewer Checklist
Follow Up Work
Actually invoke the service as part of transaction verification: #2317
Reduce boilerplate:
#1951