Open philippecamacho opened 1 year ago
Yes, and it only needs to be done one-time when registering the key. No need to have it in the consensus protocol.
Given our specific context (the staking verification keys are stored in a smart contract table) we can consider the following alternative (see notion discussion):
Unless a malicious user is able to convince someone owning $sk$ to sign his ethereum address $A$ the registration process ensures the user actually owns $sk$.
When a public key is registered to the stake table, it must come with a Proof of Possession in order to avoid rogue key attacks on BLS signature aggregation (see https://eprint.iacr.org/2018/483.pdf section 1.1)
Implement the algorithm to both generate and verify this proof following https://www.ietf.org/archive/id/draft-irtf-cfrg-bls-signature-05.html#section-3.3.
See related discussion.