Closed
Description
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
Labels
No labels