Skip to content
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

celostats shows correct info under key rotation #1692

Closed
timmoreton opened this issue Nov 13, 2019 · 0 comments · Fixed by celo-org/celostats-frontend#16
Closed

celostats shows correct info under key rotation #1692

timmoreton opened this issue Nov 13, 2019 · 0 comments · Fixed by celo-org/celostats-frontend#16

Comments

@timmoreton
Copy link
Contributor

timmoreton commented Nov 13, 2019

A validator rotates either one or both of its keys (ECDSA, BLS) by bringing up a second celo-blockchain process with the new keys AND a new proxy, then calling a smart contract function.

If the existing validator was not elected, it can be safely taken down first. If the existing validator was elected and is actively validating, then it will continue to do so until the end of the epoch using its existing keys, then in the new epoch the new validator will suddenly find itself able to participate in consensus.

This means, in the union of the current elected set of validators and registered validators, there may be multiple entries that share an account. Since we support independent key rotation, these entries may even have the same account AND (either) the same ECDSA public key or BLS public key.

so:

  • we can't assume the celostats whitelist can be based just on ECDSA key, since that can be changed and doesn't line up with a single entitiy (it needs to be based on validator account)
  • we can't assume that stats with the same ECDSA key are coming from the same validator instance -- we need to take something else like nodekey into account to disambiguate them
  • we will want to show first few bytes of public keys for BLS and ECDSA in each line so we can disambiguate them (imagine you are rotating keys and want to see if the new instance is successfully reporting)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants