-
Notifications
You must be signed in to change notification settings - Fork 16
Description
Why is a BLS signature used in PopProve and PopVerify? Am I missing something?
I suppose BLS PoP save some space especially if you "aggregate" many PoPs, using their messages' distinctness. Yet, it's always much faster to verify a Schnorr PoP thought, no matter the aggregation used. I'd expect BLS deployments might download PoPs once but verify them numerous times, like upon node restarts, signer set changes, etc.
In my mind, the question was between witness (R) and challenge (c) variants for Schnorr PoP since R permits batch verification but increases Schnorr signature size for pairing friendly curves. I've leaned towards the c form because (1) cashing verification sounds vastly more important (2) pairing friendly curve crates rarely implement Pippenger right now, and (3) deserializing R can be extremely slow.