mithril_stm

Module multi_sig

source
Expand description

Base multi-signature scheme, used as a primitive for STM. See Section 2.4 of the paper. This module uses the blst library as a backend for pairings.

Structsยง

  • MultiSig proof of possession, which contains two elements from G1. However, the two elements have different types: k1 is represented as a BlstSig as it has the same structure, and this facilitates its verification. On the other hand, k2 is a G1 point, as it does not share structure with the BLS signature, and we need to have an ad-hoc verification mechanism.
  • MultiSig signature, which is a wrapper over the BlstSig type.
  • MultiSig secret key, which is a wrapper over the BlstSk type from the blst library.
  • MultiSig verification key, which is a wrapper over the BlstVk (element in G2) from the blst library.
  • MultiSig public key, contains the verification key and the proof of possession.