Establishing A Predictable Monetary Policy With Low Inflation For Mina

Cryptocurrency was created in great part to provide a way to escape currency debasement and unpredictable monetary policies. Satoshi put it clearly:

“The root problem with conventional currency is all the trust that’s required to make it work. The central bank must be trusted not to debase the currency, but the history of fiat currencies is full of breaches of that trust.”

This is why it’s crucial for any cryptocurrency to:

  • Set a monetary policy that isn’t debasing by itself (so it should target low, zero, or negative inflation).

  • It’s set in stone, so no trust on influential entities (foundations, core developer teams, big holders, etc) is required.

High inflation may look like a good way to incentivize people to participate in the network by staking and delegating to avoid getting diluted, but this hurts distribution and economic participation.

A highly inflationary policy is too much overhead for most holders, which in some cases can’t even get yield, like in the case of ETFs or other financial vehicles, prevented by law, fiscal inefficiency, operational complexity, etc. The same goes for liquidity providers which can’t provide liquidity and stake at the same time; traders opening positions on exchanges; and all kinds of economic actors and activities being negatively impacted by being in situations where they can’t stake their MINA or doing so represents operational friction, capital inefficiency, or simple inconvenience. Not to mention the psychological effect of poor price performance, even if the yield makes up for it.

This also severely damages the prospects of MINA eventually becoming a unit of account, given that denominating prices, salaries, contracts, or other economic mechanisms in MINA becomes more complex by having to account for the high inflation on top of volatility.

Some could suggest that this will be solved through liquid staking, but then the initial motivation of high inflation to incentivize people to participate directly in staking and delegation is completely negated, providing only great disadvantages to MINA.

This may not seem relevant in the early stages, since high volatility dominates due to relatively small volume and valuation, but it preemptively puts MINA at a disadvantage in its path to become a world currency, which is what it should strive for.

Over the years a trend emerged where people increasingly focused on chain activity as a result of focusing on chain revenue gained through transaction fees. A trend that can specially be tracked back to when Ethereum was trying to distinguish itself from Bitcoin and branding itself as “digital oil” in contrast to Bitcoin’s “digital gold / money / store of value”. Changing the focus from decentralized money to block space demand and transaction volume; arguing that decentralization trade offs like increasing requirements to run a node, were justified to increase the usability of the chain, which in turn would provide more value than a more decentralized but lower usability and throughput chain like Bitcoin. Similarly, Ethereum also dismissed criticism about the uncertainty around its monetary policy.

Eventually Ethereum realized that this was a mistake, since changing the focus from decentralized money to “chain revenue” quickly became a race to the bottom on decentralization to increase usability and revenue from transaction fees. Eroding the value accrual that comes from being a candidate to become a world currency by offering a store of value on a platform with high decentralization, censorship-resistance, and liveness; and being valued more in terms of a tech company with chain revenue and user growth at its center.

Ethereum realizing its mistake then took the steps to pivot from being “digital oil” to “ultrasound money”, refocusing on how it was more decentralized than new chains with faster and cheaper transactions and strengthening the confidence of its monetary policy by reducing inflation and showing more commitment to stick with it.

The issue is that despite all of these changes to become “ultrasound money”, Ethereum wasn’t able to get rid of the chain revenue narrative, combined with the fact that attached to the “ultrasound money” strategy was the hype around how fee burning would turn ETH into not only a currency with low inflation, but a deflationary currency. Cementing the focus on chain revenue.

This environment has resulted in Ethereum losing market share in the “digital money” category against Bitcoin and losing market share in the “digital oil” category against chains that make even greater decentralization tradeoffs but increase chain revenue and user growth like Solana.

Meanwhile Mina is one of the few blockchains that isn’t compromising decentralization and has an architecture that could eventually surpass even Bitcoin’s decentralization. Therefore Mina should aim to compete with Bitcoin on the world currency stage.

Of course this doesn’t mean that Mina should disregard the importance of chain usability. A chain with active block space demand is a healthy indicator and Mina is trying to be more than decentralized money. It is creating a cryptographic platform for zkApps which not only enable traditional smart contract use cases but also new ones. In fact, Mina has been focusing more on the latter and that’s why this is a call to increase focus on Mina to establish a solid decentralized money identity, which is fundamental to distinguish Mina from all the other smart contract platforms, taking advantage of its unique and innovative architecture. Avoiding falling in the trap of focusing on how to increase chain revenue over its natural edge to become a global reserve currency, just like Bitcoin, which doesn’t derive its value from chain revenue. Mina needs to aim for being the same. Chain revenue doesn’t even equal value for users and can be the opposite, as exorbitant fees from sandwich attacks and other forms of MEV providing high chain revenue demonstrate. So Mina should focus on becoming the most decentralized platform in the world, providing the best place for people to store their money, through unmatched node count, liveness, censorship-resistance, and verifiability thanks to its succinct architecture; combined with a rich and composable zkApp ecosystem that allows users to do many more things natively with their MINA that isn’t possible to do natively with BTC (like a zkApp for payments that is more efficient and easier to use than the Lighting Network; native swaps, lending, stablecoins, etc). MINA can accrue a lot of value by focusing on these properties and functionalities even if the chain revenue is relatively low, which wouldn’t even be surprising, given that in Mina a single zkApp or L2 transaction could contain millions of transactions for that zkApp or L2, which Mina will happily verify fast and inexpensively.

Mina could choose to do things like burning fees, but that should never be a distraction from the real goal. Mina should be above anything else decentralized money that protects people from currency debasement and uncertain monetary policies. Just like Bitcoin. Although even Bitcoin has the issue of chain revenue being a concern, since its long term security depends on how much fees users pay to miners. It’s just that this concern has been pushed to the future by subsidizing security through a temporal period of diminishing block rewards. To avoid this, the main source of revenue for validators should be a perpetual subsidy of security through block rewards that result in low inflation. Paying 7% yearly of the whole supply is too taxing due to the previously discussed reasons. Setting a low inflation target could even result in a higher budget for security, given that a greater value accrual would translate on validators being paid with a more valuable asset even if the amount is nominally lower (e.g. 1% of a $100 billion valuation is 1 billion, which is a bigger budget than $70 million from 7% of a $1 billion valuation).

Establishing MINA as decentralized money is critical to trigger a virtuous cycle of people being more willing to keep their money in Mina, increasing economic activity, security, user growth and retention; improving the composability between native zkApps and the incentives to deploy on Mina, which would improve the user experience, attracting even more holders and users and so on.

Once it is clear that we want to establish a predictable monetary policy with low inflation, the next question is what this monetary policy should be. Bitcoin and Ethereum are the top 2 most successful cryptocurrencies by a big lead, and arguably the most perceived as money-like in general, with Bitcoin dominating due to the reasons already discussed. Still Ethereum is a formidable project based on a lot of research and that has a Proof of Stake (PoS) issuance model that so far has proven to be effective to secure a blockchain worth hundreds of billions of USD, including perpetual issuance to subsidy the security of the blockchain and avoid the potential of ending on a situation where the budget to secure the blockchain is too small relative to the valuation of its total native cryptocurrency.

Currently Bitcoin’s issuance is slightly higher than Ethereum:

The formula to calculate yearly ETH issuance is:

Screenshot from 2025-01-29 23-41-15

Where N is the number of validators with 32 ETH operating in optimal conditions, which results in a theoretical max inflation of around 1.5% yearly if all the ETH at the moment of writing was staked. Current number of validators is around 1,054,000, resulting in an issuance of around 965,274 ETH per year, and with a current ETH circulating supply of around 120,514,017, this equals an issuance of around 0.8009%.

So at the moment of writing, Bitcoin and Ethereum have a similar budget of around 0.8% of the native value they are securing, showing no issues so far with this security budget and demonstrating that this level of inflation is attractive enough for people to consider BTC and ETH as financial vehicles to escape from the debasement of fiat currencies or as a form of investment. Making an issuance target of around 0.8% a reasonable target for Mina going forward.

Now the remaining question is how Mina should approach such an issuance target. Given that Mina follows a more elegant and simpler consensus algorithm than Ethereum that doesn’t rely on attestations, sync committees, or slashing, we could simply change the target inflation to 1% in a future hard fork. Setting MINA free to be used in all kinds of economic activity without worrying too much about dilution and priming it for becoming the most decentralized store of value. With validators being rewarded for securing the blockchain in a cryptocurrency better designed to increase its economy, accrue value, and reduce volatility and uncertainty.

Naturally this should be carefully discussed and this only pretends to kickstart the discussion, gauge community sentiment, and gather feedback to create a solid MIP. It’s extremely important that something like this has broad support and is set on stone, since we probably have only one shot at changing Mina’s monetary policy. Otherwise, further changes could severely damage its credibility as a reliable monetary policy.

9 Likes

I was reading this post from @evan and it mentions that the consensus protocol requires 75% staking participation for maximal security of the network. I haven’t been able to find the analysis that reached this conclusion, so it would be cool if someone could share it.

Security and stability are obviously top priorities and I would like to know why 75%, and what “maximal security” means in this context. For reference, the current staking participation on Ethereum is 28%, which translates on a lot of ETH being free to be used for economic activity. Not to mention that a lot of the staked ETH is being also used for economic activity in the form of liquid staked ETH. It is also a matter of time before a lot of the staked MINA is similarly used as liquid staked MINA, which begs the question of how will this impact the security assumptions.

In the same post it was also proposed to slowly decrease MINA block rewards and stop if participation approached the 75% threshold. I think this is a great idea to deal with the issue of avoiding falling under a dangerous participation threshold. Although I think this should be baked into the protocol as a dynamic block reward, which would automatically adjust according to how much participation there is at any moment. To target low inflation, block rewards could be decreased by default and stop decreasing when reaching 1% inflation target, and increase when approaching the dangerous participation threshold.

Of course those are only balancing mechanisms and it should be noted that there’s not inflation rate that guarantees that we would never go below the dangerous participation threshold, which leaves me wonder what happens to the protocol if that happens.

Another question I have is that in the same post an “Original Block Rewards Schedule” is referenced, and a new “Proposed Target Block Rewards Schedule” is presented, but none of these schedules seem to reflect the actual mainnet block rewards. It looks like mainnet has given a fixed block reward of 720 MINA (excluding the old supercharged rewards) since inception until this day. So I wonder how the monetary policy has been managed all these years and what is the official stance today.

Finally, the post also proposed a fee burning mechanism as a way to reduce inflation, but as I mentioned in the initial post, Mina should avoid focusing on fee burning / chain revenue mechanisms too much. Chain revenue is not a reliable component of monetary policy; deviates attention from the more valuable aspects of Mina (from decentralization, censorship-resistance, and liveness; to transaction fees); and introduces perverse incentives like enshrining MEV or making block space artificially more expensive than it has to be.

5 Likes

Would love to hear your thoughts @evan on this.

4 Likes

Hey! Thanks @chrlyz for writing this up (and @Pete for the ping).

Yeah very aligned with further reducing inflation.

To comment more on the 75% / security properties – Ouroboros is unique in that it doesn’t require locking of tokens to participate in staking. But with that is a tradeoff, that Ouroboros doesn’t know which tokens are participating in staking, and which aren’t. And this has the implication that with lower participation in staking, there starts to be (1) more slots that have missed blocks, and (2) less than 75% participation it starts being easier to run an attack against the network.

I’d have to go back and look at the original calculations and research to remember more on the exact impact below 75%, but even with just the impact of more slots having missed blocks, it is probably good to keep as much stake participating as possible with the way the protocol currently has Ouroboros configured.

So with Ouroboros, it doesn’t necessarily require locking, but it does require still a high percentage of participation in staking. And if we reduce inflation, this could impact that participation.

A solution here could be to introduce some kind of locking, to ensure that there is a high participation for stake that is involved in staking. That way we could reduce inflation without concern about keeping participation very high. The discussion about locking was pretty controversial before though, see the prior thread where Economics Design proposed locking as a direction to consider for other tokenomics reasons.

We could consider pretty short-term locking though to remedy the participation though, and that would be my preference for now for solving this.

Specifically:

  1. Introduce locking during the epoch you are staking for (1 epoch locking; currently ~2 weeks but will go down as slot time goes down).
  2. Reduce inflation further from I think 9% today, to say 5%.
  3. Monitor for changes in participation, and consider further reductions to inflation.

I think Economics Design is going to be putting out an updated, more complete report too in the next week or so, that I think talks about inflation also. So will be interesting to see their analysis too.

*edit: mixed → missed

2 Likes

Hey, @evan! Thanks for the response.

By mixed blocks do you mean slots where more than one validator win the right to produce a block? If that’s the case, wouldn’t it be the opposite? The less the active staking, the less the likelihood of more than one validator winning the right to produce a block for the same slot? Also, which kind of attack becomes easier with less than 75% participation?

My perception from the last Economics Design proposal wasn’t that people were against locking per se. It was more that the proposal was disappointing, since it really didn’t provide a path to low inflation. The proposal kept inflation the same while getting rid of a nice feature in Mina (no locking necessary). Plus it specifically targeted less participation as one of its goals, which isn’t a good goal per se (one thing is less participation because people feel less pressured into staking to avoid getting diluted, and another is promoting less participation as a way to lower circulating supply). So the proposal would have had bad consequences while not solving the main issue of high inflation at all. The conservative drop in participation in the Economics Design proposal was a 30% drop, which would have put the participation rate under 75%, which would disqualify it from the start given the study you mention.

I think that introducing locking as a way to make Ouroboros aware of how much stake there is to adjust rewards for security, while targeting low inflation, will have a far better reception from the community. This would also enable the protocol to automatically adjust inflation for keeping the necessary participation rate without manually adjusting inflation, setting the monetary policy in stone, which is critical for it to gain credibility.

Dropping block rewards as long as there’s not a significant drop on participation that approaches a dangerous threshold, and stopping at 1%, seems like a simple and elegant way to address the issue of high inflation, while establishing a mechanism to incentivize more participation when it approaches risky levels. Although, it will be good to further analyze this threshold and to implement improvements that make the network more resilient against low participation rates, since there’s no yield that guarantees that we will never fall below certain rate, and providing too much yield during a period of time of low participation to a minority, is a centralizing force and a potential attack vector too.

The Economics Design proposal also kept inflation the same independent of participation, while capping the yield validators could get, which means that as participation dropped, it paid overall less for security, which is the exact opposite of what the protocol should do. Issuance should prioritize paying for security over anything else, so if a portion of issuance will be allocated to an onchain treasury, this portion shouldn’t increase as participation drops. It either should be a fixed amount or if it’s calculated dynamically, the % of the block reward that goes to this treasury should decrease as participation drops and block rewards increase, to make sure that issuance prioritizes network security.

2 Likes

Oh for mixed blocks I actually meant missed blocks, sorry about that, edited the above – lower participaiton leads to more slots with missed blocks, hopefully that makes more sense. Beyond the lower performance, the attack that becomes easier is creating small forks / reorgs. This could be used for double spend attacks, as well as if the reorg is long enough (290 blocks) breaking consensus of the protocol.

And ah, interesting re locking. Yeah maybe we just need to talk more details around it. I do like the security and performance impacts of the locking, with the opportunity to have lower inflation a bonus as well.

One thing actually around the locking and participation, is that adding locking does eliminate the 75% participation constraint, since the protocol will know who is participating and not – the protocol will be secure with whatever participation shows up then, just with economic security proportional to ~50% of the staked tokens.

And are you saying, if there was some kind of locking / signaling to Ouroboros who was participation – having higher APY when there is lower participation, to incentivize back up participation? Something like the following for example, as a simple version? (without treasury?)

100% participation → 5% inflation / 5% APY
75% participation → 5% inflation / 6.66% APY
50% participation → 5% inflation / 10% APY
25% participation → 5% inflation / 20% APY

Would be very interested in what some of the other ideas you mention might look like too.

Maybe zooming out, what do you think about the following goals?

  • have network incentives to keep participation (economic security) around some target (say 50% participation of tokens)
  • gradually reduce inflation while the participation target is met
  • decouple participation from performance / security
  • be compatible with adding some kind of decentralized treasury down the line for longterm funding

We probably don’t have to meet all of them (I’d bet the mechanism could be complex), but definitely wonder what the simplest change to make to go in this direction.

Got it. Missed blocks and a reorg attack make sense. Would a 290+ reorg attack really break consensus? I mean, it would be really bad but the network would accept the reorg as the valid chain and if more stake comes online to counter the attacker, the network would keep going, right? Or am I missing something?

I agree that locking provides really nice security and performance improvements, and it being needed to be able to reduce inflation, make it something I think we must implement. Between the tradeoff of gaining all these properties vs not-locking-required, the balance is overwhelmingly in favor of implementing locking. We would just be doing it for security, performance, and lower inflation, and not as a way to try to reduce circulating supply.

On the performance part, I remember that you mentioned in the past that locking could enable instant finality in Mina. My question here is if the consensus protocol would need to introduce validators voting on proposed blocks, since as far as I understand, the current protocol doesn’t require this and it makes Mina more censorship resistant, since validators can’t censor blocks by refusing to vote for them as valid, and the network just follows the longest chain rule. So if I’m understanding correctly, this is another property that makes Mina far more unique than non-locking, and something worth keeping.

And are you saying, if there was some kind of locking / signaling to Ouroboros who was participation – having higher APY when there is lower participation, to incentivize back up participation? Something like the following for example, as a simple version? (without treasury?)

100% participation → 5% inflation / 5% APY
75% participation → 5% inflation / 6.66% APY
50% participation → 5% inflation / 10% APY
25% participation → 5% inflation / 20% APY

Yes, something like that. Plus dynamic inflation according to participation, in order to avoid:

  1. Incentivizing some validators to attack other validators to try to make them stop participating. We would need to reduce inflation to some degree when participation drops, so APY isn’t so sensitive to drops in participation that it becomes attractive for some validators to attack others to try to increase their own APY significantly.

  2. Overpaying for security. We wouldn’t want to issue 5% of the total supply and use it all to pay for 1% participation. That would not only create incentives for validators attacking each other for getting such a high piece of the cake. It would also be a centralizing force and security risk, for such a minority increasing their ownership of the network to such degree. So we need to reduce issuance as participation drops to not overpay.

  3. MINA displacement by liquid staking tokens, which would introduce systemic risks, custodial risks, governance risks, etc. Since to not get diluted, people would use liquid staking versions of MINA instead of MINA. So we would like to prevent most MINA concentrating in the hands of custodians that stake MINA in your behalf (through companies like Coinbase or smart contracts like Lido). For this it is necessary to start reducing issuance after certain participation threshold to disincentivize further participation and prevent an scenario where more than 50% of all MINA is in the hands of those liquid staking providers.

  4. Loses in real value due to nominal increases and taxes, which arise when participation approaches 100%, with everyone getting diluted equally while being forced to pay taxes on the nominal increases that doesn’t translate in real value, and impacting price performance negatively due to selling pressure to pay for such taxes.

To address all of these issues I really liked the recent proposal by Justin Drake for ETH issuance, which looks like this:

This proposal sets a max inflation of 1% at 25% participation, and 0% inflation at 50% or more participation, to prevent points 3 and 4, while it makes inflation not too sensitive to participation rate changes, to prevent 1 and 2. So I think something like this would work for Mina too.

Regarding establishing a decentralized treasury, I think it could be a fixed amount per block to avoid overcomplicating things, and establishing a fixed yearly budget for the treasury. If max inflation becomes 1% like showed in the diagram, then a fixed budget wouldn’t be affected too much by inflation and it would become an overall diminishing tax on holders over time. It could be something like 10 MINA per block, which with the current supply would be around:

(175,200 blocks per year * 10 MINA) / 1,213,499,891 MINA = 0.144% inflation going to the treasury for the first year, which will gradually decrease while providing the same budget per year.

Let me know what you think. I like the way this discussion is going!

1 Like