Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
Some community members (including me) have argued that the current SNX inflationary rewards schedule introduces some unnecessary risk into the system. There are obviously major pros and cons to changing the inflationary rewards schedule, and although I’ll try provide a balanced opinion, the following proposal mainly focuses on the argument for (which I was given the opportunity to articulate in the last governance call at ~ min 14:30). As a result, the following document will seem bias.
Key arguments for and against
Pros: key argument for changing schedule
When there is a rewards halvening for Bitcoin miners, who own mining hardware, they either like the new return profile for mining and keep mining, or they don’t and go mine something else. They probably don’t dump/sell their mining equipment and if they did, it would not affect the price of BTC (much).
With SNX, when then is a rewards halvening, if mintrs no longer like the rewards profile and decide to stop minting, then the only rational move is to sell your SNX.
And given that we know the exact date this event is happening, from a game theory perspective, all you need to know is that at least 1 whale is going to sell at this point, and a rational decision is to front run them by selling before they sell, and so on. Under these conditions you could end up essentially having a run on the bank around a rewards halvening which could crash the network. For a protocol which is designed to engender trust and stability, this is not ideal, especially if it is relatively trivial to prevent such a shock to the system.
Community member @gmgh’s comments in discord articulate some of the possible effects that such a shock could have:
The following proposal articulates an alternative approach to reducing the inflationary emissions, that achieves approximately the same total emissions, without the step change functions that exist today.
There has also been some talk of introducing ongoing inflation to the system long term so that the foundation has an additional incentive lever beyond exchange fees, which may ebb and flow somewhat and may not grow as quickly as needed to sufficiently replace inflationary rewards. This proposal also includes a proposal for how to introduce ongoing emissions.
Cons: key arguments against changing
The Synthetix network is built on trust. Community members and investors alike need to know that the inflationary schedule is not a moving target. If the team is out there changing the schedule every year or so, why wouldn’t they continue to change it, and to what. The argument above articulates a worst case scenario and it could be argued it is fairly unlikely to actually materialize, so is it worth the risk of developing a reputation for changing the inflationary schedule on a dime when it suits the network to plan for an event that might not happen?
With the above argument in mind, I think that it is crucially important that if the schedule is changed right now, it is done so thoughtfully and under the assumption that this will be the last major change at least for the foreseeable future. And to the extent that we can, if there are any long term decisions that could be built in (like ongoing inflation for example) that they are considered now.
Current Emissions Schedule
The following charts represent the current weekly emissions schedule and total cumulative tokens. You can see on the right that the emissions schedule is essentially a smooth curve, but from the chart on the left, it is obvious that it is not.
Decision framework for new emissions schedule
Assuming you want a new emissions schedule to closely resemble the current, but with a smooth curve vs a set of step changes, there are a few axiomatic decisions to make. Once these decisions have been made, modelling the optimal curve just becomes math and everything basically falls into place.
Those decisions are:
I built a model to help run various different scenarios. After running multiple scenarios the one I ultimately landed on is as follows:
With these inputs, the model outputs the following scenario:
You can see what the emission schedule looks like in terms of total snx minted weekly, plus cumulative over time below.
Perhaps more interesting is that you can see what the new emissions schedule looks like when overlaid over the old.
The total weekly emissions closely mirrors the original schedule until the tail emissions schedule kicks in. You can also see that the total tokens almost exactly matches the current schedule until tail emissions kick in at which point it continues.
I think that the following decisions need to be debated and made by the community:
Once there is general consensus on the above this proposal could then be tightened up and turned into something that the entire community can vote on.
Good work done on modelling the different emission schedules!
1- I agree that a "smoothed" emission is fundamentally and psychologically the better option to have. In this I fully support this SIP.
Personally I believe we should implement the 'smoothed' schedule as early as possible as there is an exponential impact component on the effected emission the longer we wait.
2- As to the new 'tail emission'... I still don't see the benefit of implementing something like this now. I can see that there might be a need for this, but I think it is far to early to know exactly how it should be structured. We are more than 4 years away in having this kick in - if it was agreed and implemented.
I would say that the 'tail emission' should be held in reserve based on market & data analysis over the next 2-3 years. Everyone should know that there is a good change that this could kick in, but how it is structured and executed should only be defined closer to the time so that we can have proper data backing it.
Thanks @deltatigernz for putting this all together! Really impressive stuff.
Overall, I think it's important to call out that changing monetary policy for an already launched network is a difficult thing to do smoothly as it's always going to upset at least one network participant. I think the best way to combat this upheaval is to target a single change with multiple facets, and then have a transparent process for any future potential changes, with some threshold that makes it difficult to attain but not impossible if necessary. One idea would be to say that 2/3 of voters, either by people, tokens held or some blend of the two, would be required to approve any future changes.
1 - I agree with this change to the inflation schedule mostly because it aligns everyone for the longer-term. If someone is only looking to the next six months for inflation rewards before moving elsewhere, they're probably not a good fit for this network. I can't seem to find a good counter-argument here, but welcome any other perspectives.
2 - I think a perpetual inflation model makes a lot of sense for a number of reasons, but mostly it becomes a lever that can be used to drive desired user behavior and to (potentially) limit black swan events. We are likely too far from knowing the most desired network characteristics at the end of the scheduled five-year distribution, but a few of them may be % of SNX staked, moving average of exchanges fees, or user growth. I also think its too early to know the 'ideal inflation rate'.
One idea would be to build a model that could dynamically update weekly inflation rate based on a series of factors. A rough model could look like:
Weekly inflation = [target inflation] * [X/(SNX staking % target)][a]+[Y/(Δ from sX fees MA50)][b]
The idea is that as SNX staking and/or sX fees move up or down this would counterbalance the weekly inflation from the target. Hopefully, this would limit massive downward spirals of SNX sellots or sX volume fluctuations from driving SNX holders away by compensating them with additional SNX. We've seen this model in use by Polkadot and Livepeer and it seems to be working thus far.
Happy to chat about any of this!
@CryptoToit thanks for your thoughts.
I definitely see this pov. I think the main argument against this approach is that it is relatively easy to take away inflation, but I suspect that in 4 years it is going to get a lot harder to get anything done, so waiting until then it will be a battle to add something back in. So for things like funding the ARB pool, or LP incentives, giving the foundation a way continue funding open source contributions and improvements to the protocol, it could be advantageous to include now vs trying to fight for it later.
In this model what is X & Y? But I think I get your proposal is essentially to dynamically change rewards based on how many exchange rewards are getting generated. It seems complicated... but if these other projects are having some luck and it is working, then I think we should consider.
One thought be to define target inflation now, but kick the can down the field in terms of how it might be modified based on datapoints we will have at the time...
Firstly, great work Delt’s!
To supplement the SIP above should be a description of the purpose of the inflationary framework. This framework was implemented to bootstrap the network. Designed to provide SNX tokens for Mintrs that locked up their SNX until sX can generate sufficient fees to maintain the incentivisation of Mintrs to continue locking up their SNX.
Therefore, adjusting the inflationary schedule should be done with consideration to where we believe the growth of the sX will be to have sX fees supplement declining inflationary rewards.
Detailed below are my comments/feedback in response to your ‘next steps’ queries:
Thanks @jimbobkos. Great thoughts/comments here. Appreciate it.
I agree, if this gets to SIP stage I'll make sure to include something on this.
I don't disagree with developing a roadmap and trying to rally the team/community around it, but my view is that this is something that should happen independent of this conversation. I run a 40 person venture backed startup with I think more resources at hand than the SNX team/foundation, and I am constantly shocked at how they actually hit the majority of milestones that they establish, while I'm missing most of mine with all these resources at hand. Also, the milestones that are typically off in my camp, often by a large factor, are traction related metrics. With scale your predictions can become more scientific, but early... good luck with that. The point I'm trying to make is that if you couple/time something like inflationary rewards with a roadmap (or even worse predictions around traction), then the consequences of missing those milestones are compounded (and trust me they will miss some of them unless they are unicorns). In this scenario, not only did you miss your milestones, but your backup plan for how you are going to incentivize the network in absence of the completed milestones is also dead... My view is that the inflationary schedule should be a little over engineered, similar to how bridges and buildings have a factor of safety often in the 4-5x required load range. So sure, you want to establish a roadmap that has significantly more traction in say a year from now, but you have another 2-3 years behind it if things don't go to plan. So best case, you over engineered the system and things are going really well and you have way more inflation than necessary and everyone is happy anyway, and worst case (or probably mid case), you have the right amount of inflation and things took longer than you anticipated. p.s. on this point, I'm pleasantly surprised at how much traction we have right now... but you never know it might be fleeting for whatever reason.
Yes for sure, this is why I think it is important to pick a reasonably low number if we do include ongoing inflation is a good idea. That is why if you look at the proposed model, year 5 when ongoing inflation starts kicking in, the annual inflation is about 1/10th that of the first year inflation. Another way to think about it is that after 4 years, total supply will be around 240M tokens, and at 3% per year, after a full 7 years, total supply will still be less than 300M tokens... which doesn't seem like a lot of dilution. So I don't think it will prevent natural price appreciation much, and for those that it does prevent natural price appreciation for even just a little, are those who are not actively supporting the project (so I'm not too worried about those folks either). For those who are actively participating in the network (through staking, being an LP or whatever) should in theory see zero effect from the inflation because the assumed depreciation from inflation should be made up from the rewards gained anyway.
I agree it would be less complex and cleaner to tend to zero inflation, the question is, at what cost. It could be argued that ongoing inflationary rewards is an incredibly powerful incentives lever to be left in the hands of the foundation/community. So it is a tradeoff... Having seen how the team can beat mkr as largest LP on uniswap in I think, what 8 weeks, with this lever makes me think, wow, that tool shouldn't go away.
This is just my opinion and may not be shared by other community members, but if we have ongoing inflation, I actually don't think it should be used to incentive staking the network (the way it is now for 95% of the rewards). You are right, sX should be throwing off a massive amount of fees, and technically the price of SNX should reach some kind of equilibrium such that a new investor coming in can determine the APR they want and if the fees generated is below their desired APR, they sell their tokens (thus lowering the price of SNX, and thus raising APR for the next investor), and if it is above, they buy (thus raising the price of SNX, and lowering the APR). Eventually it should reach equilibrium.
My view is that ongoing inflation could be used for things like LP pools, Arb pools, developer bounties, possibly paying new engineers or team, ect... without ongoing inflation, you would need to divert sX fees to do this which I think would be something that needs a lot of consideration.
That's a great proposal @deltatigernz! When I first learned about Bitcoin's reward halving, I was baffled by how such a great concept could have a so poorly thought out reward schedule (i.e. a scheme that assures price volatility by design).
Thanks for putting lots of thought into this... Three thoughts:
Yeah I don't have a super strong feeling on this either way. The argument you make ("Keeping it as similar to current model as possible so you don't surprise ecosystem participants") is certainly valid. The main counterargument to doing it sooner is that you end up with a less steep curve, and also, because of this, you actually end up more closely mirroring the current emissions schedule from a total emissions perspective. Your proposal will actually have total inflation higher, while moving over earlier, will have total inflation closer to what the current schedule dictates (just delivered differently). As a result of that I think I lean slightly towards changing earlier rather than waiting, but I don't have a very strong view on this.
I actually don't disagree with this. Wouldn't be that hard to break into two proposals, but if they both get voted in, I think they should be implemented together. Will be too complicated to model otherwise as there is some dependency in terms of what is optimal based on what is passed.
Thank you for writing this Draft SIP, Deltatiger, and thank you for the excellent presentation during the last governance call!
@deltatigernz Thanks for doing this. Separating them into two proposals but implementing them simultaneously sounds great.
RE: perpetual inflation/emissions. If you're receiving fee income, I'm not sure I see point of perpetual inflation.
If income from fees is high, there will be demand for SNX. Assuming those fees are in an uptrend, the price of SNX should rise. If income from fees is low, SNX's price will fall, and inflation will only make that decline worse.
Either way, income from fees MUST exceed the inflation rate or SNX prices will always fall and users will be disincentivized to hold it. That would be disastrous.
With all that in mind, I believe the final option you proposed for perpetual inflation is the only one that wouldn't damage the project during periods of low fee income: "Fixed weekly decline (no decision needed you would simply copy the existing weekly decline)". SNX would eventually reach negligible levels of inflation.
And I'm still not even sold on that...
@Clariti23, you wrote: "Scarcity is important for SNX pricing, yet SNX is primarily a work instrument and not a monetary unit whose intention is to protect a certain amount of consumer goods purchasing power."
I see your point, SNX really is a tool... but in order for it to be an effective tool, it must have stable to rising prices. Otherwise, no one will want to hold that work instrument for any significant amount of time. In fact, they'd be encouraged to sell it.
It really comes down to whether the fee income exceeds the inflation rate and that's an unknown right now, so it seems hasty to me to make the decision years in advance.
Anyway, thanks to all for letting me weigh in!
Dear SNX community,
Apologies for the late comments. Thank you Delta for bringing our discussions up during the last governance call and also for formalizing it into an SIP proposal.
Question 1a: Should we smooth out inflation?
The example @meanderson has given of short term stakers only participating in the initial phases due to the high rewards is a very real situation. Rather than have this group disappear and trigger events post-rewards halving, a smooth curve will make it such that there is no fixed event to trigger action. Participants will behave rationally and enter and exit the system based on their own personal factors and views, rather than a system triggered event.
I see no advantage to keeping the current chunky rewards halving schedule other than inertia and to keep up the appearances that the team had great and unmatched wisdom at the point when it to decided that the current schedule is the best and most optimal supply policy for all of eternity. Things change, and so can the community's view of the most appropriate supply schedule can change as well.
Question 1b: When should we smooth out inflation?
Based on @boymartian and @peterjmarko comments, I have split the ongoing inflation to a separate portion. However, I do think that it is best if we can include that decision in the same upgrade as the smoothing, so as to not give opportunity for the broader crypto community to misunderstand our actions and misconstrue them as the SNX community being willy-nilly and changing the supply schedule whenever they feel like it.
Question 2: How should we structure tail end emission?
a) ZERO - being that there will be no ongoing inflation at the end of the inflation schedule.
b) fixed percentage - being a fixed percentage of the total supply to continue.
c) fixed amount - being a fixed (integer value) of SNX to continue. this would in effect be disinflation - inflation that is slowly decreasing over time percentage-wise relative to the total supply.
d) algorithmic - something akin to what @meanderson has proposed, where the supply changes based on certain factors.
Regarding the ongoing inflation, I feel very much on the same page as @Clariti23 about not having scarcity simply for the sake of the scarcity meme, but also not absuing inflationary rewards if we do not need it.
I feel that some form of ongoing inflation is necessary so as to not set ourselves up for failure with arbitrary deadlines and self-restricted little maneuver space. On the flip side, I am not certain that ongoing inflation is actually a necessary protocol upgrade. If sX gains heavy usage and fees reach the point where inflationary rewards are no longer necessary, we should be open to the view that perhaps this ongoing inflation is just mainly a backup lifeline to keep us going along if we fail to hit our goals within the current 5 years of inflationary rewards.
This means that we should be more than ready and willing to vote to remove ongoing inflation when it becomes obvious that it is no longer necessary.
Great work @deltatigernz , this is a very detailed and well-thought-out SIP.
At this point I think there's almost no strong case to be made to against smoothing out the SNX inflationary schedule as the benefit clearly outweigh the cost. The argument of constant changing of monetary policy doesn’t really hold its ground well as the we are going through a well-researched and debated governance process before changing it. And it will be made clear that this is a major change that are unlikely to be altered except for some major reason.
For reasons above, I support smoothing out the inflationary schedule and agree with most that the end of year 1 inflationary schedule would be a good time to start and also give time for the foundation to get the upgrade ready.
I also support implementing tail emission together with this change. Part of the reason Synthetix managed to take off this year is due to the new staking reward policy implemented to encourage participation and we can see how successful this change has been. Our network staking rate is the highest among all crypto networks with staking mechanism standing at 70-80%. We have also managed to fix the peg of synthetic assets by diverting 5% of the staking reward pool to incentivize contributing liquidity to the sETH/ETH Uniswap pool. Given the empirical success of such mechanism, why should we completely remove it? Plus SNX have a very clear way of token value capture due to the exchange fee sharing so having more token don’t really dilute the value as long as the SNX holders is staking in the network.
I think fixed amount tail emission provide the most optimal trade-off since it is dis-inflationary as pointed out by @degenspartan yet still give us a good enough number of rewards to incentivize certain behaviour that will help the network. I think an emission rate representing 1-2% inflation at year seven seems to be the right number now. And I think we shouldn’t remove it entirely since there’s always some further improvement that can be made to the system and that extra emission will be very helpful in incentivizing Synthetix to move in the right and desired direction.
@boymartian thanks for your comments! Some thoughts below:
I actually think that in the tail years, the inflation would likely not be used for incentivizing staking the network. You are right that fee income should be sufficient to do that (and if it is not, we might have bigger problems on our hands than emissions schedule). However, fee income is likely not going to be used for other things so having some rewards ongoing could be useful. For example, incentives for the LP pool, or the Arb contract, or even just funding development if the foundation runs out of money, or other ideas we have yet to have come up with. The ability for the project to have this incentives lever ongoing is very powerful in my mind, and it far outweighs the risk of dilution to the project.
I agree. Basically the team could just let me know which week they wanted the changes to go live, and it would not be difficult to model the schedule accordingly from there so when it is voted for, the new proposed schedule could reflect this timing. Would just need to be given the week that new schedule would go into effect assuming the first week of rewards is week 0. Aside from that, I'm in favor of switching sooner rather than later mostly to at least attempt to preserve the initial schedule as much as possible.
I took the liberty to do some additional modeling here to see how this looked. I updated the model to include a selector that allows you to select percentage (%) ongoing, or absolute (#) ongoing inflation. And I took queue from @Arthur0x around 2% ongoing inflation at year 7. It turns out that that is about 100k SNX per week (which is a nice round number). So I had a shot at modeling this out with the following parameters:
This is what the schedule looks like under those conditions.
Happy to model a few other scenarios if folks have suggestions/thoughts.
Thanks, @deltatigernz! Your replies and the comments of others have changed my mind on perpetual inflation. I particularly like emitting a fixed number of SNX (i.e. 100k/weekly) as you modeled.
Originally I was completely against a continual 'tail emission'. Now I think if it is relatively 'small', it can be useful to incentivise participation in sUSD & sETH Liquidity Pools and possibly the Arb contract to stabilise sUSD & sETH price.
I don't think it should be used as a Fee payment for Minters rewards - after the 5 years. That should be covered by the sUSD payments. If it can't then there is a bigger problem to resolve than this.
After thinking a bit about on Framework's position on SIP 36, we've written our thoughts below. Look forward to discussing on the governance call tomorrow.
We support smoothing the inflation curve
We support a gradual decrease of inflation starting as soon as technically possible
We believe the team should re-allocate portions of inflation to value-add initiatives like what was done for the Uniswap ETH/sETH pool initiative
We support terminal inflation
Before putting down my thoughts on the proposal, I really want to say how gratifying it is to see the level of effort and engagement that has gone into proposal from the community, particularly @deltatigernz. I don't think I expected when we launched the SIP process that it would develop into the forum it has so quickly. We are working on a number of fronts to make the system more decentralised, but the change management process is in my view the most critical long term. So as an SNX holder, thank you to everyone who has stepped up and participated so far, and if you are lurking, add your thoughts! We need a wide range of views for this process to have legitimacy within the community.
With that said, I think it is worth mentioning what we tried to optimise for in the initial inflation schedule. We wanted a very high level of incentives early on to bootstrap staking, but without needing to significantly increase the final total supply. We modelled a number of options and ultimately the idea of a halvening seemed viable, we got high initial inflation but only 2.5x increase in total supply. We did not think that there were likely to be significant consequences to the drop in inflation after the first year. In hindsight, we probably got this wrong. But that is why we have opened up this process to the community to make sure in the future we anticipate these kinds of issues before making a change.
I have stepped back to let the process play out, and I'm now convinced that even if the risk of a halvening triggered event is negligible there is no reason not to remove that risk given that we have the opportunity to do so. So I support this change.
I also support the addition of a terminal fixed inflation and I like the idea of 100k SNX a week having reviewed the models proposed. I think that low terminal inflation is extremely valuable as we have already begun to see the emergence of a norm around exchange fees never being diverted. I think this is a good norm, the fees should always go to SNX stakers taking the risk by collateralising the system. Using inflationary rewards from the protocol to encourage other desirable behaviours is a much better approach than needing to divert exchange fees in the future. Which means if we think there will continue to be behaviours outside of staking we want to encourage we need terminal inflation.
I do not have a strong opinion on when we should make this change, however, I do think we need time to implement it and for people to be able to adjust their strategies based on the new information. I tend to think changing the rate of inflation at the close of the first year is ideal, but I think we could do it earlier without too much difficulty. I also think that if we want to reduce the current inflation we could implement the change proposed by Framework to build a pool of SNX for future incentives. This would have the effect of lowering the distributed inflationary rewards without needing to change the inflation schedule immediately. We could very easily divert 10% of the current inflation to a pool for future incentives, and it would not require a code change just an SCCP.
The final point is that I feel we must agree as a community that this is a critical change to make, and that we should also establish a norm that we will not modify the monetary policy of the system in the future unless it is critical to do so based on an event that has happened rather than a potential event in the future. We need to get this as close to right now, and accept that if we miss the mark slightly that confidence in the monetary policy in the future is more valuable than having this change be perfect.
Thanks again to everyone who has contributed and I look forward to discussing tomorrow!
This is critically important!
I definitely second @kaiynne in how impressed I am with the detail and thoroughness everyone has put into this thread (especially @deltatigernz with an incredibly useful model). Working on this together with the community feels akin to collaborating on open source - the real promise of web3.
@deltatigernz Linking to the smoothing formal SIP so we can emoji-viote.
@deltatigernz Linking to the terminal inflation SIP so we can emoji-vote.
Hello guys, and congratulations on such an active community.
However I also do not have strong arguments against (small-ish) inflation, and intuitively I like @degenspartan 's proposal to introduce fixed amount - Moner like tail emission, with long, flat curve. If the majority would be for simple % inflation, I see no reason to make this bigger than 2% a year.
BTW I represent Sigil - crypto investment fund, and we have mid sized holdings staked in SNX tokens with the plan to be long term staker. I recently wrote this article on SNX: https://sigilfund.com/research/synthetix-io-sigil-research/. Once these proposals are decided, I will provide updated article and financial model.
First of all, I am pro smoothening and pro-terminal inflation for the reasons discussed in the SIPs. However, I am against implementing the SIP based on the current numbers as I feel we haven't done a thorough enough analysis to justify the numbers and rates we are finalizing. I don't believe that we should be making serious/large monetary policy & mechanism design changes very often - so that when we do do it, we should have high conviction and strong empirical evidence/analysis to back the changes. It would be great if the community would be able to put a report like this together, but I think it maybe smart to look towards commissioning an economic consulting project with some outside experts. Our community is one of the most impressive in the space with top IQ, but we should recognize the constraints in both time and markets/economics experience.
To start, it would be prudent to think through what the key questions pertinent to an inflation change that should be answered. Here are my initial thoughts:
Making large economic changes without clear answers to these questions can result in negative outcomes. For example, right now even though we have a deep Uniswap pool, it is near impossible for traders to exit from synth to non-synth in even relatively small volumes ($10-20k) without losing
However, if we were to taper total inflation down to only 100,000 SNX per week, this would result in only 5,000 SNX per week being used for the peg - a significant decrease in SNX terms - this is not enough. Even if we assume that SNX will increase in price proportional to usage of the system, we also need to take into account that arb incentives will also need to increase in price in proportion to usage of the system.
A larger base of synths and larger usage of Synthetix Exchange = more usage of entry/exit valves = larger pressures on peg. Without proper pegging incentives, the entire system doesn't work.
At the same time, SNX arb incentives can't be too great. Inflation directed towards those that arb are effectively an indirect tax on SNX holders. If the "tax" is too high then this inhibits minting of synths.
The same problem with 100k Weekly inflation also applies to the LP incentives.
Also, LP incentives can't be too large either - if they are too large, most of the synths are locked up in Uniswap and don't provide any utility to SX users. Would a system with 30%,40%,50%,80% of synths locked up Uniswap result in enough productivity for sustainable economics?
Of course, as Kain has mentioned in discord, there's no way to model the exact values and rates we need with perfect accuracy, but at the very least we should go through the exercise of thoroughly exploring these questions and ensuring that we are directionally correct and within a certain band of confidence when setting our monetary policy.