Module zksync_consensus_crypto::bls12_381
source · Expand description
Currently replaced by [bn254] and unused.
This module implements the BLS signature over the BLS12_381 curve.
This is just an adapter of blst
, exposing zksync-bft-specific API.
The implementation is based on the IRTF draft v5.
This implementation does NOT protect against rogue key attacks (see https://crypto.stanford.edu/~dabo/pubs/papers/BLSmultisig.html). We expect signers to separately prove knowledge of the secret key, called proof of possession (POP). This library is meant to be used with validators, where each validator registers their public key on-chain together with a POP (a signature over their public key is sufficient).
Modules§
- Random key generation, intended for use in testing
Structs§
- Type safety wrapper around a
blst
aggregate signature - Type safety wrapper around a
blst
proof of possession. - Type safety wrapper around a
blst
public key. - Type safety wrapper around a
blst
SecretKey - Type safety wrapper around a
blst
signature
Constants§
- The domain separation tag for this signature scheme.
- The domain separation tag for the proof of possession.
- Represents the signature at infinity.
- The byte-length of a BLS signature when serialized in compressed form.