Hello Solana Community!
As you may be aware, our Mainnet Beta inflation roadmap has been delayed this month due to prioritization of the core team’s work toward supporting the network through high growth. Due to this, we’d like to propose a new on-chain process to allow the community to decide if and how the Solana protocol will enable inflation!
Community Initiated Inflation Process Overview
Through the following public process, the Foundation will host on-chain community votes to grant representatives the ability to enable full-inflation on Mainnet Beta. This process consists of three main steps outlined here with technical details provided below.
1. Nomination Period
The Solana Foundation announces an enrollment period during which any member of the community can declare their desire to act as an “Inflation Candidate”. If elected, this individual will be able to initiate full-inflation on Mainnet Beta under certain conditions defined below.
We propose that the Nomination Period start on Friday Jan 29th with an open enrollment duration of 7 days. In advance of this date we will provide a more detailed outline of the Inflation Candidate nomination process, but some details on submitting nominations for Inflation Candidates are also provided below.
2. Upgrade Period
At the close of the Nomination Period, the list of submitted Inflation Candidate nominees and associated pubkeys will be merged into a new release of the Solana protocol software. This release must be accepted by 95% of the active validators before the community voting for an Inflation Candidate can begin. This time for the network to upgrade to this new release, if they choose to, is referred to as the Upgrade Period.
For reference, typical network upgrades take a day or two to complete.
3. Voting Period
Once the network has upgraded to the release that includes the Inflation Candidate nominees (i.e. the Upgrade Period has concluded), the Solana Foundation will instantiate a Feature Proposal for each of the Inflation Candidates.
As is part of the standard Feature Proposal process, a set of Vote SPL Tokens will be generated for each Inflation Candidate Feature Proposal and distributed to the validators in a 1:1 match with the amount of staked SOL delegated to each validator at that time. Any Inflation Candidate Feature Proposal that receives more than 66% of its Vote SPL Tokens to its unique acceptance token address will be able to enable full-inflation on Mainnet Beta.
A vote for an Inflation Candidate is a vote to accept the currently proposed inflation design and grant the ability for that Inflation Candidate to activate it. A decision by a validator not to send their Vote SPL Tokens to any Inflation Candidate is effectively a vote against inflation in this instance.
Considerations
Given this design, the voting process for an Inflation Candidate is not exclusive (i.e. it is not winner-take-all). Feature Proposals will be created for each Inflation Candidate that is submitted during the Nomination Period. This means that multiple Inflation Candidate Feature Proposals may independently reach the 66% vote approval threshold. In such a case, full inflation on Mainnet Beta will be activated by the first approved Inflation Candidate that submits the activation command.
Also please note, individuals who submit their nominations during the nomination process should do so purely out of a desire to help foster the development of the Solana protocol. The Solana Foundation will not be providing any compensation or incentives to Inflation Candidate nominees or electors. Additionally, neither Solana Foundation nor Solana Labs, Inc., will be participating in this process beyond defining the nomination process and managing the platforms for discussions and coordination (primarily Discord and these forums).
Nomination Period Details
The Solana Foundation proposes that the Nomination Period for Inflation Candidate nominations begin on Friday Jan 29th and stay open for 7 days.
During this timeframe, individuals who want to become Inflation Candidates must first reach out to the Solana Foundation and request an Inflation Candidate address. This address will be used to identify the Inflation Candidate Feature Proposal.
Additionally, the candidate must generate their own keypair using solana-keygen new -o inflation.json
. If a candidate’s Feature Proposal vote is successful (i.e. they gather more than 66% of the associated Vote SPL Tokens), this keypair can be used by the candidate to enable full-inflation via solana feature activate inflation.json
For the individual to nominate themself as an Inflation Candidate, they must submit these two addresses via a pull request based off of the template provided HERE to the Solana Foundation Github within the Nomination Period time frame.
At the close of the Nomination Period, a new build will be shipped that includes all of the addresses described above (i.e. the release will include all of the nominee pull requests). If that release is adopted by the majority of the validators on the network, the Feature Proposals for all of the Inflation Candidates will be then initiated by the Solana Foundation and the Voting Period will begin.
Voting Period Details
The Voting Period will start if and when 95% of the network validators upgrade to the release of the subsequent Solana protocol build that includes the Inflation Candidate Feature Proposals from the Nomination Period. The Solana Foundation will initiate these proposals by generating and distributing Vote SPL Tokens for each Inflation Candidate to each validator in a 1:1 proportion with the respective amount of delegated stake at that time.
This voting process, for any specific candidate, will be identical to the previous Feature Proposal votes that have been held on testnet and Mainnet Beta, please refer to the pico-inflation vote instruction for a reference of what a Feature Proposal vote process consists of. Validators may send the respective Vote SPL Tokens to any number of the Inflation Candidates.
Each Inflation Candidate Feature Proposal will have a 66% success threshold. I.e. the proposal will “pass” if greater than 66% of the proposal specific Vote SPL Tokens are transferred to that proposal acceptance address. Once this criteria has been met for any Inflation Candidate, they will then be able to activate the full-inflation feature by using their self-generated pubkey from the pull request with the solana feature activate
command along with the self-generated keypair they submitted in the Nomination Phase. Inflation will then be activated upon the network reaching the next epoch.
Timeline Summary
Given the process proposed above, without any unexpected delays, we roughly expect the following timeline:
- Today Jan 21: announce new community vote process, 1 week for community to review digest
- Friday Jan 29: Inflation candidate nomination process starts, 1 week to collect nominees
- Friday Feb 5: Nomination period closes. New build with nominees is released
- ~Monday Feb 8: Foundation initiates candidate vote
- ~Wed Feb 10: Inflation enabled assuming a successful candidate election and inflation activation
So, if all goes well, we may see community initiated inflation on Mainnet Beta ~2.5 weeks from today!
Again, look for specific Nomination Period details to be published in these forums next week and don’t hesitate to use this thread for questions and discussion.