[Proposal] [Draft] Suggested changes to a few cosmological constants

Are you planning to put both #2 and #3 proposals up at the same time, after #1 is passed and hard fork is finished?

Probably, though still as separate parameter change proposals.

Final draft proposal “Activate the Community Pool”: [Proposal] [Draft] Activate the Community Pool

Planning to pick this back up in the new year - I may split up the changes though - any further thoughts with the benefit of more mainnet experience?


Hey @cwgoes, by my calculation, it appears that the rate that inflation changes is relative to the current rate. Not sure how clear that statement is, so here’s an example:

Inflation was 7.19% on Dec 30, 2019. If inflation could move between 7% and 20% in a year, that means it would change by just over 1% per month. However, tomorrow is Jan 30 and inflation is currently ~7.09%.

It appears that the rate of inflation is changing relative to a proportion of the current rate of inflation, if that makes sense. I think that the lower the rate of inflation, the slower it changes.

Indeed, my original analysis was not quite correct, but I don’t think it’s relative to the current inflation rate - instead it is relative to the ratio of the current & desired bonded ratios.

From x/mint/internal/types/minter.go:

func (m Minter) NextInflationRate(params Params, bondedRatio sdk.Dec) sdk.Dec {
	// The target annual inflation rate is recalculated for each previsions cycle. The
	// inflation is also subject to a rate change (positive or negative) depending on
	// the distance from the desired ratio (67%). The maximum rate change possible is
	// defined to be 13% per year, however the annual inflation is capped as between
	// 7% and 20%.

	// (1 - bondedRatio/GoalBonded) * InflationRateChange
	inflationRateChangePerYear := sdk.OneDec().
	inflationRateChange := inflationRateChangePerYear.Quo(sdk.NewDec(int64(params.BlocksPerYear)))

	// adjust the new annual inflation for this next cycle
	inflation := m.Inflation.Add(inflationRateChange) // note inflationRateChange may be negative
	if inflation.GT(params.InflationMax) {
		inflation = params.InflationMax
	if inflation.LT(params.InflationMin) {
		inflation = params.InflationMin

	return inflation

I still think that we should increase the InflationRateChange parameter - perhaps by a larger factor.

I won’t have time to pick any of these parameter change proposals up until after IBC 1.0, though - would the Governance Working Group be interested in taking some of these over?


Right now the GWG is focused on education and helping others to formalize their proposals, rather than taking positions on or launching proposals. I could take a closer look at it personally, though!

1 Like