oxen-io / oxen-core

Oxen core repository, containing oxend and oxen cli wallets
https://oxen.io
Other
313 stars 120 forks source link

Remove decreasing staking requirement #1221

Closed KeeJef closed 3 years ago

KeeJef commented 4 years ago

Right now we have a staking requirement that will continue to decrease from its current ~16,700 to a low of 15,000 , however this will take until block 1,000,000 to occur, which is ~400,800 blocks (1.5 years) away. In the meantime this gradual decrease is contributing to a number of slight issues.

Overall i think the decreasing staking requirement has served its purpose well, we have come a long way from the original staking requirement of 45,000 Loki, however now that the staking requirement is very close to the agreed upon 15,000 Loki i think its time to retire it and drop down to 15,000 immediately instead of waiting another 400,000 blocks.

jagerman commented 4 years ago

i think its time to retire it and drop down to 15,000 immediately instead of waiting another 400,000 blocks.

I think this drop should coincide with the launch of decentralized Blockswap, which will likely introduce other changes to rewards and introduce alternative staking requirements.

yidakee commented 4 years ago

Yes! Indeed a move I support. I always thought the decrease was too slow, but not smart enough to comment on how that would affect the overall tokenomic dynamic. @jagerman curious to know why coincide with Blockswap and not Pulse? The way I see it it makes more sense with Pulse. It will create a more robust network with less unlocking cycles, which will fortify staking appetite and more HODLing given the fixed values. Then, when Blockswap comes into fruition the network state will allow for a higher commitment to VNs and no longer long term projection based on decreased block rewards are factored in.

CryptoFirefly commented 4 years ago

+1 Great idea!

The drop from current to 15000 Loki is just 10%, so it's not going to be a significant change to the curve or the ROI or other reward dynamics.

But, if definitely helps simply a lot of things..

  1. New users can make sense, as the first question anyone one has is what's the Staking amount. And 15000, and 3750 could be the standard answers.

  2. Calculating rewards becomes easier and also for the Node ranking sites who currently find it troublesome to map the staking requirement curve.

  3. Get rid of frequent unlocks to readjust to lower stake.

  4. Everyone gets same stake to reward ratio.

  5. Free up some Loki quickly for more liquidity for exchanges and BlockSwap.

KeeJef commented 4 years ago

I'm pro doing this with the Pulse HF instead of waiting until the Blockswap HF

jagerman commented 4 years ago

@jagerman curious to know why coincide with Blockswap and not Pulse?

Because blockswap will create new staking categories for vault nodes, and new liquidity demands for LOKI, and so it is likely to induce a significant number of unlocks of regular service nodes to transfer LOKI into those new purposes. This is certainly going to drop the number of active (regular) SNs, but a drop of 10% (or so) of the staking requirement would mitigate that. Whereas if we drop it now we induce a bump to number of SNs now, then a bigger drop later when blockswap comes around.

jagerman commented 4 years ago

Another alternative: with Pulse we could eliminate the curve and just fix it at 16500, then blockswap could drop that to 15000 (or some other appropriate value).

SomethingGettingWrong commented 4 years ago

I like the idea of stabalizing the cost at any number rather then set on 15,000 personally. I think timing it for block-swap instead of pulse is better and I was already thinking that before I read Jasons reply.

I realize no one knows the correct amount of nodes but i feel the first time vault nodes come online and service nodes owners see the profitability their is gonna be a lot of people unlock and then re lock because so many servicenodes unlocked profitability is gonna balance out.

Is there any reason to conicide it with pulse over blockswap?

I would also like to change the unstake time from 15 days to 30 days to remove the incentive of unlocks on massive price changes

15 days has been tested enough to know its not long enough... People need to be selling rewards...not entire nodes into the liquidty thats available..

image

jagerman commented 4 years ago

15 days has been tested enough to know its not long enough...

Would 30 days make any practical difference? 15 days is already long enough that you're effectively going to miss out on any price swing that isn't sustained. If you really want the ability to dump a node on short notice you could always just continually unlock all your nodes, spread out over the unlock cycle. (For example, if you have 10 nodes, you'd have an unlock completing every ~1.5 days).

yidakee commented 4 years ago

@jagerman why the laddered approach? All that would happen is 100% of SN's unlocking come Blockswap fork, in bulk. Would be highly hazardous. That is what I am defending. Change it directly to 15k on Pulse and be done with it.

jagerman commented 4 years ago

All that would happen is 100% of SN's unlocking come Blockswap fork, in bulk.

That may well happen anyway if we think 15k is too high to sustain sufficient SN stakes + vault node stakes + vault liquidity. So we'd drop it now to 15k, then again to 10k (just to pick a number out of the air).

yidakee commented 4 years ago

Well, for the sake of discussion, what advantage do you see in the 16.5k first instead of straight to 15k? I defend tokenomic stability as fast as possible, and along with Pulse I do believe it will have a significant market knee-jerk reaction upwards.

Skelaton4 commented 4 years ago

The current system is annoying and difficult to explain to newcomers, which hopefully we will have a lot of in the near future.

Bring us to 15k at the Pulse HF.

Lucifer1903 commented 4 years ago

I vote for fixing it at 16500 at pulse HF, then 15000 at blockswap hardfork.

SomethingGettingWrong commented 4 years ago

15 days has been tested enough to know its not long enough...

Would 30 days make any practical difference? 15 days is already long enough that you're effectively going to miss out on any price swing that isn't sustained. If you really want the ability to dump a node on short notice you could always just continually unlock all your nodes, spread out over the unlock cycle. (For example, if you have 10 nodes, you'd have an unlock completing every ~1.5 days).

You can solve this issue by decreasing unlock time by a factor of how long a node has been locked! If its been locked a year it can unlock at say 15 days.. if its been locked 2 weeks then it takes "X" days to unlock.

In this way you cant stagger them.

15 days would be the minimum unlock time. The maximum unlock time is say 45 days are something and it counts down to 15 for every block its locked.

720blocks*30=21,600 blocks

So base a formula off that

If its been locked 21,600 blocks it can unlock at 15 days... if its been locked less it would be cross multiplying 45 days into 21,600 blocks etc multiplied by the number of blocks its been locked.

I hate the fact 30 servcienodes unlock all at once on a price change.

jagerman commented 4 years ago

Well, for the sake of discussion, what advantage do you see in the 16.5k first instead of straight to 15k?

Because 16.5k is just about what the staking requirement will be at the pulse HF, and I am skeptical that 15k will be a sustainable number with blockswap's added LOKI staking needs.

Basically I'm suggesting that we just stop the curve for now (because there are numerous advantages in doing that) until we have some estimates of what we need the value to be with blockswap and then jump it down, rather than jump it down now and then again with blockswap.

jagerman commented 4 years ago

You can solve this issue by ...

There's all sorts of interesting things that could be done. For instance, you could also factor in the decomm credit so that you factor in both the amount of time it has been staked (it takes 55 days of no downtime to maximize it) and the reliability.

But this seems a bit outside the goal of the discussion here, and I think deserves its own separate discussion. Let's just keep this discussion focused on the staking fixing + drop because it's a simple change we could throw together right now; more complex unlock rules are probably out of the question for the upcoming HF.

Lucifer1903 commented 4 years ago

I wouldn't be opposed to increasing the unlock time. How about 25 days unlock and 50 days deregistration/penalty lock?

SomethingGettingWrong commented 4 years ago

I think freezing the requirement at current amount is just as good as 15,000 . just freeze it at pulse at the current requirment at that time and then take it from there at blockswap.

yidakee commented 4 years ago

Because 16.5k is just about what the staking requirement will be at the pulse HF, and I am skeptical that 15k will be a sustainable number with blockswap's added LOKI staking needs.

Then more a case to drop it now to 15k. If it works for Blockswap then great. We're already there, no need to mess with another param on Blockswap HF. If it needs further decreasing then apply it.

Ultimately, we will drop to 15k regardless (if this discussion passes), so I argue/propose we do it on Pulse HF and be done with it.

jagerman commented 4 years ago

Early results suggest I'm not convincing many people, so I set it to 15k in the draft PR pending more discussion here.

necro-nemesis commented 4 years ago

My feeling is this decision largely effects the total node count resulting from a slightly higher projected 1/4 stake amount. Agreed restaking is a PIA. Should the stake requirement be fixed here or at some other amount based on impact to node count?

CryptoFirefly commented 4 years ago

Also the current tail emission is adding 6,570,000 Loki every year. And with Blockswap if we don't change the Block Reward per block or even if we goto 21 per Block, we have 5-6 mil new Loki every year, so the Stake per node shouldn't need to go below 15k, the new Loki getting into the Supply should take care of Loki we need for staking and BlockSwap.

I understand Jason's concern on having the step down, but believe it's not a huge impact given the % change is not large.

Also at the Blockswap HF you'll have one less parameter to add to so many complexities.

jagerman commented 4 years ago

I understand Jason's concern on having the step down, but believe it's not a huge impact given the % change is not large.

There seems to be enough consensus on dropping it to 15k at the next fork so I'm fine with it.

necro-nemesis commented 4 years ago

I understand Jason's concern on having the step down, but believe it's not a huge impact given the % change is not large.

There seems to be enough consensus on dropping it to 15k at the next fork so I'm fine with it.

Has the impact of such a fork potentially causing a large scale simultaneous unlock to re-stake at 15k been considered?

pailakapo commented 4 years ago

I like numbers that are easily divisible by 4 (not sure why :) ).

I propose a fixed 16k at the next fork.

Then, after seeing how the SN operators react, we'll have a much clearer idea how the move to 15k or below will be handled for the next move down.

Haafingar commented 4 years ago

Has the impact of such a fork potentially causing a large scale simultaneous unlock to re-stake at 15k been considered?

I am a bit concerned with this. I definitely agree that if we are going to drop to a fixed value of 15k it should be done long before VNs enter the picture, but also worry that this restructure may cause a mass deregistration event where people try and unlock to reduce their staked amount all at once. This could be troublesome especially since SNs at this stage will be the ones providing the security and the blocks on an ongoing basis...food for thought

Lucifer1903 commented 4 years ago

We could have 2 hardforks, one to drop the stake and another in implement pulse.

Skelaton4 commented 4 years ago

Has the impact of such a fork potentially causing a large scale simultaneous unlock to re-stake at 15k been considered?

I am a bit concerned with this. I definitely agree that if we are going to drop to a fixed value of 15k it should be done long before VNs enter the picture, but also worry that this restructure may cause a mass deregistration event where people try and unlock to reduce their staked amount all at once. This could be troublesome especially since SNs at this stage will be the ones providing the security and the blocks on an ongoing basis...food for thought

My thinking is that majority of nodes are staked between 16k-18k Loki already; with most with fees ranging from 8-15%. I don't think that most Service node operators will find it worthwhile to unlock and compete again for highly competitive staking fees, just to free up 1-2k Loki. Also, consider any fees north of 15% operators are unlikely to unlock as those % are unlikely to happen again,

Lucifer1903 commented 4 years ago

@Skelaton4 you're probably right

Haafingar commented 4 years ago

If its a risk we're happy to take on board I think its acceptable

KeeJef commented 4 years ago

Taking last comments for this, i doubt there will be a massive unstaking event, theres going to be a fair number of node operators who don't know about this change for a while. and for those operators that do, im sure we can adequately communicate with them to stagger their unstakes

jagerman commented 3 years ago

Closing this; this is in the current hard fork.