Skip to content

Commit

Permalink
Update Inflation Info (#6384)
Browse files Browse the repository at this point in the history
* edits

* edits

* new figure

* feedback Jonas and Kian
  • Loading branch information
filippoweb3 authored Nov 18, 2024
1 parent fc3a507 commit 8044a7e
Show file tree
Hide file tree
Showing 10 changed files with 135 additions and 121 deletions.
Binary file added docs/assets/dot-inflation.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 4 additions & 5 deletions docs/general/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -212,12 +212,11 @@ ten billion) Plancks, meaning that the new DOT was valued at ten decimal places.

### What is the inflation rate of the DOT?

The inflation rate is approximately 10% per year.
The inflation rate is approximately 120,000,000 DOT per year.

A portion of the inflation is rewarded to validators for performing their duties, while another
portion may go directly to the treasury. The exact percentage that goes into both varies and is
based on the amount of DOT that are staked. Please see the article on
[inflation](../learn/learn-staking.md/#inflation) for more information.
The 85% of inflation is rewarded to validators for performing their duties, while the 15% goes to
the treasury. Please see the article on [inflation](../learn/learn-staking.md/#inflation) for more
information.

### Why can't crowdloaned DOT be staked?

Expand Down
3 changes: 1 addition & 2 deletions docs/general/web3-and-polkadot.md
Original file line number Diff line number Diff line change
Expand Up @@ -170,8 +170,7 @@ and work together to improve it.

But from where are those incentives coming from? Polkadot's native token
[DOT is inflationary](../learn/learn-inflation.md). Inflation is used to pay validators for running
nodes and reward nominators for providing the necessary stake to secure the network. Depending on
the staking rate, part of the inflation is diverted to the treasury.
nodes and reward nominators for providing the necessary stake to secure the network.

### Governance and Treasury

Expand Down
1 change: 1 addition & 0 deletions docs/learn/learn-agile-coretime.md
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,7 @@ Coretime is managed through the
which is deployed on the Coretime Chain. In theory, the Polkadot relay chain can support around a
hundred cores seamlessly and can support over a few hundred cores through optimizations. Preliminary
tests ran successfully with 80 cores with 12-second block times.
[**Coretime revenue sales are burned**](https://app.regionx.tech/?network=polkadot).

### Coretime Sales

Expand Down
107 changes: 22 additions & 85 deletions docs/learn/learn-inflation.md
Original file line number Diff line number Diff line change
@@ -1,104 +1,41 @@
---
id: learn-inflation
title: Token Inflation
sidebar_label: Token Inflation
description: Explanation of Token's Inflation in the Polkadot Ecosystem.
keywords: [token, DOT, KSM, inflation]
title: DOT Inflation Model
sidebar_label: DOT Inflation
description: Explanation of DOT's Inflation.
keywords: [token, DOT, inflation]
slug: ../learn-inflation
---

import MessageBox from "../../components/MessageBox"; import "../../components/MessageBox.css";

<MessageBox message="[A simpler inflation model modifiable by OpenGov and a reduction in DOT inflation are currently being discussed.](https://forum.polkadot.network/t/proposal-for-adjusting-polkadots-inflation-system-reducing-issuance-and-complexity/9157)" />
<MessageBox message="[In November 2024, Polkadot transitioned from a model that led to exponential growth in the token supply (but with a constant inflation rate) to one with linear growth (with a decreasing inflation rate).](https://forum.polkadot.network/t/proposal-for-adjusting-polkadots-inflation-system-reducing-issuance-and-complexity/9157) The constant inflation rate model is still in use for [Kusama](./learn-kusama-inflation)." />

DOT (and KSM) is an inflationary token. Inflation is
[set to be 10% annually](https://github.com/paritytech/polkadot-sdk/blob/756ccc35e93d1a78e3c71a0e67ae4da5f1d09f69/runtime/polkadot/src/lib.rs#L576)
on Polkadot (same on Kusama, see
[here](https://github.com/paritytech/polkadot-sdk/blob/756ccc35e93d1a78e3c71a0e67ae4da5f1d09f69/runtime/kusama/src/lib.rs#L535)).
Depending on the supply staked and the ideal staking rate (more about this below), part of the
inflation is distributed to the stakers and part to the
[treasury](./learn-polkadot-opengov-treasury.md).

:::info

DOT went through [redenomination](./archive/learn-redenomination.md) in 2020 that saw the DOT token
supply increase by 100 times.

The current token supply can be seen [here](../general/chain-state-values.md#total-issuance).

:::
DOT is an inflationary token, with
[**fixed annual expansion of the token supply of 120,000,000 DOT**](https://github.com/polkadot-fellows/runtimes/pull/471),
of which 15% goes to the [treasury](./learn-polkadot-opengov-treasury.md) and 85% to
[stakers](./learn-staking.md).

It is essential to understand that the primary objective of inflation is to incentivize network
participants through
[Nominated Proof of Stake (NPoS)](./learn-consensus.md#nominated-proof-of-stake) and to grow the
network through funding the on-chain treasury. There is an opportunity cost of keeping the number of
tokens idle with the current inflation model as the tokens get diluted over time. Economics and game
theory suggest that setting an ideal inflation rate is essential for incentivizing the network
participants as well as the growth of the network, and any deviation from it can have adverse
effects. Reducing the inflation rate could limit growth, while increasing the inflation rate could
break the incentive model of the token. Hence, **token inflation rate is not a forever fixed value,
and inflation can be updated in the future through
[on-chain governance](./learn-polkadot-opengov.md)** based on thorough tokenomics research.

## Inflation Model

The chart below shows the inflation model of the network. Depending on the number of staked tokens,
the distribution of the inflation to validators and nominators versus the treasury will change
dynamically to provide incentives to participate (or not participate) in staking.

There is a [dynamic _ideal staking rate_](#ideal-staking-rate) (in the figure set to 0.6 or 60%)
that the network tries to maintain. The inflation model will incentivize network participants to
stake when the _current staking rate_ < _ideal staking rate_ and disincentivize staking when
_current staking rate_ > _ideal staking rate_. The goal is to have the staking rate meet the ideal
staking rate. The current staking rate would be the total amount staked in the current era over the
total token supply, where the total amount staked is the stake of all validators and nominators on
the network. The ideal staking rate accounts for having sufficient backing of tokens to prevent the
possible compromise of security while keeping the native token liquid.

![staking](../assets/rewards-inflation.png)

<p style={{textAlign:"center"}}>Source: <a href="https://research.web3.foundation/Polkadot/overview/token-economics">Research - Web3 Foundation</a></p>

- **x-axis**: Proportion of staked tokens
- **y-axis**: Annualized percentage (inflation and staking rewards, see below)
- **Blue line**: Annual inflation rate diverted to NPoS, i.e., the total amount of tokens minted to
pay validators and nominators. For instance, 0.1 corresponds to 10% of token inflation diverted to
stakers. Since annual token inflation is 10%, all inflation is used to pay validators and
nominators, and 0% of token inflation is diverted to the treasury.
- **Green line**: Annual rewards rate for stakers. For instance, 0.2 corresponds to 20% of annual
returns on the staked tokens. You can determine the current annual staking rewards rate by looking
at the top bar of the staking overview on
[the Polkadot Staking Dashboard](https://staking.polkadot.cloud/#/overview).

Assuming that the ideal staking rate is 60%, all of the inflation would go to the validators and
nominators if 60% of all tokens are staked. Any deviation from the 60% - positive or negative -
sends the proportional remainder to the treasury. Deviations from the ideal staking rate are
referred to as _staking inefficiencies_. Thus, the treasury does not receive an inflow of funds from
inflation when the system staking rate equals the ideal staking rate. See
[this page](./learn-polkadot-opengov-treasury.md) for more information about treasury inflow
sources.

For those who are interested in knowing more about the design of the inflation model for the
network, please see [here](https://research.web3.foundation/Polkadot/overview/token-economics).
network through funding the on-chain treasury. The token inflation rate can be updated through
[on-chain governance](./learn-polkadot-opengov.md) based on thorough tokenomics research.

## Ideal Staking Rate
Below is a 25-year prediction of DOT gross annual inflation (red line) and DOT total issuance (blue
line), assuming the current fixed inflation rate.

The ideal staking rate can vary between 45% to 75% based on the number of parachains that occupied a
core (this excludes the system parachains), based on the implementation
[here](https://github.com/paritytech/polkadot-sdk/blob/cd901764a52edc04a6d22bea3a526def593ab2a7/polkadot/runtime/common/src/impls.rs#L80).
![inflation](../assets/dot-inflation.png)

Briefly, the ideal staking rate can be calculated as follows:
Net DOT inflation depends on [treasury burns](./learn-polkadot-opengov-treasury.md) and
[coretime sales](./learn-agile-coretime.md#agile-coretime-implementation) and thus cannot be
predicted. Net inflation can be defined as follows:

`0.75 - auction_proportion`
```
where `auction_proportion` is obtained by computing `min(auctioned_slots, 60) / 300`. The
`auctioned_slots` are all the auctioned slots (or cores) without the cores for system parachains.
Net Inflation = Gross fixed inflation - burned supply (treasury + coretime sales)
Assuming there are 50 filled cores, of which five are dedicated to
[system parachains](./learn-system-chains.md), there are 45 auctioned cores. The
`auction_proportion` is thus `45 / 300 = 0.15`. The ideal staking rate is `0.75 - 0.15 = 0.6`.
```

If the amount of tokens staked goes below 60%, then staking rewards for nominators increase,
incentivizing them to stake more tokens on the network. On the contrary, staking rewards drop if
staked tokens exceed the ideal staking rate. This results from the change in the percentage of
staking rewards that go to the Treasury.
Where `Gross fixed inflation` is the annual inflation of 120M DOT and the `burned supply` is the
annual burn supply due to treasury burns and coretime sale burns.
97 changes: 97 additions & 0 deletions docs/learn/learn-kusama-inflation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
---
id: learn-kusama-inflation
title: Kusama Inflation Model
sidebar_label: KSM Inflation
description: Explanation of KSM's Inflation Model.
keywords: [token, KSM, inflation]
slug: ../learn-kusama-inflation
---

import MessageBox from "../../components/MessageBox"; import "../../components/MessageBox.css";

<MessageBox message="[Learn about Polkadot's native token DOT inflation](./learn-inflation)." />

KSM is an inflationary token. Inflation is set to be 10% annually. Depending on the supply staked
and the ideal staking rate (more about this below), part of the inflation is distributed to the
stakers and part to the [treasury](./learn-polkadot-opengov-treasury.md).

:::info

The current KSM token supply can be seen [here](./../general/chain-state-values.md#total-issuance).

:::

It is essential to understand that the primary objective of inflation is to incentivize network
participants through
[Nominated Proof of Stake (NPoS)](./learn-consensus.md#nominated-proof-of-stake) and to grow the
network through funding the on-chain treasury. There is an opportunity cost of keeping the number of
tokens idle with the current inflation model as the tokens get diluted over time. Economics and game
theory suggest that setting an ideal inflation rate is essential for incentivizing the network
participants as well as the growth of the network, and any deviation from it can have adverse
effects. Reducing the inflation rate could limit growth, while increasing the inflation rate could
break the incentive model of the token. Hence, **token inflation rate is not a forever fixed value,
and inflation can be updated in the future through
[on-chain governance](./learn-polkadot-opengov.md)** based on thorough tokenomics research.

## Kusama Inflation Model

The chart below shows the inflation model of the network. Depending on the number of staked tokens,
the distribution of the inflation to validators and nominators versus the treasury will change
dynamically to provide incentives to participate (or not participate) in staking.

There is a [dynamic _ideal staking rate_](#ideal-staking-rate) (in the figure set to 0.6 or 60%)
that the network tries to maintain. The inflation model will incentivize network participants to
stake when the _current staking rate_ < _ideal staking rate_ and disincentivize staking when
_current staking rate_ > _ideal staking rate_. The goal is to have the staking rate meet the ideal
staking rate. The current staking rate would be the total amount staked in the current era over the
total token supply, where the total amount staked is the stake of all validators and nominators on
the network. The ideal staking rate accounts for having sufficient backing of tokens to prevent the
possible compromise of security while keeping the native token liquid.

![staking](./../assets/rewards-inflation.png)

<p style={{textAlign:"center"}}>Source: <a href="https://research.web3.foundation/Polkadot/overview/token-economics">Research - Web3 Foundation</a></p>

- **x-axis**: Proportion of staked tokens
- **y-axis**: Annualized percentage (inflation and staking rewards, see below)
- **Blue line**: Annual inflation rate diverted to NPoS, i.e., the total amount of tokens minted to
pay validators and nominators. For instance, 0.1 corresponds to 10% of token inflation diverted to
stakers. Since annual token inflation is 10%, all inflation is used to pay validators and
nominators, and 0% of token inflation is diverted to the treasury.
- **Green line**: Annual rewards rate for stakers. For instance, 0.2 corresponds to 20% of annual
returns on the staked tokens. You can determine the current annual staking rewards rate by looking
at the top bar of the staking overview on
[the Polkadot Staking Dashboard](https://staking.polkadot.cloud/#/overview).

Assuming that the ideal staking rate is 60%, all of the inflation would go to the validators and
nominators if 60% of all tokens are staked. Any deviation from the 60% - positive or negative -
sends the proportional remainder to the treasury. Deviations from the ideal staking rate are
referred to as _staking inefficiencies_. Thus, the treasury does not receive an inflow of funds from
inflation when the system staking rate equals the ideal staking rate. See
[this page](./learn-polkadot-opengov-treasury.md) for more information about treasury inflow
sources.

For those who are interested in knowing more about the design of the inflation model for the
network, please see [here](https://research.web3.foundation/Polkadot/overview/token-economics).

## Ideal Staking Rate

The ideal staking rate can vary between 45% to 75% based on the number of parachains that occupied a
core (this excludes the system parachains), based on the implementation
[here](https://github.com/paritytech/polkadot-sdk/blob/cd901764a52edc04a6d22bea3a526def593ab2a7/polkadot/runtime/common/src/impls.rs#L80).

Briefly, the ideal staking rate can be calculated as follows:

`0.75 - auction_proportion`

where `auction_proportion` is obtained by computing `min(auctioned_slots, 60) / 300`. The
`auctioned_slots` are all the auctioned slots (or cores) without the cores for system parachains.

Assuming there are 50 filled cores, of which five are dedicated to
[system parachains](./learn-system-chains.md), there are 45 auctioned cores. The
`auction_proportion` is thus `45 / 300 = 0.15`. The ideal staking rate is `0.75 - 0.15 = 0.6`.

If the amount of tokens staked goes below 60%, then staking rewards for nominators increase,
incentivizing them to stake more tokens on the network. On the contrary, staking rewards drop if
staked tokens exceed the ideal staking rate. This results from the change in the percentage of
staking rewards that go to the Treasury.
11 changes: 3 additions & 8 deletions docs/learn/learn-polkadot-opengov-treasury.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,7 @@ mechanisms:

- **Transaction fees:** 80% of the transaction fees of every submitted extrinsic is diverted to the
Treasury, while 20% is given to the block producers.
- **Staking inefficiencies:** the network knows an exogenously determined parameter called ideal
staking rate. The APY for stakers (nominators & validators) decreases whenever the actual staking
rate is not equal to the ideal staking rate. To keep inflation constant at 10%, the system does
not creates less tokens, rather some share of the overall reward for stakers is diverted to the
Treasury (more information
[here](https://research.web3.foundation/Polkadot/overview/token-economics)).
- **Inflation:** 15% of DOT annual inflation is directed to the Treasury.
- **Slashes:** whenever validators and nominators are [slashed](./learn-offenses.md), a share of the
slashed tokens are diverted to Treasury. They are typically rare and unpredictable events.
- **Transfers:** everyone can send funds to the Treasury directly. This is a rare event and
Expand All @@ -41,8 +36,8 @@ mechanisms:
The outflow is determined by the following mechanisms:

- **Burned tokens:** at the end of each spend period,
[a fraction](../general/chain-state-values.md#treasury-burn-factor) of the available funds are
burned.
**[a fraction](../general/chain-state-values.md#treasury-burn-factor) of the available funds are
burned**.
- **Treasury proposals & Bounties:** they make up the largest share of outflow tokens to the
community and need to be approved by governance. Then, payouts occur at the end of a
[spend period](../general/glossary.md#spend-period).
Expand Down
17 changes: 2 additions & 15 deletions docs/learn/learn-staking.md
Original file line number Diff line number Diff line change
Expand Up @@ -452,21 +452,8 @@ automatically check if you qualify. For more information, visit the
- Can choose [multiple validators](../general/chain-state-values.md#maximum-votes-per-nominator)
which can help to decentralize the network through the sophisticated
[NPoS system](learn-consensus.md/#nominated-proof-of-stake)
- 10% inflation/year of the tokens is primarily intended for staking rewards.

When the system staking rate matches with the ideal staking rate, the entire inflation of the
network is given away as the staking rewards.

The ideal staking rate is a dynamic value - as the number of active parachains influences the
available liquidity that is available to secure the network.

Any divergence from the ideal staking rate will result in the distribution of a proportion of the
newly minted tokens through inflation to go to the treasury. Keep in mind that when the system's
staking rate is lower than the ideal staking rate, the annual nominal return rate will be higher,
encouraging more users to use their tokens for staking. On the contrary, when the system staking
rate is higher than the ideal staking rate, the annual nominal return will be less, encouraging some
users to withdraw. For in-depth understanding, check the
[inflation](learn-staking-advanced.md#inflation) section on the Wiki.
- 85% of inflation/year of the tokens is primarily intended for staking rewards. Check the
[inflation](learn-staking-advanced.md#inflation) section on the Wiki for more information.

### Cons of Staking

Expand Down
10 changes: 4 additions & 6 deletions docs/maintain/maintain-guides-validator-payout.md
Original file line number Diff line number Diff line change
Expand Up @@ -184,12 +184,10 @@ This includes the stake of the validator itself plus any stake bonded by nominat
:::info

Validators set their preference as a percentage of the block reward, _not_ an absolute number of
DOT. Polkadot's block reward is
[based on the _total_ amount at stake](../learn/learn-inflation.md#ideal-staking-rate). The
commission is set as the amount taken by the validator; that is, 0% commission means that the
validator does not receive any proportion of the rewards besides that owed to it from self-stake,
and 100% commission means that the validator operator gets all rewards and gives none to its
nominators.
DOT. Polkadot's block reward is based on the _total_ amount at stake. The commission is set as the
amount taken by the validator; that is, 0% commission means that the validator does not receive any
proportion of the rewards besides that owed to it from self-stake, and 100% commission means that
the validator operator gets all rewards and gives none to its nominators.

:::

Expand Down
1 change: 1 addition & 0 deletions polkadot-wiki/sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -1001,6 +1001,7 @@ module.exports = {
"general/kusama/kusama-adversarial-cheatsheet",
"maintain/kusama/maintain-guides-society-kusama",
"maintain/kusama/maintain-guides-how-to-validate-kusama",
"learn/learn-kusama-inflation",
],
},
],
Expand Down

0 comments on commit 8044a7e

Please sign in to comment.