-
Notifications
You must be signed in to change notification settings - Fork 15
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
Jailed validators are not correctly removed from the set of active validators #1453
Comments
validator assets will remain in the asset table. is it important to somehow identify those assets as belonging to jailed or inactive validators? |
It sounds like a privacy leak |
I don't think that's the case, because those extra calls are done systematically, rather than based on specific user activity. This is an extension of the strategy of fetching the entire active set, only to account for a limited RPC response we have to detect validators that have stopped being indexed by the chain (i.e., jailed or tombstoned) and fetch specific rate data for those identities. This is done by everyone on every modern epoch transition though. |
I think what we really want to avoid (and OP doesn't suggest this) is detecting that we have stale rate data when processing user actions, and doing an extra call then. That solves the problem of stale rate data, but telegraphs to the RPC what the user is doing in real time. |
We can't remove data about jailed validators, because users may have stakes in those validators, and we have to provide a way to undelegate or redelegate. If the user sync from the beginning after epoch 5 and the validator remains jailed, we will never know about the existence of this validator and will lose the user stake |
Given a high priority because many users are facing the effects of this issue in mainnet fyi @grod220 |
@erwanor what do you think about that? I don't see a way to get jailed validators in the modern epoch. This means that if a user had a stake on a validator that is now jailed, we wouldn't be able to display it. |
users are complaining about this and it is now more urgent |
Not all validators are returned in a
ValidatorInfoResponse
, even if the flagshowInactive
istrue
.This means that some classes of validator, including jailed validators, will fail to transition out of 'active' state.
The block processor should either
If (2) then the block processor could specifically query validator info for specific validators that the user may be interested in.
The text was updated successfully, but these errors were encountered: