Synthetixio / synthetix

Synthetix Solidity smart contracts
https://synthetix.io/
MIT License
1.2k stars 599 forks source link

Penalty SIP #323

Open grantferowich opened 4 years ago

grantferowich commented 4 years ago

The gist of the proposal is to enable instant-maturation of newly emitted SNX in exchange for giving up some fraction of the matured SNX as a penalty. Suppose a Mintr collects 10,000 SNX in staking rewards and wishes to sell them for ETH.

By electing to instant-mature SNX staking rewards, a mintr gives up for example 7,500 SNX and gains the ability to liquidate the remaining 2,500 SNX or otherwise do as they please with the SNX.

The 75% penalty / 25% unlocked ratio is somewhat arbitrary. The point is that if you want to dump SNX rewards, you should have the ability to do it, but there is a severe penalty.

Excessive SNX dumping exerts downward pressure on the price of SNX, which can lead to a vicious pattern:

The 7,500 SNX are then funneled back into the inflation pool, where they will be claimed by other mintrs during the next fee period. This part of the mechanism functions essentially the same as how rollover rewards work, where unclaimed SNX staking rewards are recycled to become claimable by active mintrs in subsequent fee periods.

Genesis of the proposed Penalty SIP

SNX Staking Rewards are locked for the first year when inflation is 75% of total supply, i.e. supply of SNX tokens increases from 100 million to 175 million. Currently, the 1.44 million SNX emitted into circulation each week go into the wallets of Mintrs who are able to stake these SNX and mint more sUSD, but the new SNX can only reach the market after a 12 month maturation period.

Hobo Joe - SNX PermaBull suggested the idea for the Penalty SIP on the Synthetix Discord trading channel.

Open Questions

  1. With four months left until the end of the first inflation year, is building this functionality and then sunsetting it worth it?

  2. What should the penalty rate be set at for instantly-maturing SNX?

  3. Should all SNX be assessed a penalty with the instant-maturation option, or only those SNX a mintr has earned as staking rewards?

Considerations With Mintr V2, the number of locked and transferable SNX is simple to visualize. With this knowledge, one mechanism for taking partial profits on SNX price appreciation is to unstake your whole stack, go to Uniswap, and sell whatever number of SNX you have earned as rewards from the original stack. With this route, you capitalize on the fact that maturing SNX can be staked as soon as they are claimed. This is a rough proxy method for selling SNX staking rewards.

Inserting an instant-maturation mechanism adds a layer of complexity. There may be unplanned attack vectors that disclose themselves with time.

With respect to question 2, my sense is that the penalty should be severe enough to discourage exercising the instant-maturation feature, i.e. at least 50%.

grantferowich commented 4 years ago

Cheers for the feedback @cryptic-prophet!

  1. The latest version of Mintr states rewards have 12 months to vest, so I am inclined to agree with you on this point.

  2. One idea I had was to make a model with 66% and 75% penalty percentages, then make some assumptions about how many people will exercise the instant-vesting feature. The idea I'm having is to compare two or three scenarios of how many SNX would be hitting the markets versus going into the pool for long-term mintrs, assuming 10 percent of mintrs exercise instant-maturation. I'm biased toward keeping the penalty severe. A better question is probably whether the initial penalty rate should be 75% or 85%.

SNX mintrs may not know what an optimal IPR looks like on paper and have to see how this experiment pans out in practice, then adjust on the fly.

  1. Great.
SNXified commented 4 years ago
  1. I think penalty must be severe, no less then 75%.
  2. Penalty SNX must be put into SNX rewards pool and issued in addition of whatever inflation rewards issued during next week. ie each weeks SNX rewards must consist of Inflation rewards + penalty SNX taken from those who withdrew early.
  3. No need to make it dependant of time period because it will add unnecessary complexity for the team. I rather have them concentrate on more important stuff.
  4. Or have it assigned to GITCOIN bounty
The-Munter commented 4 years ago
  1. Don't personally think it's needed or want much development time spent on this. If so would think above 75%

  2. Burn the tokens, remove from supply would be my choice.

Wega58 commented 4 years ago
  1. Stakeholder keeps all SNX awarded but allowed to unlock rewards gradually every week.

Why would we want to punish a stakeholder after he/she took a financial risk in staking? Allow the stakeholder to keep every SNX awarded is the right thing to do.

Also looking at the above penalties I do not think stakeholders will by unlocking anyways.

Spreek commented 4 years ago

The most likely time for such a feature (at least, with the very high penalties being suggested) to be used would be when there is some emergency or perceived emergency and people want to panic sell everything. Such a situation is exactly when it would be most beneficial to have some quantity of SNX that is locked and cannot be dumped. I fail to see any benefit to the network from allowing people to dump in such a situation.

It is already the case that people can more or less maintain a given quantity of SNX (for example by selling unlocked tokens for each locked token they receive) and/or sell their entire original investment back if necessary. So I don't think the current system is too onerous for stakers (or any major deterrent towards staking).

I don't think that the benefits of this proposal (added flexibility for stakers that want to sell, potential added incomes for stakers that don't want to sell) outweighs the costs in terms of development time and security risks. Especially when the inflation schedule is planned to significantly flatten over the next few months/years.

CryptoToit commented 4 years ago

In principle I think it is a good idea / proposal. Input / thoughts....

1- Having a mechanism that supplies more fees is always welcome and good.

2- On your question if it is still going to be valid in a couple months. Just remember that although the last year's rewards is being unlocked they are not unlocked all at the same time. They are getting unlocked on a weekly basis only, over a period of a full year. In which time additional rewards will be locked up.

3- My question though is "Is there a market need for this function?" If only 2-3 people are going to use this is it worth spending the dev time to build it in? We need a bit more market feedback on the actual 'need' for this function. Based on that we should proceed.