-
Notifications
You must be signed in to change notification settings - Fork 145
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
Soft opt out implementation may lead to incorrect jailing #1517
Comments
A solution is to have a flag for every CCV validator in the consumer module. This flag indicates whether a validator is part of the 95% or not. We can update these flags here when we update |
For sure with RS introduction there's an issue that instead of binary state of validator's presence in active set (it's either active or not) there's a ternary state (not active; active but its voting power is above SmallestNonOptOutPower; active but its voting power is below SmallestNonOptOutPower) and I think it should be reflected somewhere in responses, while it isn't now. |
@freak12techno Your suggested solution would require changes to the slashing module in the SDK. Since this is a very ICS specific thing, it may not be worth while to bringing into mainline SDK, which means that consumers will end up using forks of SDK, which is something we want to avoid as much as possible. That's the reason the soft opt out feature was implemented in the ICS consumer module. The downtime logic is unchanged, we only changed what happens once a validator is identified as down. |
Summary of Bug
Due to the soft opt out feature, validators in the bottom
SoftOptOutThreshold
(default: 5%) can opt out of validating consumer chains without getting jailed. However, if one of these validators gets into the top e.g., 95%, then it get's jailed immediately. This is because in the downtime logic of the Slashing module on the consumer chains the missed blocks are counted even for validators in the bottom 5%. The soft opt-out logic just stops the consumer CCV module from sending SlashPackets for these validators (see here).Thanks to @freak12techno for notifying us of this unexpected behavior.
Version
f1a6129
Steps to Reproduce
For Admin Use
The text was updated successfully, but these errors were encountered: