The x/mint Module and understanding the Inflation Rate Calculation

CONTEXT:

We have seen recently a series of on-chain proposals regarding the reform of certain inflation related parameters. We were very surprised to see among the comments a large share of users that didn’t really understood the formula behind. On this context we have provided our initial negative feedback on these proposal on this post, highlighting the fact that the logic would have guided us to discuss the inflation reform as a fully comprehensive formula debate BEFORE voting on the adjustment of certain parameters alone.
The reasoning is quite simple, to vote confidently on such a critical matter of the blockchain tokenomics, we feel like the users should have been informed correctly, the most professional way to acheive this would have been to build a mathematical model to showcase the effect of each parameters and let the users play around with it to understand their influence over inflation.

ANALYSIS:

It is worth remembering everyone here how this formula works:

NextInflationRate(params Params, bondedRatio math.LegacyDec) (inflation math.LegacyDec) {
    inflationRateChangePerYear = (1 - bondedRatio/params.GoalBonded) * params.InflationRateChange
    inflationRateChange = inflationRateChangePerYear/blocksPerYr

    // increase the new annual inflation for this next block
    inflation += inflationRateChange
    if inflation > params.InflationMax {
        inflation = params.InflationMax
    }
    if inflation < params.InflationMin {
        inflation = params.InflationMin
    }

    return inflation
}

Source: x/mint | Explore the SDK

Here is a list of the adjustable parameters as they are currently operating in Gaia:

Key Type Example
MintDenom string “uatom”
InflationRateChange string (dec) “1.000000000000000000”
InflationMax string (dec) “0.100000000000000000”
InflationMin string (dec) “0.070000000000000000”
GoalBonded string (dec) “0.670000000000000000”
BlocksPerYear string (uint64) “6311520”

We have seen many comments on both min and max parameters discussion that shows huge misrepresentation of the mechanism. To highlight the real functioning let’s bring a simple example.

Example:
If the staking ratio moves up toward 75% (which our model predict as the stable ratio when liquid staking will come into full force). Over a year, the inflation would be reduced by: (1 - 0,75 / 0,67) * 1,00. This equals an “inflationRateChangePerYear” of -11,94% which would take a year to take into effect (assuming a constant 75% staking ratio). Now if we imagine a 9-12month target in the future to reach to that 75% bonding rate linearly. This would result into this projection:

Source: Cosmos Hub Inflation Projection - Google Sheets

With this model we can see that with a 75% bonding rate taking 9 months to grow linearly, a 0% rate would be reached by may 2025. Even if these number fall down the realm of speculation, we need to assume the associated changes it will incur both in terms of investor’s incentive as well as validators reward. The model shows that by december 31st of 2024, both would see their revenue slashed by 68% and their real yield (the difference between inflation and staking reward) by 77%. These numbers can’t be ignored. Therefore we advise for a very cautious approach toward moving the “InflationMin” parameter to 0.

CONCLUSION:

We think the current debate and controversy around the adjustment of the “InflationMin” and “InflationMax” parameters could have been much more productive if the community was well aware of the true nature of the inflation formula in the first place. Broad misunderstandings have been evident to us and therefore we have advised many times in our posts to have a broader reform involving a comprehensive discussion on all the parameters.

Through this post we wanted to provide this necessary base for understanding as well as a realistic example to show that adjusting the min parameter can rapidly shift the economic fundamentals of the hub. As we are still assessing the profound changes that liquid staking could have on the bonding ratio, we think that a comprehensive debate should be initiated.


Thanks for reading !
Govmos
pro-delegators-sign

15 Likes

Yeah, it does feel like a lot of posters don’t understand how the inflation formula in Cosmos works. Thanks for posting this.

2 Likes

Is there at least one official document, whether on the official Cosmo hub website or the white paper, on the operation of this inflation/staking mechanism income, etc.? think no because nobody can explain iy

It’s public knowledge on the Cosmos SDK, the source was provided in the post:
x/mint | Explore the SDK

3 Likes