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

Validator re-jailing issues #249

Closed
jtremback opened this issue Mar 10, 2021 · 3 comments
Closed

Validator re-jailing issues #249

jtremback opened this issue Mar 10, 2021 · 3 comments
Labels
bug Something isn't working

Comments

@jtremback
Copy link

When a validator unjails themselves, they do not have signed_valsets_window blocks to submit signatures because they are held accountable for validator sets created while they were jailed. Furthermore, you cannot submit signatures while you are jailed, so it's not possible for them to catch up and then unjail themselves.

Possible solution 1:

  • Allow jailed validators to submit valset signatures.
  • The problem with this is that we need to give validators the caveat that they need to catch up on signing before unjailing themselves. This is an unacceptable mental load for most validators.

Possible solution 2:

  • Forgive jailed validators for any valsets they missed while they were jailed
  • Proof that this is not exploitable by someone jailing and unjailing themselves repeatedly or something will be provided by Justin in the comments below.
  • There could be other issues that Justin will explore further in another documents.
@jtremback jtremback added the bug Something isn't working label Mar 10, 2021
@jkilpatr
Copy link
Member

So we can't forgive the validator for any validator sets that where created while they where jailed. At least not without creating another slashing condition to deal with the fallout.

Imagine a scenario where we have two validators, each has 32% of the stake and they leave the validator set in back to back blocks. This is perfectly allowed by tendermint.

Neither of them sign any additional validator sets and simply rejoin fully forgiven after the jail period is up

After they both left an essential validator set was created, since they where forgiven and didn't have to sign that validator set control of the bridge is lost.

After considering this it seems to be that solution 1 is viable and easy to implement (write some docs and a minor edit to submit valset signatures) so we should at least do that one for now.

@jtremback
Copy link
Author

Solution 1 may be a deal breaker for the Hub I suspect.

@jkilpatr
Copy link
Member

it is now possible for validators to submit signatures while jailed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants