-
Notifications
You must be signed in to change notification settings - Fork 123
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
Enable BLS aggregate verify #1684
Conversation
Benchmark for c5fa330Click to view benchmark
|
/// Local implementation of aggregated verify for no_std and WASM32 variants (no threads) | ||
/// see: https://datatracker.ietf.org/doc/html/draft-irtf-cfrg-bls-signature-05#name-coreaggregateverify | ||
/// Inspired with blst::min_pk::Signature::aggregate_verify | ||
fn aggregate_verify_bls12381_v1_no_threads( |
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.
Alternatively I could fork blst
crate and modify it accordingly.
But I decided not to fork for easier maintenance in the future (eg. bumping versions).
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.
LGTM
Summary
Enable BLS aggregate verify for Radix Engine and Scrypto.
Details
For
wasm32
andno_std
added our local implementation ofaggregate_verify_bls12381_v1_no_threads()
which does not rely on threads.It follows CoreAggregateVerify description.
And is inspired with
aggregate_verify()
implementation fromblst
crate.Testing
Added a few positive and negative tests.