HIP-9: Institute Last Out, First In Redelegations for Staking

TLDR:
-Current staking process is set up for First Out, First In when undelegating and redelegating One to stake with Validators.
-This creates delays if you undelegate One with the intent of removing them from the staking portal, and have undelegated multiple times over multiple epochs, but need to redelegate before the 7 epoch wait time is over.
-New proposal to reverse this, so last out is the first in for redelegation of One.

Example:
Current set up:

  1. Undelegate 10k One on epoch 625 with intent to wait the 7 epochs and use the One for farming.
  2. Undelegate 10k more One on epoch 627 with intent to restake with a different validator for any reason.
  3. Redelegate 10K one to a different Validator on epoch 628.
    Result: The system redelegates the 10k from epoch 625, leaving you with 6 epochs remaining to receive your 10K one instead of 4 epochs remaining.

Proposed Last Out / First In Example:

  1. Undelegate 10k One on epoch 625 with intent to wait the 7 epochs and use the One for farming.
  2. Undelegate 10k more One on epoch 627 with intent to restake with a different validator for any reason.
  3. Redelegate 10K one to a different Validator on epoch 628.
    Result: The system redelegates the 10k one from epoch 627, leaving you with 4 epochs remaining. Last Out / First In

This has been a problem for me multiple times. I think it is fair to allow people to redelegate the Last Out coins and preserve their undelegation 7 epoch wait timeline instead of starting over.

19 Likes

I think this a great idea. Good quality of life improvement!

3 Likes

Need this feature, it will improve compounding gains :grinning:

1 Like

I like the idea. And it doesn’t appear it would effect slashing.

1 Like

I think this is an excellent idea and it should be implemented. I’m sure that it perfectly embodies the true purpose of every delegator that is undelegating a certain amount

1 Like

Very good idea. To be implemented :ok_hand:

Interesting idea - and I totally get your use case.

In terms of avoiding “bad actors”, wouldn’t that allow someone to:

  1. Undelegate 100 million ONE on epoch 625 “with intent to wait 7 epochs”
  2. Undelegate 100 million more ONE on epoch 627 w/ 30 seconds remaining
  3. Redelegate 100 million 30 seconds later in a potentially malicious manner?

Playing devil’s advocate and trying to learn more. It may be that the proposal is totally fine. Just worried about potential stability and large amounts of money moving all over the place in small amounts of time for malicious reasons.

I think we should just go for the full monty and take the undelegation period back to 1 epoch. In the beginning it was only 1 epoch and it was awesome. Liquidity is King!

2 Likes

Sounds great to me, I was not aware this had become an issue.

In your example, the system would redelegate the 100 million one from epoch 627 on epoch 628, preserving the epoch 625 undelegation timeline. That is the entire intent of this.

I’m in favour of having this implemented. I for 6 days have been waiting for undelegating small portion of my holdings. If I was aware of this issue, I would have stopped myself from redelegating back to a new delegator. I was only 2 epochs away from getting my unstakes back.

But since I was unaware of this issue, I did re-delegate to a new validator, which resulted in another 7 epochs extension of undelegation of the same amount of holdings.

2 Likes

@sophoah @lij @rongjian Is this something that is feasible for the protocol?

@SnacksFighter is this something that you still wish to put to a vote?

This idea makes a lot of sense, love it! Hope it gets the attention it deserves :slight_smile:

1 Like

@sophoah @lij @rongjian Is this something that is feasible for the protocol?

@SnacksFighter is this something that you still wish to put to a vote?

Any Update so we can potential put this to a community Vote?

2 Likes

I like that one :slight_smile: and yeah, I believe everything is possible, this would just need proper implementation and testing on the protocol side.

@rongjian any comments on that one ? we can create a bounty so to see if any community dev can have a look ? what do you think ?

4 Likes

Sounds like a good proposal. We can go for a community voting on this. And the implementation is straightforward.

4 Likes

Thanks for the reply.

This is great news.

I will arrange a vote!

4 Likes

Perfect, looking forward to it!

2 Likes

2 Days left on voting:
https://gov.harmony.one/#/dao-mainnet/proposal/QmTy415weDCQd88QBaBYBSW6Ux75JiraMuyjwtSMEaEJBQ

@Maffaz did a list with those who have not voted so far. Can we bring them to vote? This is a great HIP that helps very much the delegator.

Validators not voted

2 Likes