stacks-network / stacks-core

The Stacks blockchain implementation
https://docs.stacks.co
GNU General Public License v3.0
3.01k stars 667 forks source link

PoX Cooldown Cycle #4912

Open andrerserrano opened 3 months ago

andrerserrano commented 3 months ago

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!

philiphacks commented 3 months ago

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

hstove commented 2 months ago

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.

philiphacks commented 2 months ago

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