Skip to content

SIMD-0228: Market-Based Emission Mechanism #228

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 24 commits into
base: main
Choose a base branch
from

Conversation

tjain-mcc
Copy link

No description provided.

@tjain-mcc tjain-mcc changed the title Create simd0221 SIMD-0221: Introducing a Programmatic, Market-Based Emission Mechanism Based on Staking Participation Rate Jan 16, 2025
@tjain-mcc tjain-mcc changed the title SIMD-0221: Introducing a Programmatic, Market-Based Emission Mechanism Based on Staking Participation Rate SIMD-0224: Introducing a Programmatic, Market-Based Emission Mechanism Based on Staking Participation Rate Jan 16, 2025
@tjain-mcc tjain-mcc changed the title SIMD-0224: Introducing a Programmatic, Market-Based Emission Mechanism Based on Staking Participation Rate SIMD-0224: Introducing a Programmatic, Market-Based Emission Mechanism Based on Staking Participation Rate.md Jan 16, 2025

High inflation can lead to more centralized ownership. To illustrate the point, imagine a network with an exceedingly high inflation rate of 10,000%. People who do not stake are diluted and lose ~99% of their network ownership every year to stakers. The higher the inflation rate, the more network ownership is concentrated in stakers’ hands after compounding for years.

Reducing inflation spurs SOL usage in DeFi, which is ultimately good for the applications and stimulates new protocol development. Additionally, a high staking rate can be viewed as unhealthy for new DeFi protocols, since it means the implied hurdle rate is the inflation cost. Lowering the “risk free” inflation rate creates stimulative conditions and allows new protocols to grow.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. This has no impact on real rates, just nominal rates.
  2. Worth bearing in mind that since we don't have negative nominal rates, if you have 3% deflation then real rates are unable to go below 3%, if you have 5% inflation then real rates can't go below negative 5% etc

So moderate stable inflation is good. High stable inflation is unnecessary but not really a problem for defi as it gets priced in

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. The nominal rates have a real market impact as described in the proposal
  2. I could see a future where we do have negative nominal rates. That is not explicitly in this proposal but I don't see why 0% nominal rate needs to be a lower bound. If people are willing to stake at a negative nominal rate because MEV is sufficient to incentivize them, why can't nominal rates be negative?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. They don't have an impact on real rates though, which is the implication of the above paragraph. If inflation goes up by 2%, SOL borrow rates will go up by 2% and neither borrowers nor lenders will be more incentivised than they previously were
  2. It's not possible to have negative nominal rates unless the network starts confiscating SOL from people's wallets

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. I'm not sure I agree that borrow rates and inflation rates are so tightly linked. Imagine an inflation rate of 0%, would you expect a borrow rate of 0%? Borrow rate also needs to incorporate a view on MEV yield which is volatile
  2. Yeah I'm not proposing that. Just saying it is theoretically possible though I have not explored the technical feasibility

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. If inflation was 0 then the nominal rate would equal the real rate

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And to your other point, there are a lot of hedge funds that do make money off the back of this trade in the traditional currency market, known as the carry trade.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's avoid confusion about the extraordinary claim here. Your model assumes that there is persistent alpha in holding staked SOL. That's going to need more support than "there are people who do FX carry trades"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't get the sense you are amenable to being persuaded, which is fine. So we can maybe just agree to disagree and move on. You have in mind a Physics-esque model of international finance, where the laws of interest parity are immutable and hold perfectly. This differs strongly from empirical reality. In the spirit of good faith, I'll suggest one last article, which nicely assesses uncovered interest parity over two centuries and generally finds support for it: https://www.sciencedirect.com/science/article/abs/pii/S0261560611000155

But more generally, even if the answer is "sometimes it does hold, sometimes it doesn't" -- the point stands that Solana inflation drives up the SOL-based real rate, which is positively correlated if not perfectly with the dollar-based real rate on Solana. Which is the problem we are trying to fix here.

The only way to break this is (borrowing your phrase) to accept your extraordinary claim that the exchange rate always depreciates by exactly the right amount to offset deviations in the SOL- and USD-based real rate. This does not happen in currency markets nor has it happened in the last five years of the SOLUSD price, but you seem to believe it will happen now.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You have in mind a Physics-esque model of international finance, where the laws of interest parity are immutable and hold perfectly. This differs strongly from empirical reality.

You are making a false dichotomy. The alternative to "all assets are correctly priced" is not "this asset is chronically mispriced in the direction I want". If we were talking about the degree to which assets become mispriced one way or another that would be one thing, but the extraordinary claim here is that there is a chronic underpricing of SOL staking yield.

Solana inflation drives up the SOL-based real rate, which is positively correlated if not perfectly with the dollar-based real rate on Solana

That there is a correlation between these two does not mean d(SOL-based real rate)/d(dollar-based real rate) is non-zero. This argument is again just assuming an arbitrary and chronic mispricing. Why not assume a mispricing in the other direction?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The other problem with the mispricing assumption is it would suggest that we can increase the excess returns to SOL staking by increasing emissions. If so, why would anyone here support lowering emissions, given we all know how to stake?

@t-nelson
Copy link
Contributor

ci output is broken/retarded. plz wrap all lines at 80char

@Benhawkins18
Copy link
Collaborator

Benhawkins18 commented Jan 16, 2025

@tjain-mcc thanks for making a proposal. A few nits and clean up items:

  • SIMD is the wrong number and should match the PR number: SIMD-0224 -> SIMD-0228
  • Title is too long. Something like "SIMD-0228: Market-Based Emission Mechanism" would be perfect
  • Filename is in the wrong format and has a different number then the PR and the SIMD title. "simd0221" -> "0228-market-based-emission-mechanism"
  • The document is missing the header
  • The markdown does now follow the SIMD template in any meaningful way
  • there are numerous linting errors that need to be fixed.

Market-Based Flexibility: The model adapts to the network's economic activity, making it more responsive to changing market conditions. It’s possible to imagine a future where stakers are earning enough from MEV that no SOL emissions are necessary.
Validator Retention: It accommodates Solana-aligned validators who are willing to stake even with lower emissions, recognizing that they can earn more through MEV in higher economic activity ecosystems.
This dynamic approach balances the need for a secure, decentralized network with the flexibility to thrive in a competitive market.
##Alternatives Considered
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

was an alternative considered based on burn rate instead of stake rate? throw out simd0096, add something simd0109-ish with burn. use utility as the measure, with security as the goal.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

throw out [simd0096]

ser... we're like 4 days out

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it was always retarded

@tjain-mcc tjain-mcc changed the title SIMD-0224: Introducing a Programmatic, Market-Based Emission Mechanism Based on Staking Participation Rate.md SIMD-0228: Introducing a Programmatic, Market-Based Emission Mechanism.md Jan 16, 2025
@Benhawkins18 Benhawkins18 changed the title SIMD-0228: Introducing a Programmatic, Market-Based Emission Mechanism.md SIMD-0228: Introducing a Programmatic, Market-Based Emission Mechanism Jan 16, 2025
@michaelh-laine
Copy link

Thank you Tushar and Vishal for this proposal.

I appreciate the depth of thought that has gone into the reasoning for this proposal, though I still wish it were possible (maybe it is, maybe not) to develop empirical data showing the impacts of the current and proposed inflation schedules.

This being said, I support a long-term sustainable dynamic inflation schedule, but if we make a change it needs to be well thought out and sustainable. The current inflation schedule, while simple, has worked, where decreasing stake leads to higher real yields, resulting in staking yield (net of MEV) remaining relatively stable over the years in the 6.5-7.5% range. It lends itself to a gradual release of staked capital into DeFi with the equilibrium rate being around 7%, as nominal inflation drops more stake is released into the open market.

My other point here is that I see this being interlinked with a need for block reward distribution (#123) - in the long-term simple inflationary yield and MEV alone will likely become insufficient to attract stake, or put anothe way, with dynamic inflation the inflation rate may need to become sufficiently high to remain economically attractive, while we could see zero or negative nominal rates, as you mentioned in an earlier comment, if staking rewards are supplemented by block rewards, i.e. stakers pay to delegate to a certain validator, where they then receive a share of block rewards. That seems a bit of an extreme suggestion but theoretically the market forces could lead to this.


This is good for the Solana network and network stakers for four reasons:

High inflation can lead to more centralized ownership. To illustrate the point, imagine a network with an exceedingly high inflation rate of 10,000%. People who do not stake are diluted and lose ~99% of their network ownership every year to stakers. The higher the inflation rate, the more network ownership is concentrated in stakers’ hands after compounding for years.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But inflation will never be that high, and never so high that this effect is significant.

Inflationary rewards are a backstop on defi gains. If a stakeholder has something profitable to do with their SOL in an epoch, then they do that. If they do not, then they stake. Therefore staking represents the minimum return that anyone will get from their SOL, not the maximum. Anyone who is not staked is presumably earning even more than staking returns from their staked SOL, otherwise they would not stake and instead do whatever that other thing is that earns even more rewards.

Therefore anyone staking is actually financially disadvantaged compared to anyone earning even more rewards from more profitable use of SOL.

There is a third category though, of SOL-holders which are using the SOL for some purpose which doesn't generate on-chain profit but somehow supplies some other utility to them. And yes, these SOL-holders are "spending" inflationary rewards, and will not earn inflationary income in the same way that stakeholders do. But this is a conscious choice of choosing some other utility over inflationary rewards, and I don't think that we can "have our cake and eat it too" -- you can't both earn inflationary rewards and use your SOL at the same time.

So in other words, I think the reasoning here with the 10,000% inflation rate is flawed and does not support the SIMD.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes 10,000% inflation rate is obviously extreme. It is a thought experiment to illustrate the costs of inflation. Inflation has negative externalities which are easier to explain with really big numbers, though those externalities are still there with smaller numbers too.


Below 33%, we potentially risk network safety because a supermajority of all SOL has explicitly not voted on any given block and this opens the edge case possibility of long range attacks. It is important to note that these long range attacks are entirely theoretical and we have not seen one in practice. There are other mechanisms in Solana to protect against long range attacks.

This proposal is the first in a series of steps to make Solana’s consensus more secure and economics more market driven. The successor to this proposal is another SIMD that introduces the concept of long-term staking, which seeks to improve network security. The option to unstake SOL on a relatively short notice (i.e., a short cool down period) poses a potential risk to networks’ stability and safety, particularly in extreme circumstances where a significant amount of SOL is unstaked within a brief timeframe. The combination of these two SIMDs address these concerns while improving network security and economic activity.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't support this proposal. Inflation is primarily intended to incentivize secure and reliable validator operation. It is on a reducing schedule because the plan was that transaction fees would take on a greater and greater role in incentivizing validator operation over time, so inflation could be reduced to compensate. And this has turned out to be exactly the case - most validators earn much more from transaction/priority/MEV fees than from inflationary rewards.

When the inflationary reward rate falls, the incentive to keep SOL staked is reduced. But it is reduced equally for everyone. So while the overall staking rate may drop, the relative rate between stakeholders should stay the same; there is no reason for different stakeholders to be more or less likely to stake because they are all subject to the same rewards rate.

Therefore, everyone is likely to stake less; but stake less in equal proportion. And since the only thing that really matters is the relative voting power that stake supplies, and since that relative power stays the same as staking levels drop equally across the board, the actual inflation level does not matter with regards to any of the reasoning that was given for the proposal of this SIMD.

In other words, if we believe that a 50% reduction in inflation rate would result in 50% less SOL being staked, that is irrelevant, as everyone is equally motivated to reduce their stake by that 50%; and after this equal reduction across all stakeholders, the relative stake held in validators is the same as before, so validator voting power does not effectively change. And with no change in voting power, there is no change in security properties of the network. And thus, no reason to try to target a specific inflation rate for security purposes. So I think this SIMD is not needed.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So while the overall staking rate may drop, the relative rate between stakeholders should stay the same; there is no reason for different stakeholders to be more or less likely to stake because they are all subject to the same rewards rate.

this assumes everyone is equally rational or has the same circumstances, which is obviously not the case

not to mention that it does change incentives differently across different types of stakeholders, this is not a homogenous set. inflation being lower means CEXes offering "staking yield" are less attractive as one big counter example

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yield-oriented stakers are equally disincentivised by a 50% reduction, the issue is that with a 50% reduction in total stake, the cost to attack the network decreases significantly as well. Yes, the distribution of stake may be the same if we only have 20% of total supply staked, but it means someone would only need to purchase and stake 10% of total supply to halt the network.

Of course there's more nuance to such an attack vector but I believe this is what the proposal speaks to in reference to the 33% figure, though I'm not sure the proposal's conclusion that 33% is "safe" is correct.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So while the overall staking rate may drop, the relative rate between stakeholders should stay the same; there is no reason for different stakeholders to be more or less likely to stake because they are all subject to the same rewards rate.

this assumes everyone is equally rational or has the same circumstances, which is obviously not the case

not to mention that it does change incentives differently across different types of stakeholders, this is not a homogenous set. inflation being lower means CEXes offering "staking yield" are less attractive as one big counter example

So you're looking to pick defi winners and losers with this proposal?

Copy link
Contributor

@bji bji Jan 16, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yield-oriented stakers are equally disincentivised by a 50% reduction, the issue is that with a 50% reduction in total stake, the cost to attack the network decreases significantly as well. Yes, the distribution of stake may be the same if we only have 20% of total supply staked, but it means someone would only need to purchase and stake 10% of total supply to halt the network.

Of course there's more nuance to such an attack vector but I believe this is what the proposal speaks to in reference to the 33% figure, though I'm not sure the proposal's conclusion that 33% is "safe" is correct.

There are already safeguards in place. Large stake movements invoke tamping down of the amount of stake that activates/deactivates per epoch.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So while the overall staking rate may drop, the relative rate between stakeholders should stay the same; there is no reason for different stakeholders to be more or less likely to stake because they are all subject to the same rewards rate.

this assumes everyone is equally rational or has the same circumstances, which is obviously not the case
not to mention that it does change incentives differently across different types of stakeholders, this is not a homogenous set. inflation being lower means CEXes offering "staking yield" are less attractive as one big counter example

So you're looking to pick defi winners and losers with this proposal?

no, that would be you cherrypicking an interpretation to put words in my mouth without tackling the point — neat systematic economic theories that treat humans in a system as NPCs do not apply to non-linear systems; I am not sure how many more examples from reality we need

deriving that it will make no impact on security because everyone will behave the same is vastly oversimplified and empirically shortsighted — people have different contexts and motivations

@mertimus
Copy link

LGTM

@fplp782
Copy link

fplp782 commented Jan 17, 2025

This proposal assumes that staking % is positively correlated with economic activity but provides no evidence for it. Tbh, I don't think it's positively correlated at all. Over the past year, Solana staking APRs have grown from 6.5% to almost 10%, and staking % has actually gone down (69% → 65%).

@mertimus
Copy link

This proposal assumes that staking % is positively correlated with economic activity but provides no evidence for it. Tbh, I don't think it's positively correlated at all. Over the past year, Solana staking APRs have grown from 6.5% to almost 10%, and staking % has actually gone down (69% → 65%).

Now talk to me about all the other variables that changed in the past year

This is also not the point of the proposal — it simply makes no sense that the issuance is a hardcoded value independent of anything on the chain but time

@fplp782
Copy link

fplp782 commented Jan 17, 2025

I posted this article on twitter which outlines a few problems with this SIMD, alongside the point I made in here earlier regarding staking % as a poor metric to determine inflation.

https://x.com/FPLParana/status/1880334708225216931

To Mert's comment above, I don't view the current model as ideal and I do believe revisions need to be made. But this SIMD is not a sensible solution IMO

@bsparango
Copy link

@mertimus I think the thing to be addressed in @fplp782's pushback is that there needs to at least be a body of evidence proving that the market-based inflation mechanism is going to produce the expected outcome as laid out in this proposal.

We already know that crypto markets are not efficient markets. I'm not yet convinced that a market for SOL inflation would be any more rational than the rest of this industry.

@mertimus
Copy link

@mertimus I think the thing to be addressed in @fplp782's pushback is that there needs to at least be a body of evidence proving that the market-based inflation mechanism is going to produce the expected outcome as laid out in this proposal.

We already know that crypto markets are not efficient markets. I'm not yet convinced that a market for SOL inflation would be any more rational than the rest of this industry.

I think it's a valid point but I'm not sure that's the thing to prove in this context. It's more of a nice to have. We can't show or prove the non-linear effects of any mechanism that goes live beforehand — we just need to agree on one thing first:

Does the current inflation of SOL make sense? Is it optimal for the network?

If the answer is no, then we must change it. So how can we change it? We could set another arbitrary curve like the existing one and just reduce it in half. But then we are again doing something arbitrarily with no basis. That might've been OK during the release, but now at this stage of maturity, we can not be the arbiters of truth of the network anymore.

So what's the alternative? We let the market set it. I don't see how it could be any other way. That's what this proposal is about — should inflation be purely time-based, based on copying Cosmos 4 years ago, or market-based? My vote is market-based. Market-based doesn't mean the results will make sense on a 1-year time horizon with several variables, it's that it will eventually lead to a reasonable equilibrium over time. We can't control the output, but we can give people incentives. Do we disagree that a market-set variable is better than an arbitrary one that takes nothing but time into account?

The alternative, of course, is that we do think the current inflation of SOL makes sense and/or that it is optimal for the network. But if that's the position, then where is the evidence for it? Especially with SIMD96 going live, the 50% burn is now removed and will increase inflation even more — while stakeholders in the network have repeatedly expressed that they believe inflation is too high to begin with. This will cause even more people to stake just to be protected from issuance. And I say this as a validator who will benefit negatively from lowering issuance and hence the staking rate.

Let me repeat this again, very large numbers of stakeholders in the network are already complaining about the inflationary mechanics of SOL (and with good reason), and it is actually about to get much worse with SIMD96 (removing the burn). I don't think it's good for the future of the network to ignore something requested by so many users. We don't even have to agree on what it should be set to yet; we just have to agree on whether market-based is less incorrect than the existing setup.

@fplp782
Copy link

fplp782 commented Jan 18, 2025

@mertimus basing inflation on staking % is not market based. they have nothing to do with one another. there are instances where mev and prio fees going up leads to staking % going down, and vice versa. If we want market based, we need to use a different unit of measure, not staking %. that is what I'm saying. Also, consider the fact that the proposed constant k = .05 is also an arbitrary number the proposers came up with. How do we know that that's the right number, or did we just come up with it the same way we came up with the current schedule?

From the article I posted, I say the following:
Adjusting Inflation Based on Staking % Is Not “Market-Based”
The proposal aims to reduce inflation when validators don’t need it and increase inflation when validators do need it in order to find the Minimum Necessary Amount (MNA) of inflation. It does this by adjusting inflation to staking %, banking on the assumption that staking % is positively correlated with economic activity.
But that doesn’t seem to be the case. Over the past year, Solana staking APRs have grown from 6.5% to almost 10%, and staking % has actually gone down (69% → 65%). If this trend continues, then issuance will increase when it should decrease. On the flip side, it could very well be the case that when economic activity slows down, where fees and MEV decrease, staking % goes up.
On the surface this might not make sense, but economies work in unpredictable ways. Maybe slow economic periods means users are less attracted to the liquidity and composability of unstaked sol and are more incentivized, not less, to stake. Or maybe economic activity goes to Layer 2s that use USDC for gas, so there’s less of a reason to hold unstaked SOL.
My point isn’t to predict how staking % may change over time. My point is that we can’t predict how staking % may change or how it will correlate with economic activity. And if it turns out to not be positively correlated to economic activity in the absolute sense, then this model fails to adjust with market dynamics to find the Minimum Necessary Amount (MNA).
I kindly ask the proposers to present reliable evidence that suggests a high positive correlation between economic activity and staking %.

I also propose these potential alternatives:
If we want a “market-based” endgame type of model right now, we need to find a provably correlated, ungameable statistic that the model can reliably base its equation on. Staking % is not provably correlated. The idea to burn 50% of MEV and/or priority fees is gameable due to dark pools.
Unfortunately I don’t have the research or implementation details to suggest anything seriously, however, I think data propagated or node count could make sense. Before going through with either, there would have to be clear evidence of strong correlation, where the constant k would be determined by that rate of correlation. There would also have to be a way to reliably measure either of these statistics and implement it into the inflation model.

@fplp782
Copy link

fplp782 commented Jan 18, 2025

Paraphrasing Tushar, we want to create an economic policy that emulates an algorithmic "fed funds" rate. One that's trustless as its independent of human decision making. That requires research and deliberation. The model can't just be spun out of thin air, but needs statistical backing that it will adjust the inflation rate in the way we want it to. I don't believe this proposal will do that, nor has there been any evidence to suggest that it will. If we want to do this, we should do it right

@tjain-mcc
Copy link
Author

From the article I posted, I say the following: Adjusting Inflation Based on Staking % Is Not “Market-Based” The proposal aims to reduce inflation when validators don’t need it and increase inflation when validators do need it in order to find the Minimum Necessary Amount (MNA) of inflation. It does this by adjusting inflation to staking %, banking on the assumption that staking % is positively correlated with economic activity. But that doesn’t seem to be the case. Over the past year, Solana staking APRs have grown from 6.5% to almost 10%, and staking % has actually gone down (69% → 65%). If this trend continues, then issuance will increase when it should decrease. On the flip side, it could very well be the case that when economic activity slows down, where fees and MEV decrease, staking % goes up. On the surface this might not make sense, but economies work in unpredictable ways. Maybe slow economic periods means users are less attracted to the liquidity and composability of unstaked sol and are more incentivized, not less, to stake. Or maybe economic activity goes to Layer 2s that use USDC for gas, so there’s less of a reason to hold unstaked SOL. My point isn’t to predict how staking % may change over time. My point is that we can’t predict how staking % may change or how it will correlate with economic activity. And if it turns out to not be positively correlated to economic activity in the absolute sense, then this model fails to adjust with market dynamics to find the Minimum Necessary Amount (MNA). I kindly ask the proposers to present reliable evidence that suggests a high positive correlation between economic activity and staking %.

The only purpose of inflation is to incentivize staking. It doesn't require some complex statistical analysis to demonstrate that all else equal, higher inflation leads to higher incentive to stake. The data from the past year you reference is not useful because everything else is not equal, there was a lot that happened in the ecosystem. Trying to prove the relationship between two variables (staking rate and inflation rate) when there are hundreds of other variables in the data is a fools errand. Rather than relying on data which is contaminated with all those other variables, we can just use simple logic: higher inflation leads to higher incentive to stake.

@tjain-mcc
Copy link
Author

@mertimus I think the thing to be addressed in @fplp782's pushback is that there needs to at least be a body of evidence proving that the market-based inflation mechanism is going to produce the expected outcome as laid out in this proposal.

We already know that crypto markets are not efficient markets. I'm not yet convinced that a market for SOL inflation would be any more rational than the rest of this industry.

Trying to prove the relationship between 2 variables in a system with hundreds of variables is not feasible. Nor is it necessary. We can use the very simple logic that higher inflation rate leads to higher incentive to stake. Imagine a simple example to illustrate this point: there are 2 chains which are identical in every way (including MEV) but one has 1% inflation and the other has 50% inflation. It is obvious that the second chain will have higher staking participation.

@tjain-mcc
Copy link
Author

Thank you Tushar and Vishal for this proposal.

I appreciate the depth of thought that has gone into the reasoning for this proposal, though I still wish it were possible (maybe it is, maybe not) to develop empirical data showing the impacts of the current and proposed inflation schedules.

This being said, I support a long-term sustainable dynamic inflation schedule, but if we make a change it needs to be well thought out and sustainable. The current inflation schedule, while simple, has worked, where decreasing stake leads to higher real yields, resulting in staking yield (net of MEV) remaining relatively stable over the years in the 6.5-7.5% range. It lends itself to a gradual release of staked capital into DeFi with the equilibrium rate being around 7%, as nominal inflation drops more stake is released into the open market.

My other point here is that I see this being interlinked with a need for block reward distribution (#123) - in the long-term simple inflationary yield and MEV alone will likely become insufficient to attract stake, or put anothe way, with dynamic inflation the inflation rate may need to become sufficiently high to remain economically attractive, while we could see zero or negative nominal rates, as you mentioned in an earlier comment, if staking rewards are supplemented by block rewards, i.e. stakers pay to delegate to a certain validator, where they then receive a share of block rewards. That seems a bit of an extreme suggestion but theoretically the market forces could lead to this.

I absolutely agree with the interlinked need for a block reward distribution. Validators should have an in protocol way to distribute block rewards to stakers.

@fplp782
Copy link

fplp782 commented Jan 18, 2025

The only purpose of inflation is to incentivize staking. It doesn't require some complex statistical analysis to demonstrate that all else equal, higher inflation leads to higher incentive to stake. The data from the past year you reference is not useful because everything else is not equal, there was a lot that happened in the ecosystem. Trying to prove the relationship between two variables (staking rate and inflation rate) when there are hundreds of other variables in the data is a fools errand. Rather than relying on data which is contaminated with all those other variables, we can just use simple logic: higher inflation leads to higher incentive to stake.

The purpose of inflation is to help validators be profitable when fees + mev aren't enough.

Let's say your proposal ends up reducing inflation to 2%. Then, for whatever reason, economic activity slows down such that mev and prio fees are virtually 0%. There could absolutely be the case that staking % does not go down, because of "hundreds of other variables" as you mentioned. This would lead to many validators, particularly the smaller ones, being unprofitable. If those smaller validators close down, the node count goes down. Meanwhile staking % might remain sticky as most staked sol is delegated and can be redelagated to other, larger validators that are able to remain profitable. This increases centralization.

@fplp782
Copy link

fplp782 commented Jan 18, 2025

I would just like to reiterate that I am not against a market-based algorithm to determine inflation. I'm against one based on staking %

@Benhawkins18 Benhawkins18 changed the title SIMD-0228: Introducing a Programmatic, Market-Based Emission Mechanism SIMD-0228: Market-Based Emission Mechanism Feb 7, 2025
@Benhawkins18
Copy link
Collaborator

@cfl0ws The core protocol does not and should not have any concept of price. It would be very problematic to try to introduce it here.

@MaxResnick
Copy link

Is there a reason the formula is r(1 - sqrt(x)) rather than r(1 - x)? They achieve similar goals, but there are two salient differences:

  1. The r(1 - x) controller is systematically more generous (e.g. today, given the same level of stake, it will offer stakers a yield of 2.5% rather than 1.4%). This is a double-edged sword, in that higher inflation has all the harms outlined above -- which I am deeply sympathetic to personally -- but it might have the practical advantage of getting a broader community onboard the proposal.
  2. The linear controller is more sensitive to unstaking actions that could threaten the network's security. That is, when stake falls, the yield jumps more aggressively under the linear formulation than the square root one. For instance, if stake fall from 64% to 60%, the yield jumps by 47 basis points under r(1 - x) controller but only 28 basis points under the r(1 - sqrt(x)) controller. This is of course a fairly natural byproduct of the increased generosity, but it does have this nice security-based rationale too.

Here's a sketch of the two controllers compared for today's inflation level, over the 20% - 100% range of staking participation. returns

This is a great question. I think there are 2 points here. The first is about how generous the controller is and the other is about how responsive to changes in stake the amount of issuance is. On the generosity point, I think looking at the what the reward level at today's staking rate is not really the right comparison to make. In the updated proposal I have some analysis showing that the protocol rewards today would be achieved at around 30% of the network staked under the new curve. Depending on the shape of the demand curve we can expect that the new staking rate will settle somewhere between 30-65% I would expect stake rate to settle down somewhere around 45-50% particularly after accounting for the additional MEV rewards stakers will earn when other stakers exit. Again the goal is the minimum amount of issuance such that we maintain security and incentives for good behavior.

On the second point which is about responsiveness. The thing to be careful about is "discouragement attacks" If issuance level is too responsive to changes in stake then it may be advantageous, particularly for large stakers to strategically censor stake transactions or make side deals with other stakers to get them to unstake. For this reason I think we should choose the less responive curve over the more responsive one.

@nihar-dz
Copy link

This is a great question. I think there are 2 points here. The first is about how generous the controller is and the other is about how responsive to changes in stake the amount of issuance is. On the generosity point, I think looking at the what the reward level at today's staking rate is not really the right comparison to make. In the updated proposal I have some analysis showing that the protocol rewards today would be achieved at around 30% of the network staked under the new curve. Depending on the shape of the demand curve we can expect that the new staking rate will settle somewhere between 30-65% I would expect stake rate to settle down somewhere around 45-50% particularly after accounting for the additional MEV rewards stakers will earn when other stakers exit. Again the goal is the minimum amount of issuance such that we maintain security and incentives for good behavior.

On the second point which is about responsiveness. The thing to be careful about is "discouragement attacks" If issuance level is too responsive to changes in stake then it may be advantageous, particularly for large stakers to strategically censor stake transactions or make side deals with other stakers to get them to unstake. For this reason I think we should choose the less responive curve over the more responsive one.

I agree on the first point that there is just some tradeoff between over-paying and under-paying for security — a tradeoff between protocol efficiency and validator community support. But the second point — on the potential attack — is much more interesting and I’ve dug a bit deeper. TLDR is that I think the attack is not a practical concern; and so it is outweighed by the benefit of the linear controller being more responsive.

Attached is a plot seeded with today’s level of stake (65%). It answers: for a given level of stake controlled by a single entity (x-axis), what percentage should be optimally deployed (y-axis), for the two types of proposals? We see that if a single entity has less than 20% directly or indirectly, they should just deploy 100% of it. The monopoly power they could potentially exert is outweighed by the loss of rewards. It is only if a single entity has over 20% should they begin to exert the monopoly power.

This condition — an adversary has more than 20% of SOL (total SOL, not staked SOL) — strikes me as highly unlikely on a network as decentralized as Solana. Put another way, the attack — while fascinating on a theoretical basis — can be likely ignored on a practical basis. So on net, I think the increased responsiveness of the r * (1 - x) controller over the r * (1 - sqrt(x)) controller is just a pure positive.

Fwiw, I actually think the attack is slightly more problematic on the square root controller over the linear controller, though I’m not entirely sure why. Here’s a quick gut check: suppose an entity has 22% of stake. Under the linear controller, (1 - 0.65) * 0.22/0.65 > (1 - 0.64) * (0.21/0.64), i.e. no attack; but under the square root controller, (1 - sqrt(0.65)) * 0.22/0.65 < (1 - sqrt(0.64)) * (0.21/0.64), i.e. an attack is possible.

plot

@MaxResnick
Copy link

MaxResnick commented Feb 12, 2025

This is a great question. I think there are 2 points here. The first is about how generous the controller is and the other is about how responsive to changes in stake the amount of issuance is. On the generosity point, I think looking at the what the reward level at today's staking rate is not really the right comparison to make. In the updated proposal I have some analysis showing that the protocol rewards today would be achieved at around 30% of the network staked under the new curve. Depending on the shape of the demand curve we can expect that the new staking rate will settle somewhere between 30-65% I would expect stake rate to settle down somewhere around 45-50% particularly after accounting for the additional MEV rewards stakers will earn when other stakers exit. Again the goal is the minimum amount of issuance such that we maintain security and incentives for good behavior.
On the second point which is about responsiveness. The thing to be careful about is "discouragement attacks" If issuance level is too responsive to changes in stake then it may be advantageous, particularly for large stakers to strategically censor stake transactions or make side deals with other stakers to get them to unstake. For this reason I think we should choose the less responive curve over the more responsive one.

I agree on the first point that there is just some tradeoff between over-paying and under-paying for security — a tradeoff between protocol efficiency and validator community support. But the second point — on the potential attack — is much more interesting and I’ve dug a bit deeper. TLDR is that I think the attack is not a practical concern; and so it is outweighed by the benefit of the linear controller being more responsive.

Attached is a plot seeded with today’s level of stake (65%). It answers: for a given level of stake controlled by a single entity (x-axis), what percentage should be optimally deployed (y-axis), for the two types of proposals? We see that if a single entity has less than 20% directly or indirectly, they should just deploy 100% of it. The monopoly power they could potentially exert is outweighed by the loss of rewards. It is only if a single entity has over 20% should they begin to exert the monopoly power.

This condition — an adversary has more than 20% of SOL (total SOL, not staked SOL) — strikes me as highly unlikely on a network as decentralized as Solana. Put another way, the attack — while fascinating on a theoretical basis — can be likely ignored on a practical basis. So on net, I think the increased responsiveness of the r * (1 - x) controller over the r * (1 - sqrt(x)) controller is just a pure positive.

Fwiw, I actually think the attack is slightly more problematic on the square root controller over the linear controller, though I’m not entirely sure why. Here’s a quick gut check: suppose an entity has 22% of stake. Under the linear controller, (1 - 0.65) * 0.22/0.65 > (1 - 0.64) * (0.21/0.64), i.e. no attack; but under the square root controller, (1 - sqrt(0.65)) * 0.22/0.65 < (1 - sqrt(0.64)) * (0.21/0.64), i.e. an attack is possible.

plot

The derivative of $1-\sqrt{x}$ is $\frac{-1}{2\sqrt{x}}$ while the derivative of $1-x$ is -1. This means that when stake rate $x&gt; .25$ meaning more than 1/4 of the sol is staked, the marginal disutility of adding stake to existing stakers is lower under the square root controller than the linear controller.

Discouragement attacks need not take the form of explicit collusion. you can also choose not to include new stake messages in your blocks as the leader.

@nihar-dz
Copy link

Discouragement attacks need not take the form of explicit collusion. you can also choose not to include new stake messages in your blocks as the leader.

But this will always be true, right? Regardless of the controller, any leader will want to discourage the competition by censoring blocks that include new stake messages (including today, when the inflation rate is fixed). I agree this attack vector theoretically exists, but I don't get the sense the controller is the linchpin to this issue.

The derivative of 1 − x is − 1 2 x while the derivative of 1 − x is -1. This means that when stake rate x > .25 meaning more than 1/4 of the sol is staked, the marginal disutility of adding stake to existing stakers is lower under the square root controller than the linear controller.

That tells you the system-wide disincentive, but isn't the correct way to think about it from the perspective of an individual staker who imposes a negative externality on the system? The staker stakes more, their marginal stake takes some of those rewards from others, and their marginal stake lowers the aggregate rewards too (of which they bear some of those losses and the other staker bears some of those losses). And that's where you need a single staker today to hold more than 20% of the SOL supply for the first channel to be dominated by the second channel, which seems unrealistic today.

@brianlong
Copy link

brianlong commented Feb 15, 2025

Devil's Advocate...

the network is now overpaying [for] security

"Overpaying" is subjective. Also, the emissions rate is trending down. If you don't like the high rate today, wait for an epoch, and emissions will be lower.

earning SOL from other sources (e.g. MEV)

This is a massive assumption about out-of-protocol revenue. Jito's existence is not guaranteed. Why should out-of-protocol factors influence inflation rates?

Reducing inflation spurs SOL usage in DeFi

Not really. This assumption is unproven. Stake moves around, but that doesn't mean it moves into DeFi. Most of my stakeholders, myself included, are passive and too busy to trade defi seriously. Furthermore, SOL lending rates on Drift, for example, are currently below staking returns, so their app has a sufficient supply of SOL. Free markets have already solved this problem. It doesn't need to be solved again.

Minimum Necessary Amount (MNA) to secure the network.

MNA seems important. I don't see much discussion above about what people think might be a reasonable MNA. How will the market determine MNA with the new formula?

New Emission Rate Formula

The existing formula remains and represents the ceiling for the new modified formula. Finding MNA will be difficult if emissions are only down.

That Being Said...
Thanks for your proposal! I'm happy you all took the time to think about this -- it got me thinking about the failure case for security at the lower bounds.

Imagine years from now if the reference emissions rate is 1.5% and the global risk-free rate is high. Or imagine a reduction in out-of-protocol revenue, with low emission rates not enough to incentivize & retain active stake. I see a scenario where the percentage of SOL staked is much lower. So, my concern is the opposite of your primary concern: I'm worried about underpaying for security.

If the future market-clearing rate is 7.5% yield:

  • The current curve suggests about 20% will stake when emissions are 1.5%
  • The modified curve suggests about 12.5% staked with emissions of about 0.97% (using the 1.5% long-term value of r in the proposal).

🤷 Which feels more secure?

As I noted above, many stakeholders are passive and not especially sensitive to inflation rewards. Validators also share other sources of revenue, so the total active stake may never get as low as 12.5%, but the fact that it could is troubling.

I like the idea that inflation should be dynamic. The inflation rate should go up as we approach MNA. Going down only will lead to failure.

I like the direction of this proposal, but it needs more work to protect the protocol at the lower bounds.

@MaxResnick
Copy link

Imagine years from now if the reference emissions rate is 1.5% and the global risk-free rate is high. Or imagine a reduction in out-of-protocol revenue, with low emission rates not enough to incentivize & retain active stake. I see a scenario where the percentage of SOL staked is much lower. So, my concern is the opposite of your primary concern: I'm worried about underpaying for security.

If the future market-clearing rate is 7.5% yield:

  • The current curve suggests about 20% will stake when emissions are 1.5%
  • The modified curve suggests about 12.5% staked with emissions of about 0.97% (using the 1.5% long-term value of r in the proposal).

🤷 Which feels more secure?

As I noted above, many stakeholders are passive and not especially sensitive to inflation rewards. Validators also share other sources of revenue, so the total active stake may never get as low as 12.5%, but the fact that it could is troubling.

I like the idea that inflation should be dynamic. The inflation rate should go up as we approach MNA. Going down only will lead to failure.

I like the direction of this proposal, but it needs more work to protect the protocol at the lower bounds.

Appreciate these comments Brian. I have to say I very much disagree with the idea that Solana staking rate is at all effected by the global risk free rate. Solana staking rate is based on the outside option of Solana returns not global returns of USD or any other currency. I suppose the intuitive story that leads to this kind of reasoning is that if global rates are high people will choose to earn yield in other currencies but there is a conservation of matter property here. If I sell SOL to go earn high USD yields then somebody must have bought the Sol from me. Then the buyer of SOL must also choose whether to stake or not.

Classical asset pricing theory would suggest that a high risk free rate on USD relative to the risk free return on SOL (both in real terms) would result in USD appreciating against SOL but not a reduction in the staking rate of SOL.

Now if we replace your concern with an outside rate of Sol at 7.5% per annum we are now in a closed system. It is unlikely that any opportunity on SOL can support 50% of total SOL supply without diluting rewards substantially.

@brianlong
Copy link

brianlong commented Feb 17, 2025

The "why" was just an example; there could be other reasons. Maybe defi lending rates are high enough to tempt my passive friends and me off the sidelines. Instead, think about outcomes.

The proposal starts with the assertion we are overpaying for security, implying the network is secure but expensive. I'm exploring the other end of the spectrum. Under what circumstances could we underpay for security? Implying the network will not be secure. A good solution must consider the lower bounds.

Assuming SOL moves more freely, the low long-term inflation rates in both the original and modified curves could be problematic.

The emissions are supposed to compensate stakeholders for keeping the network secure. What if 1.5% inflation isn't enough? Should emissions go up as active stake percentage goes down?

@cfl0ws
Copy link

cfl0ws commented Feb 22, 2025

Is the author going to start the formal vote process for this SIMD @tjain-mcc?

I think that's what @michaelh-laine suggested was the next step during last week's foundation validator call, however I don't see a post announcing the vote here https://forum.solana.com/c/gov/11

As far as I'm aware this is still the recommended process and timeline to follow https://sg.laine.one/exploration/how#lifecycle-and-timeline

@michaelh-laine
Copy link

Is the author going to start the formal vote process for this SIMD @tjain-mcc?

I think that's what @michaelh-laine suggested was the next step during last week's foundation validator call, however I don't see a post announcing the vote here https://forum.solana.com/c/gov/11

As far as I'm aware this is still the recommended process and timeline to follow https://sg.laine.one/exploration/how#lifecycle-and-timeline

Yes this was delayed a bit due to some changes to account for downside risk on the proposed curve. We anticipate the proposal being published early next week now

@dimandotsol
Copy link

Motivation is very weak. There are questions about many statements.

I see other issues that concern me more, such as the percentage inflation rate.

You start the motivation by mentioning MEV payouts, which are not part of the protocol at all. Validators themselves are customers/clients in this case, meaning they depend on a commercial project rather than the protocol, or they can act independently (i.e., validators extract MEV themselves, and it is distributed to stakers without intermediaries), or there is real competition among MEV proxy providers in the market. For me, the way MEV currently works on Solana is already a huge problem. So making protocol changes based on the MEV issue seems like the wrong move to me. The MEV issue needs to be solved first.

And so on. Brian mentioned several points above and did not receive answers to them. I won’t repeat.

Also, for example, I see a completely opposite conclusion from the four points in the proposal.

To me, it is obvious that reducing the APY of native staking will lead to an outflow of small stakers from native staking. This means that the share of large stakers in active staking will increase. And active native staking controls the PoS network. So the network control by large stakers will grow.

Technically, finding the balance point involves delegating and undelegating. But the problem is that fees in liquid pools and skipping one epoch in native staking make this process less active. Due to restaking (not to be confused with the currently popular marketing term), up to a month of rewards can be lost. All of this combined will cause small stakes to shift under the control of liquid pools with additional yield.

So, I see why this is bad for the Solana network.

My conclusion: perhaps this proposal is ahead of its time.

@autocatalytic
Copy link

autocatalytic commented Mar 5, 2025

I like how the proposal forces me to think and work harder to build something valuable for Solana. Also thanks for slowing the rollout to 50 epochs, and to Ben for building the inflation curve/formula vercel visualizer.

As a small validator I'm likely voting against my individual self-interest for what I think is the good of the network, as continuing to pay large and historically poor performing CEX's (and more importantly, future bank custodians) lots of SOL really grinds my gears.

Hope I don't get fired as a validator after finally finding a way into the community (via SFDP), but IMO, there are too many moving pieces to predict with certainty how this plays out long-term anyway.

@dwdwone
Copy link

dwdwone commented Mar 6, 2025

What's not to like?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.