The introduction of crypto tokens has created a wide range of innovation in the digital space. Tokens have allowed the creation of novel open networks, the ability to align incentives across network participants, new governance structures and forms of capital coordination, ways for products to overcome the cold-start problem, and more. Amidst all the innovation, one aspect remains evident: the right design plays a crucial role in a network’s ability to effectively incentivize participants to contribute to its stability and security.
In this installment of the learning series we discuss the intricacies of the Cosmos mint module, examine XION’s unique approach to token inflation on staked tokens, and explore its modifications aimed at combatting hyperinflation. A sustainable economic foundation is key to building a long-lasting ecosystem, and XION’s design places significant emphasis on this aspect in order to deliver on its vision of making Web3 accessible to everyone.
XION is a Proof-of-Stake blockchain, and as such is secured by a set of validators — network participants responsible for proposing and validating new blocks. They are chosen to participate in block production and validation based on the number of tokens they stake as collateral. If they act maliciously or fail to perform their duties correctly, a portion of their staked collateral is taken away. In order to incentivize these validators to participate in the network’s consensus and contribute to its security, they are given staking rewards.
As a PoS blockchain, XION’s security is determined by the number of validators and the value of the assets staked by them. The higher the value of the assets staked, the more capital an attacker would require in order to harm the network. This also means that a poorly designed network with a falling asset value will face increased risks of attack.
Over the past few years, emerging ecosystems attempted to attract more validators and stakers by offering abnormally high staking rewards. However, this approach had unintended consequences as it gave rise to hyperinflation. As the situation has unfolded, it has become increasingly clear that hyperinflation isn’t a sustainable model. It has hurt active users and holders of platform tokens, which have seen their assets devalued at a rapid rate. Simultaneously, it has shifted value to generally inactive staking participants. This has culminated in networks that have lost both stability and security.
In order to address concerns brought by hyperinflation, XION is built on a forked and extended version of the Cosmos mint module. Two small, yet significant, changes have been made:
Accumulated fees will be used to offset inflation, when possible.
Token inflation will be calculated against staked tokens only, not all tokens.
Before diving deeper into the implications of these changes, it’s important first to understand how the mint module works.
The mint module’s goal is to maintain the pre-determined ratio of staked vs liquid tokens in an ecosystem. This is achieved by setting three values: the upper bound for inflation, the lower bound for inflation, and the target staking ratio. It is an important balance to strike between market liquidity and staked supply, as it impacts the long-term security and growth of the network.
To illustrate this dynamic, we’ll use the Cosmos Hub as an example. It sets the upper bound for inflation value at 20%, the lower bound at 7%, and the target staking ratio is 2/3rds of tokens. If more than 2/3rds of tokens are staked, the inflation rate will slowly drop to 7% over multiple blocks. If less than 2/3rds are staked, it will slowly climb to 20%. And if exactly 2/3rds are staked, the inflation rate will stay constant. The module will then calculate how many tokens need to be generated in that block in order to meet the inflation percentage. These tokens are then distributed to the validators and stakers.
Change #1: Offsetting inflation with fees
The default mint module and Cosmos Hub currently take fees accumulated in a block and pass them to validators, on top of the tokens that get minted every block. For instance, if 10 tokens worth of fees were collected in a block, and inflation calls for 1000 to be minted, then 1010 will be distributed to validators.
The first change we have implemented is to use the fees that have been collected in a block, and offset how many tokens need to be minted in the block by these accumulated fees.
For example, if 1000 tokens are due to be minted to distribute to validators, and 600 tokens have been collected via fees in that same block, then only 400 tokens will be minted by the mint module. These 400 minted tokens will then be combined with the 600 tokens worth of fees, so that the full 1000 can be distributed as intended.
As chain utility and popularity increases, this will result in inflation decreasing as the accumulation of fees continue to offset the minting of new tokens. It will also result in the stabilization of token value, while still maintaining the necessary incentives for validators and stakers to contribute to a healthy ecosystem.
There is an interesting follow on effect; when fee accrual exceeds the number of tokens per block necessary to distribute to stakers, then the extra tokens are burnt and the token supply is thereby reduced. This means that in those blocks, the token will naturally become deflationary.
Change #2: Token inflation on staked tokens
Existing Model: Token inflation on all tokens
The default mint module calculates inflation against all existing tokens. This means that the realized staking Annual Percentage Yield (APY) is usually much higher than the inflation rate, since the percent of existing tokens staked is never at its maximum. This is easiest to understand in an example:
If there are 1,000 existing tokens, only 500 tokens are staked, and the inflation rate is 10%, then stakers will realize a 20% APY. Why? Because the 10% inflation of the existing 1,000 tokens, 100 newly minted tokens, is spread across only half of the token holders.
This creates the unwanted incentive of attracting short-term network participants looking for a quick payoff. Validators and stakers are incentivized to get into these chains early in order to get extreme hyperinflation rewards. These rewards then quickly disappear, and once they do, the token then sees tremendous selling pressure as early participants attempt to realize their quick gains. Another consequence of inflation being based on all tokens is APY becomes more subject to volatility, as it depends heavily on how many tokens are staked.
The XION Model: Token inflation on staked tokens
Our change uses all of the same mechanics from the module, but changes one significant variable. Instead of calculating against all tokens, we calculate against staked tokens. To illustrate what this means, we’ll use the same example as above:
If there are 1,000 existing tokens, only 500 tokens are staked, and the inflation rate is 10%, then stakers will realize a 10% APY. Why? Because the 10% inflation is on the 500 tokens, so only 50 tokens are minted instead of 100. The result is that stakers will always see their APY as the inflation rate. This change creates a much more stable APY, and helps to attract the right long-term participants to the network.
XION is built with a long-term perspective in mind anchored on the principles of stability and security. Through two significant changes — offsetting inflation through accumulated fees, and calculating token inflation exclusively on staked tokens — XION strategically mitigates the possibility of hyperinflation. In taking a first-principles approach to carefully calibrate ecosystem incentives, it aims to attract dedicated validators and users, rather than short-term opportunistic participants, fortifying the network against volatility and ensuring a stable, secure, and sustainable ecosystem.