stacks-core icon indicating copy to clipboard operation
stacks-core copied to clipboard

PoX Cooldown Cycle

Open andrerserrano opened this issue 1 year ago • 7 comments

Is your feature request related to a problem? Please describe. The cooldown cycle for unstacking from a pool presents a problem for network decentralization. As a user, when I delegate to a signer and that signer doesn't perform and gets low yield, I get penalized for switching. In today's model with cooldown cycles, users get double penalized if a validator doesn't perform. Even if there are penalties for signers not performing / being down, the switching costs are too high for users to switch (2 weeks worth of yield is a lot).

To build a decentralized and incentivized network, we’d have to be able to re-delegate to a new signer without cooldowns.

Describe the solution you'd like Removing the cooldown cycle from switching between stacking pools in PoX will help with network decentralization and lower the switching costs for stackers. In Stacks 2.1, we previously removed the cooldown cycle for extending with a single stacking pool. The solution here is to remove it when a user switches between different stacking pools.

Additional context This is an important feature for the sustainability of the Stacks Signer network. We have heard feedback from stacking pools that this feature would ideally be included in an upcoming hard fork. I would appreciate feedback on how trivial this would be to implement. Thank you!

andrerserrano avatar Jun 26 '24 16:06 andrerserrano

+1

With Stacking DAO we will want to redelegate stake from signers that are not dedicated, lower performing, ... to higher performing signers. This is impossible today without hurting the yield of the LST (stSTX), by going through a cooldown cycle.

philiphacks avatar Jun 26 '24 18:06 philiphacks

Hey @philiphacks, I would push back slightly at your statement. You can extend a delegation with a different signer key as long as you keep the BTC reward address.

This doesn't solve the problem for individuals, though, if they wanted to move from pool A to pool B.

hstove avatar Jul 11 '24 16:07 hstove

@hstove oh I see, I wasn't aware of that, will try it out!

philiphacks avatar Jul 11 '24 22:07 philiphacks

Here is a discussion how to get rid of the Cooldown cycle with not too much effort:

https://forum.stacks.org/t/remove-cool-down-cycle-in-stacking/17899

Main idea:

  • move the beginning of the prepare phase by 50 or 90 blocks. With Nakamoto, this would not cause too many concerns
  • unlock stx 100 blocks earlier at the end of the locking period.

Maybe we need to add an emergency fallback solution, if the 50 or 10 blocks are not sufficient to find the anchor block.

friedger avatar Mar 21 '25 21:03 friedger

@friedger sounds very interesting

I would emphasize that we really need to find a way to get rid of the cooldown cycle asap. Stacking is ever growing more centralised and because switching costs are so high for users (cooldown cycle) it becomes very difficult for new validators to enter the system. The current situation poses severe risks for network decentralisation

tycho1212 avatar Mar 22 '25 15:03 tycho1212

Would love to see this, removing the cooldown cycle would improve PoX a lot. Proposed changes make a lot of sense 👍

nieldeckx avatar Mar 24 '25 14:03 nieldeckx

This seems like a great proposal @friedger! I don't understand all the technical ins and outs but from a UX/functional point of view this is really needed to help with the decentralisation of the network.. excited to see this get through!

philiphacks avatar Mar 25 '25 09:03 philiphacks