On 9.12.2022, a large amount of disputes flooded the network.
Other validators had issues handling the flood of messages, the disputes-coordinator became unresponsive, causing other subsystems to shut down. The disputes-coordinator task never fully finished, preventing the node to completely shutdown (where it might usually be automatically restarted depending on the setup). While in a zombie state, the node wasn't able to produce imonline heartbeats or produce blocks unless the validator manually restarted the node, causing many offline events.
Enough validators had offline events for there to be correlated slashing.
As a consequence of the amount of validators offline, election results also failed, whereby the only way for elections to happen again is for an election solution to be submitted via governance.
Elections can only start again with governance is restarted.
Chilled validators wont be able to validate again until the election via governance is restarted.
What is this proposal meant to execute?
From the validator set PoV there are 3 action items to execute:
Cancelling the slash so that no account balances get changed.
Resuming elections, which will work but with a validator set that is relatively weak. This brings us to point 3:
Reversing the chilling, which is unfortunately difficult to do given how the data is laid out on-chain (we need to change one filed in a struct in a map, and doing it via system::set_storage is tricky because there could be more slashes in the meantime). A PR is ready to execute this, but a new runtime will be needed for this last point.
This proposal aims to execute 3 calls :
canceling the slash
lowering min_untrusted_score by 20% (to help deal with the low quality elections in the meantime)
force set the validator set, represented by the full exposures
Proposal Fixing The Last Slashing Event On Kusama
What happened?
What is this proposal meant to execute?
From the validator set PoV there are 3 action items to execute:
system::set_storage
is tricky because there could be more slashes in the meantime). A PR is ready to execute this, but a new runtime will be needed for this last point.This proposal aims to execute 3 calls :
min_untrusted_score
by 20% (to help deal with the low quality elections in the meantime)