stacksgov / sips

Community-submitted Stacks Improvement Proposals (SIPs)
132 stars 80 forks source link

Stacks 2.1: Unlock tokens that aren't eligible for reward slots #7

Open agraebe opened 3 years ago

agraebe commented 3 years ago

In the current implementation, stackers will continue to see their tokens locked even if they don't qualify for a reward slot. This could happen on various occasions, for instance:

It would be great if tokens were not locked up if they are not eligible for rewards

314159265359879 commented 3 years ago

If you lock your tokens for, lets say, three cycles. You lock 100k yet only 70k was needed for a slot in the first cycle. If 30k unlocks and the thresshold goes up on the next cycle does that mean you will miss the next one because the excess was unlocked?

314159265359879 commented 3 years ago

I think it would be more logical to set a maximum number of stx in a wallet that may be locked for x cycles (for example 200k stx). Then in the prep cycle after calculation of the requirement for a slot (say 80k) the commitment is set to the maximum number of slots that can be occupied (160k stx in the example).

agraebe commented 3 years ago

I think it would be more logical to set a maximum number of stx in a wallet that may be locked for x cycles (for example 200k stx). Then in the prep cycle after calculation of the requirement for a slot (say 80k) the commitment is set to the maximum number of slots that can be occupied (160k stx in the example).

I think this is a great idea

jcnelson commented 3 years ago

This would require a hard fork to implement. Per SIP-011, this does not meet the criteria for a hard fork. Also, I think this might be illegal -- I think there was a reason Hiro engineers had to make it so people have to explicitly lock their tokens and keep them locked.

But, what if you did the following instead (which could be done right now)?

This way, you can continue to trade your STX (in the form of a future) while they remain locked up. The bearer of the stx-future gets to redeem the STX, so you could sell them on a secondary market while they're locked up.

jcnelson commented 3 years ago

I went ahead and wrote up a prototype stx-future contract here: https://github.com/jcnelson/stx-future