Adjusting the current inflation model to sustain Treasury inflow

Dear Polkadot Community,

I’d like to initiate a discussion on a potential adjustment to Polkadot’s inflation model. This change aims to ensure a sustainable influx of funds into the Treasury in the foreseeable future. Here, I’ll give a brief explanation of the current model, clarify the problem with the existing structure, and propose an adjustment to mitigate the issue.

I’d like to use this opportunity to give a shout-out to the Data Team at Parity who continuously gather key on-chain data, which lays the groundwork for these analyses. Extra appreciation goes out to @pranay, @Pavla, and @Karim. Your support doesn’t go unnoticed. Thank you.

A Brief Overview of Polkadot’s Inflation Model

Polkadot’s inflation is currently set at a fixed rate of 10% per year. A mechanism is in place to distribute the newly minted tokens in each era among the stakers (Nominators and Validators) and the Treasury. This model contains a parameter named ideal_rate which represents the targeted portion of staked tokens within the staking system. As of mid-January 2023 and Runtime upgrade v9340, this rate reduces by 0.5% for each active (non-system) parachain, starting from 75% (with a minimum of 45%). The overarching objective is to achieve a balanced allocation between liquid tokens, bonded tokens in staking, and parachain slots.

To encourage stakers to align with the ideal staking rate while maintaining the constant 10% inflation, there’s a function that redirects some of the 10% inflation to the Treasury, instead of the stakers, when ideal_rate != staking_rate. The following graph illustrates this system.

(Blue: Inflation to Stakers, Green: APY of Stakers, Black: Total Inflation)

In essence, the yearly inflation is a fixed 10%, and the distribution between stakers and the Treasury is determined by the discrepancy between the ideal staking rate and the actual staking rate. In scenarios where ideal_rate == staking_rate, the Treasury would receive 0 DOT from inflation.

The subsequent graph portrays the historical evolution of the staking rate compared to the ideal rate:

The sudden plunge in the ideal staking rate can be attributed to the upgrade that adjusts the variable according to the number of active parachains.

Identifying the Problem

As the discrepancy between the two metrics narrows, the Treasury’s share from staker rewards diminishes. The ensuing graph delineates the Treasury’s inflow from various potential sources:

(Note that the inflow from July 2023 is naturally not complete)

As observable, the Treasury’s funds are primarily derived from inflation.

We anticipate a further reduction in the gap between the two main metrics in the future. This prediction insinuates that the Treasury balance may struggle to support continuous expenditure.

This trend is already noticable:

This development could potentially complicate long-term funding decisions and restrict Polkadot’s capacity to finance critical projects and sustain expenses of the community.

Suggested Alterations

The aim is to retain the current mechanism that motivates stakers to converge to the ideal rate, while simultaneously guaranteeing a minimum inflow to the Treasury. This objective can be attained by decoupling the maximum staker inflation from the total inflation, with the difference being redirected to the Treasury.

The following graph provides a representation of the suggested mechanism:

In this model, I have designated 20% of the annual inflation to be directly allocated to the Treasury, while the remaining 80% will be scaled using the current mechanism.

Assuming a 45% ideal staking rate, this would lead to the following parameters:

Parameters:

  • Interactive graph: Graphing Calculator
  • Yearly Inflation: 2% (Treasury) + 8% (stakers) = 10% (total)
  • Staker APY in ideal: 17.78%
  • Staker APY at current staking rate (43.1%): 18.02%
  • Minimum Inflow to Treasury: ~2.2M DOT monthly if implemented promptly, with a 10% annual increase.

In short, the Treasury will receive at least 20% of the inflation (potentially more due to a gap in the two main variables) and stakers will receive at most 80% of the inflation. I have opted for those parameters, because they align with the average distribution historically observed as can be seen in the next graph:

Therefore, adopting these parameters should have a negligible impact on the ecosystem’s actors, as it merely formalizes the historical divergence between the Treasury and stakers.

Next Steps

Implementing this change requires a runtime upgrade and root privileges in governance. As such, extensive discussions are required. Once consensus emerges, the proposed changes need to be coded and incorporated into a runtime upgrade.

Moreover, it would be beneficial to make these key parameters (inflation to stakers, fixed share to treasury, etc.) directly modifiable by governance. This will facilitate future adjustments, protected by a sufficiently robust governance call.

TL;DR

  • The current inflation model may result in a scenario where the inflow to the Treasury (from inflation) reduces to zero.
  • To ensure a healthy Treasury with a predictable minimum inflow, we should revise the underlying model.
  • The proposed modification involves directing a fixed 20% of yearly minted tokens to the Treasury, while the remaining 80% is scaled using the current mechanism.
  • The changes will have a minimal impact, as the proposed split mirrors the historical distribution.
  • Resulting parameters should be exposed to governance, to later adjust more easily.
  • Implementing this change will require a runtime upgrade.

Edit: Updated Pictures

30 Likes

Hi Jonas - in my opinion this is a conversation that should be had when:

  • Opengov has been running for a while, we’ve gone through the painful learning of approving every treasury spend, realising it’s unsustainable and reassessing what should and shouldnt be funded from the treasury - thus identifying the “real” treasury run-rate
  • “Polkadot 2.0” is live - as the model pivots towards one where blocks are “paid for” by DOT, these DOT go to the treasury and may more than compensate for any perceived defecit in treasury fill from inflation

So TLDR we need more data on the new treasury spend rate under opengov and the “to be” treasury income after core-time sales go live

6 Likes

I think this is a reasonable proposal, but with the move toward Agile Coretime, I think we can re-evaluate this mechanism instead of just tweaking parameters. Since payment for cores will be outright rather than the form of reserving DOT, we can investigate whether we need the Treasury or validators to be funded by inflation at all.

For example, the funds from Coretime payment could go 100% to the Treasury (as in, buying Coretime funds future development of the network). But in principle: Buying Coretime funds the Treasury => Treasury is well-allocated => Leads to more projects wanting to use Coretime (either because it is higher quality or there are more services around it that make it easier to use/integrate with) => Leads to those projects wanting Coretime to acquire the DOT to purchase it => Puts the DOT back into the Treasury.

Then we can look at reducing inflation (which I don’t see as a goal in and of itself, inflation is fine as long as growth in demand for Coretime is bigger). But inflation should primarily fund growth of the validator set, as needed to provide more parallel cores. The Treasury then would either get increased revenue due to increased demand for a fixed number of cores, or a constant price/core with increasing number of cores.

6 Likes

Hi @lolmcshizz

Thank you for your answer. You are right, there will be many changes coming to Polkadot in the near future. But the proposed adjustment is making the system more agile, very much in the spirit of Polkadot 2.0, by exposing the critical parameters directly to governance. That means, the community can better respond to the future situation that actually materializes.

With regard to your comment about waiting for Gov2 to play out, I feel that the proposed changes tackle a different problem, namely making sure that the Treasury always has sufficient funds to operate at any spending rate. It’s not so much about increasing the inflow as to making it more stable (an inflow of 0 DOT would be bad for every “real” treasury run-rate). If we find out that the “real” run-rate is much lower than anticipated, we can adjust the parameter by governance.

Additionally, Polkadot 2.0 might still be some time away and, to the best of my knowledge, we don’t know what happens to the DOT paid on the two markets. It might turn out that Polkadot actually burns them. Even if we divert it to treasury, it would still lead to a highly volatile inflow, something that is not optimal for the community to plan with.

6 Likes

Okay that makes sense to allow flexibility - certainly not opposed to putting more control directly into governance.

wrt timing - understand it could be a way out (although Gav wants it on testnet in ~3 months :eyes:) - I also asked the question about where the DOT goes in the RFC and Gav said by default it would be the treasury: https://github.com/polkadot-fellows/RFCs/pull/1#discussion_r1252017317

If things play out that way, I indeed agree that we might need further changes (e.g., the calculation of the ideal_rate). But I’d argue that the proposed mechanism would also work in that situation. The Treasury receives sufficient inflow from the coretime market? Then reduce the yearly inflation that goes to Treasury (2%) to something lower (even 0) and at the same time reduce overall inflation. As mentioned in my previous post, that would still not alleviate the issue of a volatile inflow, something that should be considered short-term. Because otherwise the inflow would again depend a lot on the prices of coretime (and hence demand for it).

Once demand stabilizes in the long-term and offers a steady inflow, the proposed mechanism allows for enough flexibility.

Thanks Jonas for the detailed analysis it’s a great insight, personally I didn’t imagine inflation would represent such a big share of the treasury’s income.

What I would suggest is to run the same analysis for Kusama and observe the impact of this kind of adjustment there as Polkadot might want to stay more conservative and perhaps wait to see how the agile coretime story plays out. In Kusama we can even play with bolder parameters as it suffers more from treasury drain due to its longer exposure to OpenGov, I also imagine data might look different as it has different inflation/staking parameters, number of parachains, society, etc. The feedback gathered in the canary network can be invaluable to determine if such a change is needed in Polkadot.

4 Likes

Is it still the case that tokens are being burned? What would the current treasury balance be if tokens had not been burned over, say, the last 12 months?

Burned tokens: at the end of each spending period lasting 4 days on Polkadot, 1% of the available funds are burned, respectively.

2 Likes

The only tokens that are burned now are a percentage of the treasury. This is to dicourage building up a large treasury and spending it at once. We shouldn’t have built up the treasury a lot in the past and then be spending it now, that’s not sustainable.

Kusama’s recent discussions indicate that people are worried about the treasury running out many months before it would have a low balance, so maybe it is better to balance inflow and outflow more and keep the current burning mechanism.

6 Likes

I compiled the newest data for both Polkadot and Kusama here:

https://jonasw3f.github.io/treasury_polkadot_kusama_hosted/

The situation on Kusama serves also as an example what could be happening on Polkadot, soon. While spending increased at the beginning of 2023 through Gov 2 on Kusama (it also did under Gov 1 on Polkadot, btw.) the inflow kept shrinking, which made any outflow unsustainable. Note the brief period of high inflow to Kusama Treasury at the end of 2022, which was caused by an undershoot of the ideal_rate relative to the staking rate.

Polkadot Treasury is currently in a better position than Kusama, there also was a larger unbonding event recently which increased the gap. But I expect this only to be temporarily, and soon inflow keeps shrinking.

2 Likes

I think that Coretime income will scale slowly at first because

  • The intial cost per core will start small. Gav promised this or existing parachains might have to come up with new models quickly.

  • whenever we introduce it and stop auctions, we will honour the existing lease periods. So the number of cores which require payment will scale up over 2 years

  • Improvements to the parachain system will give us more supply of cores. Who knows whether demand will match that.

Right now we can’t say how predictable this will be after two years. Inflation gives a more predictable source of funds for both treasury and stakers.

I would suggest that we implement a change like this and then think whether we should just burn Coretime income. If in a few years, if we can adjust the inflation down and have a high demand for cores we might even end up as deflationary.

Basically it’s important that we have a known maximum inflation, but not necessaily a predictable one, but staking income should be very predictable and this thread is an argument that tresury income would be better as more predictable that it is now.

8 Likes

I actually like this very much.

Thank you Jonas for gathering the data and proposing a solution.

My biggest concern is that the proposal is very rough in validating the problem. There might be a problem, but I don’t see this as a given.

A rough tldr could be: Treasury inflow fluctuates between 1-2m DOT per month while treasury outflow increases and the treasury might get drained.

I don’t think that the immediate conclusion should be that we need to increase treasury income, but should rather come to a framework of what amount of inflow and outflow is desirable over the course of a market cycle. Because it could be perfectly possible that in an affluent market treasury outflow is getting reduced and the problem disappears or starts to present itself differently. Only when we have that question sorted out and an idea of the budget, we should turn to changing parameters of the system.

As a workable compromise, I would suggest that we assume that a discussion will yield minimum and maximum parameters for both inflow and outflow and we come to a model that can accommodate those 4 parameters.

2 Likes

Hi @alice_und_bob

Thanks for your answer. The underlying problem is that under the current system, the potential inflow is 0 DOT (from inflation). Further, the system is designed to converge towards that state, because it incentivizes the staking rate to equal the ideal rate. If you look at the data I posted before, we can already see Kusama suffering from that. Since the beginning of 2023 inflow is almost non-existent.

That means this proposal is not to increase inflow to Treasury, but rather stabilize it at the mean that we saw since the inception of the network. Further, the idea is to expose the relevant parameters to governance, so it could be tuned in the future. In the absence of any better rationale, I think using the historic mean is a good starting point.

3 Likes

Sorry I may be ignorant to the data here so forgive me if so. But isn’t this just a result of being in a prolonged bear market when it comes to token value and the Treasury spend?

Say tomorrow DOT token goes back to $50, wouldn’t we run into the same scenario we did before the bull run where there was so much DOT being burned in the Treasury because it was just too much to use?

When markets turn around and the Treasury is worth 20x more USD value than it is now, that seems like an awful lot of money to try to spend no matter what proposals come through?

Value of the token may change, but USD value of what it’s spent on should be relatively similar. This should mean less DOT being asked for in each proposal I would think?

5 Likes

Why would you assume that will happen? I would argue the opposite is more likely to be true and that this is peak valuation for the treasury as regulations are closing the door to the engine rooms of speculative growth.

It makes more sense to begin to actually guiding the community towards deeper strategic thinking and in turn budgeting of spend - you know, like in any normal business.

Exactly.

1 Like

Huh? Regulations are not an issue for DOT, we already know that. The whole reason the SEC never came down on them like the other project in the top 12 is because of things like having a decentralized treasury. It’s why it was made in the first place, per the SEC’s recommendations based on the DAO report.

If you understand market structure this is probably the lowest value the treasury will be worth possibly ever again in a few months.

The ideal situation would be to wait until markets correct back up again and then decide what to do after having both a full bear and bull market cycle. This is how you can get a full cycle of actual data.

Being in this space for 7 years I have seen many times how communities try to make rash decisions without waiting out the full cycle.

When DOT was $50 people were screaming that too much money was going into the treaury and something must be done Immediately…well…here we are. Now we have people screaming something gets done immediately again without even waiting out the cycle.

This would be a better discussion to have in a year maybe, but definitely not now.

5 Likes

DOT does not exist in a bubble. The market is changing massively. My own personal view is some pragmatism is valuable, rather than hoping for some divine intervention. This post and other discussions are valuable to get a debate going, its a very complex and multi-faceted problem.

2 Likes

So if you really believe that, shouldn’t there be less money going into the treasury then? Based on what you’re saying there would be less demand for anything in the treasury because those projects wouldn’t be able to use the funds?

1 Like

Thank you for initiating this discussion, I think how we collectively think about and manage the Treasury will only grow in importance. I have a few rather unstructured thoughts on this topic.

Regarding the monthly in-/outflow chart: Almost all treasury spends are currently priced in fiat currency (event costs, salaries, etc.) and converted to DOT using the DOTUSD exchange rate. The chart suggests that spends increased as measured in DOT, but for planning purposes, having the x-axis in USD may also give some insight. For the outflows, according to dotreasury.com, about 2/3 of overall outflows come from burns, and 1/3 from spends – how this ratio has changed in the past and how we expect it to change in the future seems relevant too.

Also, I feel like a broader discussion regarding treasury management more generally should precede this specific one around allocating a fixed part of inflation. How do we allocate the treasury most efficiently in the long-term? Do we need to come up with a spending budget, and how do we manage this professionally? Different mental models around that may also help – should we treat it like a treasury of a company, or of a (purely digital) nation state? (I lean towards the latter)

The goal of the treasury is to increase the longevity and positive real-world impact of the network while being economically sustainable and minimizing the attack surface. Simply printing more money (DOT) directly to the treasury through governance without closely examining spending sends us down a dubious path that is well-known from central banking and might even increase the attack surface for nation-state level actors (whose resources are priced in any of the world’s reserve currencies).

There might also be other options for the treasury, such as opening up the possibility to loan DOT to the treasury for a certain amount of time for DOT holders, which is rewarded with a certain % APY. The APY should be low enough not to jeopardize achieving the ideal staking rate.

It is not clear to me how all of this will play together with the vision for Polkadot 2.0. However, as you say, exposing those parameters to governance seems reasonable.

2 Likes