Skip to content

Create haskell function (BlsAggregateSignatures) #572

@hjeljeli32

Description

@hjeljeli32

Why

The core of the Leios EB certificates crypto is the fact that for the persistent voters, we can aggregate their signatures locally, combining many signatures into one small representation. We want this for space efficiency for EB blocks.

What

Aggregate a list of public keys and signatures into one for efficient verification via only one pairing call (saving many expensive pairing call ops, 2n point additions in G1/G2 are cheaper than n Miller loop + final verify calls).

Here we have a few options (maybe all should be implemented)

  • Create a helper function that aggregates public keys
  • Create a helper function that aggregates signatures
  • Create a helper function that, given a message and many (pk, sig) pairs over this message, batch verifies

Note that the former two can be helpful if we want to create an accumulator that locally tallies the Leios votes and aggregates them already for block production. The latter is a more one-shot approach; the usage and especially the optimization of when votes are aggregated will determine which one is needed (so both should for now be implemented).

How

  • Create a helper function that aggregates public keys
  • Create a helper function that aggregates signatures
  • Create a helper function that, given a message and many (pk, sig) pairs over this message, batch verifies

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

Status

7. Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions