-
Notifications
You must be signed in to change notification settings - Fork 39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
BFT-457: Simplify batch signature #126
Conversation
8a1f741
to
b5b3c64
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approved! Not relevant for now, but just want to remember that after EIP-2537 gets merged (maybe early next year) attester keys will use BLS and we will have aggregate signatures again.
@aakoshh can we have keep the AggregatedSignature, so that moving between bls and ecdsa is just swapping implementations? I don't think it is a good idea to remove an abstraction layer which we will reintroduce later, especially since it affects the proto layout. |
I assume you wish to keep the We can keep it, sure. I'm wondering if the bitmap could be moved into it, though, so that it's a bit more self contained? So you would have e.g. I am guessing you don't want this kind of dissonance though, so, never mind. |
I'm asking because "just swapping" implementation isn't exactly true if the |
I'd also not keep the ability to verify different messages on the |
I mean, yeah, protobuf will contain different data for different signature schemes. |
I added the following:
This doesn't follow the pattern of e.g. As a side note: since the |
What ❔
Replaces the
AggregateSignature
types inattester
with aMultiSig
usingsecp256k1
keys and signatures.Why ❔
Because
sepc256k1::AggregateSignature
required O(n^2) work in verification, due to losing the information in which order the signatures were added and who they belong to. Since the ability to aggregate signatures over different messages isn't needed for attesters, storing signatures together with the corresponding public key simplifies verification and will make it easier to submit the data to Solidity as well.