paritytech / substrate

Substrate: The platform for blockchain innovators
Apache License 2.0
8.39k stars 2.65k forks source link

[BEEFY] Implement Simple BLS (Boneh–Lynn–Shacham) Signature API. #10469

Open drskalman opened 2 years ago

drskalman commented 2 years ago

This is to implement substrate/primitives/core/src/bls.rs API similar to what we have for ed25519 and sr25519. This among others is to equip BEEFY with BLS signatures which is essential for the accountable light client protocol.

BLS crypto to be provided by https://github.com/w3f/bls This library is tuned to provide the specific flavor and the efficiency of the BLS signatures required by future protocols for example to have public keys on both pairing curves.

I have started some initial work here:

https://github.com/drskalman/substrate/commits/skalman-bls-beefy

and perhaps continue with the help of imagination till someone from parity take ownership and offer guidance on this issue.

burdges commented 2 years ago

We'll do a DLEQ proof version so we can avoid complicating the gossip rules?

drskalman commented 2 years ago

Next step: https://github.com/w3f/bls/issues/46