w3f_bls::verifiers

Function verify_using_aggregated_auxiliary_public_keys

Source
pub fn verify_using_aggregated_auxiliary_public_keys<E: EngineBLS, H: DynDigest + Default + Clone>(
    signed: &SignatureAggregatorAssumingPoP<E>,
    normalize_public_keys: bool,
    aggregated_aux_pub_key: <E as EngineBLS>::SignatureGroup,
) -> 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.