-
Notifications
You must be signed in to change notification settings - Fork 47
Description
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
Assignees
Labels
Type
Projects
Status