w3f_bls

Module engine

Source
Expand description

§Adaptation of ark_ec::PairingEngine to BLS-like signatures.

We provide an EngineBLS trait that adapts pairing::Engine to BLS-like signatures by permitting the group roles to be transposed, which involves removing the field of definition, while retaining the correct associations.

We support same-message aggregation strategies using wrappers that satisfy EngineBLS as well, primarily because these strategies must ocntroll access to the public key type.

In future, we should support Pixel by adding wrapper that replace SignatureGroup with a product of both groups. I think this requires abstracting CruveAffine and CruveProjective without their base fields and wNAF windows, but still with their affine, projective, and compressed forms, and batch normalization.

Structs§

  • Infrequently used BLS variant with tiny 48 byte signatures and 96 byte public keys,
  • Usual aggregate BLS signature scheme on ZCash’s BLS12-381 curve. Usual BLS variant with tiny 48 byte public keys and 96 byte signatures.

Traits§

  • Trait to add extra config for a curve which is not in ArkWorks library
  • A weakening of pairing::Engine to permit transposing the groups.

Type Aliases§