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

redelegation limitation #4015

Open
Fraccaman opened this issue Nov 12, 2024 · 4 comments
Open

redelegation limitation #4015

Fraccaman opened this issue Nov 12, 2024 · 4 comments
Labels
bug Something isn't working PoS

Comments

@Fraccaman
Copy link
Member

Redelegating to a validator makes any redelegations from that validator fail.
As an example:

  • User A has 10 nam bonded to validator X
  • User A has 10 nam bonded to validator Y
  • User A redelegates 5 nam from validator X to validator Y
  • User A redelegates 5 nam from validator Y to validator Z
    • this transaction fails, even if user A has enough bonded tokens
@Fraccaman Fraccaman added bug Something isn't working PoS labels Nov 12, 2024
@Liver-23
Copy link
Contributor

but is it a bug? how do other cosmos chains do that?
coz when you redelegate to any other validator, your tokens are blocked for the unbonding period as you undelegated them, so you can't redelegate too often force and back and to and from the same validator, therefore
this is some kind of cometbft default behaviour

it is a default thing in cosmos to prevent hopping, I just checked with two chains in Keplr app
Vivaldi 2024-11-13 11 48 07

@Liver-23
Copy link
Contributor

otherwise, you can start hopping on and hopping off creating unrequired VP changes too often
imagine you have 30% of vp affect possibility
and you are jumping between validators each 1-2 blocks

@brentstone
Copy link
Collaborator

brentstone commented Nov 14, 2024

This is not a bug but more likely just a limitation of the software in some respect. @Liver-23 It is enforced in Namada's protocol too that tokens that were already redelegated cannot be redelegated again before they wait the unbonding period.

But the example that @Fraccaman brings up is that Namada currently restricts you from redelegating any tokens from a validator X if you have recently redelegated other tokens to validator X. So even if you have tokens bonded to X, some of which are redelegated and some of which are not, you are unable to even redelegate the tokens that were not themselves redelegated to X. I think it may have had something to do with the order of iteration for unbonding that would've made it difficult to do this otherwise.

Overall, I don't think this is a concerning feature to have. If anything, it keeps the protocol safer.

@Liver-23
Copy link
Contributor

Liver-23 commented Nov 14, 2024

AFAIK
What we discussed in Discord: how can you distinguish which tokens were redelegated and which were not?
If 5 from A moved to B, which had 10 before and now 15, and you allow to move the other 10 from B to C that literally means the initial 5 can be moved from B to C right after the movement from A to B as tokens do not information about which were moved and which were not.

For sure, if I am missing something and it is possible to distinguish between moved and not tokens, this would be a nice protocol improvement of the usability

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working PoS
Projects
None yet
Development

No branches or pull requests

3 participants