Is Solana’s inflation too high?

Is Solana’s inflation too high?

Author: Lostin
Read Time: 28 min read
Date: Sep 11, 2024

Table of Contents

Actionable Insights

Introduction

This report addresses the ongoing FUD and misinformation surrounding Solana’s inflation schedule, providing a comprehensive analysis based primarily on data and facts. The analysis is divided into three sections: Past, Present, and Future.

Useful Definitions

First, let us formally define a few key terms we will use throughout this report. Readers already familiar with these Solana-specific definitions may skip this short section. ‍

Total Current Supply

The total number of SOL tokens currently in existence, locked and unlocked. More formally, the total current supply equals the total tokens generated minus the total tokens burnt. The total current supply is 583 million at the time of writing.

Circulating Supply

The total number of SOL tokens circulating across exchanges, on-chain protocols, and users’ wallets. This includes both staked and unstaked SOL. Circulating supply is 466 million at the time of writing. More formally, we can say:

Circulating Supply = Total Current Supply - Non-Circulating Supply

Non-Circulating Supply

This comes in two primary forms: SOL tokens locked in stake accounts and SOL kept in unlocked staked accounts owned by Solana Labs or the Solana Foundation. SOL locked in stake accounts are generally the result of a SOL investment or a Solana Foundation grant. Each stake account has an unlock date following vesting arrangements. Secondly, SOL tokens directly under the ownership of Solana Labs or the Solana Foundation. These are kept in unlocked stake accounts. The Foundation uses a large chunk of this (currently 51 million SOL) for its delegation program. The non-circulating supply is 117 million at the time of writing.

Locked Tokens

Locked tokens are tokens held in stake accounts with conditions preventing their withdrawal before a predetermined date. These lockup parameters are based on a specific UNIX timestamp or epoch and are set by a designated custodian when creating the account. Locked stake accounts can be undelegated, split into smaller accounts, and redelegated to other validators. They cannot be withdrawn or transferred to another address before the lockup period expires. Although any user can create locked stake accounts, this practice is primarily employed by the Solana Foundation to distribute tokens and grants subject to specific performance requirements or time locks.

Past: Pre-Inflation & Early Tokenomics

On March 16, 2020, 500 million SOL tokens were instantiated in the Solana Mainnet-Beta cluster’s genesis block. During its first year of operation, Solana did not feature inflationary staking rewards. Eight million SOL tokens were sold to non-U.S. buyers on March 24, 2020, through a Dutch auction hosted on CoinList. This auction raised just $1.76 million, with a final clearing price of $0.22 per token. The public auction tokens, plus a small amount distributed as part of a series of airdrop campaigns on Binance, became Solana’s initial circulating supply.

During this period, Solana faced significant challenges in raising capital compared to many of its industry peers. For instance, Algorand had successfully raised $60 million through a similar CoinList auction just six months earlier, while Hedera Hashgraph secured $100 million from institutional and high-net-worth individual investors eighteen months prior.

Approximately nine months after the auction, early token holders from the pre-auction private SAFT sales (i.e., Seed, Founding, Strategic, and Validator rounds) had all their tokens unlocked. Founders saw 50% of their tokens unlocked, with the remaining 50% released gradually over the following 24 months. Non-founding employees also unlocked all their tokens (100%) at this time, with undisclosed restrictions on selling.

In May 2020, in response to the early community’s concerns regarding the practice of lending tokens to market makers, the Solana Foundation permanently removed 11.36 million SOL from its portion of the total supply, reducing it to 488.64 million.

Present: Solana’s Inflation Schedule

Following a community vote, Solana Mainnet-Beta inflation was formally activated on slot 64800004, epoch 150, on February 10th, 2021, with the initial payment of 213,841 SOL.

The inflation schedule is a deterministic description of token issuance over time with three key parameters:

At the time of writing, Solana’s inflation rate is 5.07%. This can be checked using the Solana CLI tool suite with the command 'solana inflation' or the RPC method getInflationRate.

Epoch years consist of 182.5 epochs—the number of epochs that would be in a human year if each epoch lasted precisely two days. An epoch is 432,000 slots, each of which should, at minimum, take 400ms. However, since block times are variable, epochs commonly exceed this two-day lower-bound by a few hours (e.g., recent epoch 661, 2 days 4 hours). In earlier years, Solana’s Mainnet cluster commonly experienced slow three-day epochs (e.g., epoch 322, 3 days 3 hrs), considerably dragging out Solana’s inflation during this period schedule when measured in standard years.

For example, I am writing this on August 30th, 2024, and the current Solana epoch is 663. This is 513 epochs since inflation was activated on February 10th, 2021, epoch 150, which is 2.81 epoch years but 3.55 standard years.

The following chart models the total current supply based on this inflation schedule from an initial 488.6 million SOL (500 million minus 11.3 million burn) in February 2021.

Inflation Distribution Mechanism

Delegated Proof of Stake (DPOS) consensus is natively built into Solana. Staking interfaces are accessible directly through wallets, ecosystem dApps, and various comparison platforms. Token holders can easily stake SOL to a validator of their choice and unstake at every epoch boundary. Additionally, they can delegate to stake pools or purchase liquid staking tokens, which amounts to staking. Delegating tokens to a validator denotes trust in the validator. However, it does not give the validator ownership or control over the tokens.

Staking rewards are first divided based on credits earned for the epoch. For each block a validator votes on, which is later finalized and becomes canonical, the validator will earn a single credit. A validator's share of the total credits (i.e., their credits divided by the sum of all validators' credits) determines their proportionate reward. This is further weighted by stake. A validator with 1% of the total stake should earn roughly 1% of the total inflation if they have an average number of credits. Rewards will fluctuate accordingly if they exceed the average number of credits. Vote credits are a quantitative measure of an individual validator's participation and correctness in the consensus process. A validator being offline (i.e., delinquent) or out of sync with the chain will significantly impact rewards. Inflation rewards are calculated and distributed to delegators’ stake accounts at the epoch boundary. Doing so for over one million stake accounts is resource-intensive, slowing the network and leading to frequent epoch boundary consensus forks.

Validators charge a commission for their services as a percentage of the delegator's inflation rewards. This commission is usually a single-digit percent but can technically be any number from 0% to 100% inclusive. There are over 200 private Solana validators whose stake is presumably wholly owned by the operating entity and delegated to themselves. These entirely self-staked SOL validators can be identified by their 100% commission rate.

The following formula describes the nominal returns from staking inflation rewards:

Nominal Staking Yield = Inflation Rate * Validator Uptime * (1 - Validator Commission) * (1 / Percentage of SOL Staked)

Check out our Helius staking blog post to fully explore Solana's staking mechanisms.‍

Modeling Proof of Stake Inflation

The biggest criticism is that Solana inflation is too high, and somehow, that’s a cost to the network. Mathematically, if you look at the network, inflation is moving value between unstaked users and staked users. And that is a cost to unstaked users… So you can say it's a cost to those specific users but it’s a gain to the other users. And kind of the open market evens that out.

Disinflationary Forces

Our analysis will now shift to Solana’s disinflationary forces, of which we identify three types: transaction fee burns, slashing, and user-related losses. We’ll also consider the effects of Solana’s rent mechanism on inflation. This section introduces the term “net inflation,” defined as:

Net inflation = Total inflation - Total disinflation

Transaction Fee Burns

Transaction fee burns are the only protocol mechanism that directly removes SOL and lowers the total supply. Previously, fee burns comprised 50% of the base fees and 50% of the priority fees for all transactions within a block. Base fees, also known as signature fees, are fixed at 5,000 lamports per signature irrespective of the transaction’s complexity—usually, there is one signature per transaction. Prioritization fees are technically optional but have become increasingly standard practice.

This structure will shift with the passing of SIMD-96, which should be implemented shortly after Breakpoint Conference 2024, with Agave 2.0 per the current release schedule. Moving forward, 100% of the priority fees will go to block producers, removing their incentive to engage in out-of-protocol side deals.

Total fee burns as a percentage of total staking rewards exceeded 1% for the first time in epoch 546, beginning on December 14, 2023, and reached a peak of 7.8% in epoch 590, starting on March 18, 2024. Over the most recent 100 epochs, fee burns have averaged 3.2% of total staking rewards.

User-related Losses

User-related losses is an umbrella term capturing the ways SOL could be permanently lost through user error, security incidents, and program bugs, or lost private keys.

Slashing

Solana has not yet implemented programmatic slashing despite such mechanisms being considered in the early protocol economic designs.

Rent

While not a true disinflationary force, rent is worthy of discussion within this context. All Solana accounts must hold a minimum "rent-exempt" balance of SOL, a storage cost that keeps the account alive in a validator's memory.

Future: Time for change?

This section examines the arguments for altering Solana’s issuance including the concept of “issuance as a network cost,” the tax inefficiencies that inflation introduces, inflation’s downward price pressure, and the rise of alternative validator income sources.

Conclusion

This article explored Solana’s inflation schedule and issuance from past, present, and future perspectives. We analyzed the current mechanisms for calculating and distributing inflation and identified the forces that reduce inflation.