-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Properly prevent slashing during offchain phragmén election window. #5188
Comments
Some dumps from a chat offline with @tomusdrw and @rphmeier:
so: a solution, at the time of submission (not generation -- these can be a few blocks apart) will always create a valid exposure. please verify though. any slashing after solution has already been submitted and queued will f*** sh** up if the slashed validator is in the winners list. I am basically focusing on this note from Rob:
and what we can do is perhaps:
I think the final solution that I named above is a good way to go about this. |
If I understand you correctly, yes. A sequence of events
Yup, I think invalidating a solution if it overlaps with a slash submitted afterwards will work fine. I think you meant this, but I'll clarify that overlap in slashed nominators, not just in validators, should be considered just to have it on the record. Like you said, the fact that it's not free means that we've got a non-zero griefing factor which means that we have room to tweak fees if this ends up being a probem in practice, but I doubt it will be. |
not relevant anymore. |
the problem is brief: no exposure shall change while staking is accepting and processing solutions for the next era.
with the current proposed solutions at #4517 and #5151, we do this at the offences module, preventing further queuing complexity to be leaked into staking. Ideally though, this logic isn't really pertaining to the offences module and should live in staking (or even elsewhere, open to discussion).
Implementing this in Staking would be rather involved since there is already a parameter there for
SlashDeferDuration
.Additionally, an update to this should make sure in all storage items of
Offences
, we don't store duplicateIdentificationTuples
. They resolve toExposure
which can be very big and unnecessary to store per validator in case of multiple offences, since they are the same. See #5151 (comment) for more detail.The text was updated successfully, but these errors were encountered: