You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Facts
- On rotate start, we start notice
- On rotate to sentinel we hard fork
- On hard fork we opt out all, and set proposer unbonded
- We don' allow opt in if notice started
- Pure slash proposal only touches tokens
What is the problem/confusion?
On a rotate to sentinel, we hard fork, and opt out all, and set proposer unbonded
But the sequencer still has unfinalized states, does that mean he has nothing at stake to be slashed?
Answer: no because we still don't allow him to refund tokens without checking CanUnbond
But, it's still really confusing because then bonded is not synonymous with having tokens locked up
Other areas:
Does this apply in kick?
In kick, the tokens are already low/they already got slashed
Answer: no
Does this apply in rotate not to sentinel?
We don't unbond them, so unbond will work intuitively
Note: they also cannot be chosen as proposer again, because we prevent opt-in after notice started
Answer: no
How to improve?
Bonded status should not be overloaded to determine if proposing is possible again
We should add a new boolean state 'wasProposer' to sequencer object
Then
- Proposer choice requires (!wasProposer && optedIn && bonded)
- We do not unbond on hard fork
- We can remove notice started check from opt-in, it won't be necessary anymore
The text was updated successfully, but these errors were encountered:
other than the confusion on having sequencers in unbonded state that cannot withdraw the bond, its not very clear to me why active proposers that didnt commit any fraud, cannot be selected as proposer again after fork (e.g. deprecated drs fork), and rotation is forced for something external to them (taking into account that their bond can not be released yet and therefore they cannot create a new sequencer with the previous bond).
The text was updated successfully, but these errors were encountered: