Cosmos-sdk: The term "Inflation" is misleading.

Created on 13 Feb 2019  路  15Comments  路  Source: cosmos/cosmos-sdk

"Inflation is a quantitative measure of the rate at which the average price level of a basket of selected goods and services in an economy increases over a period of time." - Investopedia

The term "inflation" is correctly used where in a Cosmos world that all the circulating Atoms are bonded. However, when less than 100% of the circulating Atoms are bonded, the term is incorrect and we would have an "effective inflation".

When the proposed inflation is 10% and only 50% of Atoms are bonded, the effective inflation to the total supply of Atoms would be 5% which is far from targeted 10% inflation.

Proposal 1
The term "Inflation" is more like an interest rate in how the cosmos works. Therefore, the term should be changed as "Interest Rate" to reflect that.

Alternative Proposal
If we really want to target the inflation rate, then the total supply of Atoms should reflect that. Why not distribute the remaining portion of the inflation to bonded Atom holders? This way we would have the correct inflation rate and have more incentive to bond Atoms. In case of 10% inflation and 50% bonded Atoms, the effective interest rate to the bonded holders would be 20%.

Most helpful comment

I'm relating this issue to #3646

The white paper and @rigelrozanski says atoms are generated based off of the total supply of atoms but what I experienced from testnets and GoS and the actual code says atoms are generated based off of bonded atoms.

I am confused. But thank you so much for the comments. I know you guys are super busy right now. I'm really sorry to bother you.

All 15 comments

hmm interest-rate does not refer to token creation, which is what's happening - even though we may be misusing the term inflation by certain definitions and more accurately should be using effective-inflation I think people intuitively understand the gist of what's happening, the word seems to be common place in the crypto scene. You don't hear people referring to the "bitcoin interest rate" when they are talking about block reward right?

I'm not sure what a better word is that is both of correctness by definition, and intuitive to the average user. Maybe minting? or token-creation? spontaneous-token-generation? lol

In PoS world, the interate rate could work, isn't it? It's interest from bonded coins.

The way we use inflation in blockchains is incorrect. A better term is the token supply expansion rate.

Interest_rates are typically returns on lending money and staking is not lending.

In Cosmos I believe the most correct term would be Baryogenesis

馃榾

The token supply expansion rate is incorrect also in case of Cosmos. Like above example, 10% of the token supply expansion does not reflect 10% of the total token expansion annually.

Interest rate is also representing returns on depositing. I think staking could be considered depositing as you would bond(desposit) and get return at inflation rate(interest rate).

Inflation is applied to the whole token supply but Cosmos does not work that way. On the other hand, something like an interest rate is applied to bonders individually just like how Cosmos works.

How about "Staking Yield"?

Staking Yield is actually the rate of change in your fraction of the total token supply over time. If 100% .of tokens are staked, this is 0.

I'm actually a bit confused as to what the parameters here will be.

This has been my understanding:

  • Inflation (supply increase) will range between 7% and 20%. That is calculated using the total number of atoms, not just the staked supply.
  • All of the inflation gets paid to those staking.
  • I had a conversation recently, where I was told the starting figure would be 13%. I thoughts we forgot to specify that before the fundraiser. But here it seems that this was set to 7%: https://github.com/cosmos/cosmos/blob/master/PLAN.md
  • If staked-supply <67%, inflation rate gradually increases. (What is the rate of increase though?) until that target is hit. If staked-supply is >67%, it gradually decreases until it falls below that rate.

So my understanding is that @winslyn's point that inflation only applies to the staked supply is incorrect.
Regarding the term, I think inflation is better than the alternatives proposed. It's pretty clear that we're not referring to changes in price level in this context.

Sorry if I misunderstood how Cosmos works. But are you sure that the inflation is calculated using the total number of atoms? Does it all go to bonded stake holders like the alternative proposal above?

@crainbf @winslyn
crainbf, you're correct about inflation being based off of the total supply but only being paid out to those who are staked. (reference:) https://github.com/cosmos/cosmos-sdk/blob/e0a03b4be773536ddcce4a2f141827c8ba489043/x/mint/minter.go#L80

Thank you for linking to the plan... I'm not sure it's makes too too much of a difference, but for what's it's worth I imagine it makes sense to stick the plan and start with 7% inflation (which means it will be increasing towards 20% from undoubtedly until the target of 67% bonded is hit)


Also I second crainbf that we ought to not switch away from the term inflation

@rigelrozanski Hmm, then where does all the remaining not paid atoms go? I wonder if I say "Cosmos has 7% inflation rate", it is true...

I'm not sure I follow what you mean by "not paid" atoms? Maybe it's worth re-reading the white paper? atoms are "generated" based off of the total supply (at rate of between 7% and 20%) the newly created atoms are paid exclusively and entirely to the validators of the network (so if there is only 1 validator it would get the entire 7%!)

I'm relating this issue to #3646

The white paper and @rigelrozanski says atoms are generated based off of the total supply of atoms but what I experienced from testnets and GoS and the actual code says atoms are generated based off of bonded atoms.

I am confused. But thank you so much for the comments. I know you guys are super busy right now. I'm really sorry to bother you.

@winslyn there is no need to apologize! You helped find an important bug!! 馃槃

Always great to have more input and thoughts... we're all here to learn and discuss!

I'll close this issue since it has been resolved by #3654. Thanks everyone.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

ValarDragon picture ValarDragon  路  3Comments

ValarDragon picture ValarDragon  路  3Comments

fedekunze picture fedekunze  路  3Comments

ValarDragon picture ValarDragon  路  3Comments

fedekunze picture fedekunze  路  3Comments