-
Notifications
You must be signed in to change notification settings - Fork 0
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
Problem with processing evidences too late #21
Comments
The issue manifests even if the slash is processed at the end of the found epoch.
Is this expected? |
ah, I think this is the same issue as what we also uncovered in anoma/namada#366 :) |
Yes, that was my impression as well. |
To fix this issue, we have agreed to make the following changes:
|
Updated execution with the above changes. Assume that a piece of evidence is processed at the end of the epoch in which it is found.
Assume now that a piece of evidence is processed by the evidence epoch +
These executions seem to imply that the fix solves the issue and that slashing is guaranteed if the evidence is found within the unbonding_lenght period, as required. |
There might be an issue that allows users to withdraw tokens without being slashed even when the misbehaving validator is caught on time. Here is an execution:
user
hasa1
tokens delegated toval
user
undelegatesa1
tokens fromval
ate
. This creates an unbondu1
record s.t.u1.start < e && u1.end = e+unbonding_length
. Note that the validator'stotal_deltas
includes thea1
tokens fromuser
untile+unbonding_length
evidence
is found for an actionval
did at epoche+1
.evidence
is scheduled to be processed by the end ofe+unbonding_length+1
user
withdraws bye+unbonding_length
.evidence
has not been processed, thereforeuser
withdrawa1
tokens (without slashing)I think we need to consider ongoing unbonds to decide when to process evidences. Also, this will impact the solution for #7
The text was updated successfully, but these errors were encountered: