Integrate Milagro impl of BLS signature aggregation
mkalinin opened this issue · 0 comments
mkalinin commented
Current implementation
There is an existing trivial signature aggregation algorithm that is used as a stub for signature aggregation and verification by Beacon chain processing and attesting parts.
To Do
Replace that naive implementation with BLS12-381 algorithm implemented in Milagro library. Measure a time that is required to aggregate and verify signatures with usage of that integration.
References
- https://github.com/zkcrypto/pairing/tree/master/src/bls12_381/
- BLS12-381 spec https://github.com/ethereum/eth2.0-specs/blob/master/specs/bls_verify.md
- benchmarks by @bkolad https://docs.google.com/spreadsheets/d/1Z55ra7TKw-K5-Qa-bWqD4YLfccamnSuLpGNhAhp7jRI/edit#gid=1834751607
- benchmarks by Nimbus team status-im/nimbus-eth2#8 (comment)