Skip to content

BLS vs Secpk for ticket Sigs #441

Closed
Closed
@sternhenri

Description

@sternhenri

Wanted to put out final thoughts on this (many from #390) ahead of making a PR (meta-note: I should have opened this issue back when these conversations were fresh. Apologies):

Why BLS?

From conversations with @nikkolasg, @whyrusleeping, @dignifiedquire :

  • sizing considerations come out about even with some tradeoffs made
  • timing considerations, BLS is worse; but not meaningfully so, quick back of the envelope math with BLS about 100x slower than secp to verify (which is highly conservative) means verifying a year's worth of blocks would take on the order of ~10 hours rather than dozens of minutes (nbd either way). Happy to redo the math if there is demand.
  • the bulk of the reasoning was to try and use as few sigs as possible in our impl. We know we need BLS (for aggregation of trx), we may not need secp in the future.
  • I had understood, if memory serves, that both had appropriately the same type of support in libraries, though indeed libsodium as used by algorand is nice.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions