w3f_bls::verifiers

Function verify_with_distinct_messages

Source
pub fn verify_with_distinct_messages<S: Signed>(
    signed: S,
    normalize_public_keys: bool,
) -> bool
Expand description

BLS signature verification optimized for all unique messages

Assuming all messages are distinct, the minimum number of pairings is the number of unique signers, which we achieve here. We do not verify message uniqueness here, but leave this to the aggregate signature type, like DistinctMessages.

We merge any messages with identical signers and batch normalize message points and the signature itself. We optionally batch normalize the public keys in the event that they are provided by algerbaic operaations, but this sounds unlikely given our requirement that messages be distinct.