[RFC-0011] PoS inflation adjustment



I need to edit this tonight for formatting and the equation isnt quite right.


In layman’s terms, does this mean instead of minting a maximum of 1% per year on your coins, you could mint up to 5% per year, assuming the status quo of many coins not minting each year?

Maximum Peercoin PoS inflation will still be 1%/year.


I will change the name of that variable because it is misleading. Still, you nearly have it right. You can get up to 5x the normal mint reward.

The total inflation rate will not max out at 1%, but will instead fluctuate around 1%. If more people start minting after it equilibrates, it will likely inflate a little more than 1% while it re-equilibrates. The inverse happens when people drop out.


this will increase the inflation, but it gives hodlers inventive to mint


How would this affect the rich get richer argument? Currently it doesn’t really apply to Peercoin because all minters can only earn the same 1% and no one can pull ahead and make more. This does have the affect of reducing incentive though. I’m just wondering what the impact would be and if Peercoin would become a larger target for this argument.


No it will keep the inflation steady.


if i understand correctly, the 1% inflation will now only be reached if everybody is minting, so when we do this the inflation will be increased to about 1%, when a fraction was minting previously, only they would get 1% which would be a fraction of 1% inflation instead of full 1%


In a weird way i think this may incentivize smaller holding minters more than big holders.

  • small holders will get up to 5% and may tolerate the risk/reward ratio
  • big holders w/o cold minting will still be worried about hacking theft


This does not affect the rich get richer argument as you are still increasing total supply and gaining a reward proportional to your holdings. So it increases the amount that “minters get richer”, but does not change the relative ownership between minters (so the rich minter makes the same % as the poor minter).

This proposal will increase inflation over the current protocol, but will target a very moderate 1% total.

It is also worth noting that with current PoS difficulty, it is very likely that we will be at maximum inflation somewhat continuously.


Neat idea. I like it. Really encourages participation in providing security for our network!


i dont understand the last sentence

It is also worth noting that with current PoS difficulty, it is very likely that we will be at maximum inflation somewhat continuously.


If <20% of the coins mint, inflation per participating coin will max out at 5%/year continuously.

As a side note, giving more coins to minters will likely result in higher PoS diff and ultimately lower nAdjustInflation.


There might be a way to use PoS difficulty instead of nAnnualPoSReward. That would greatly simplify implementation and would remove the Increased Load drawback.

In this case, we would make the inflation adjustment proportional to (PoS difficulty) / nMoneySupply.

Unfortunately, we’d need an avg_dayweight, like you see here:

If you are going back through blocks looking for avg_dayweight, you may as well just take stock of the total reward over a given time frame.

If Peercoin wasn’t a PoW hybrid, we could just take a difference in money supply between two blocks to get the total inflation.


Now that I think about it, if you take into account the compounding interest, the equilibrium balance for case 3 (100% participation) should actually be <1. This is because the exponential increase represented by compounding interest will contribute to an acceleration of nAnnualPoSRewards that will drive nInflationAdjustment down.

You can make a much more general statement about the type of feedback loop that this proposal refers to, I’m sure.


We have moved forward a step with this: it has passed the sniff test of our devs. Most of the contentious has fallen to nAnnualPoSReward, which is where I expected it would lie. I am thinking of alternative implementations, I will enumerate some here. The first is how it is currently written.

  1. Add up all the PoS rewards in a year.
    Main Challenges: Indexing all 50k blocks within the year
  2. Take one PoS block from the past, say 1000 blocks from the tip of the chain and multiply by 52560 blocks/year.
    Main Challenges: Lack of averaging allows for manipulation and irregularities
  3. Take the dayweight of a stake from the past, say 1000 blocks from the tip of the chain, and use it with the difficulty at that time to estimate number of coins minting. Multiply that by 0.01 to get the PoS rewards.
    Main Challenges: Lack of averaging allows for manipulation and irregularities
  4. Take method 2 or 3 and average over many blocks, possibly skipping around in the history a la stakemodifier.
    Main Challenges: Averaging over 52560 blocks in the past year approximately converges method 1 and 2.

In my opinion, this now requires input from someone who understands more intimately the burden imposed on nodes by indexing the PoS reward/dayweight.

There was talk of adding an additional feedback loop, such as to limit maximum rate of change of the reward to 0.001%/block, but I believe that adds a layer of complexity that can result in resonant vibrations of the money supply, such that there are standing waves in the block rewards year to year.