Skip to content
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

tech debt: refine unbond/opt-out/did-propose states on x/sequencer #1617

Open
danwt opened this issue Dec 5, 2024 · 2 comments
Open

tech debt: refine unbond/opt-out/did-propose states on x/sequencer #1617

danwt opened this issue Dec 5, 2024 · 2 comments

Comments

@danwt
Copy link
Contributor

danwt commented Dec 5, 2024

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

@danwt
Copy link
Contributor Author

danwt commented Dec 5, 2024

cc @srene

@srene
Copy link
Contributor

srene commented Dec 5, 2024

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).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants