A Proposal for Dynamic Inflation on EOS

UnknownEssence
7 min readMay 9, 2019

--

How we can decrease EOS inflation, prevent centralization, fund a worker proposal system and ensure Block Producers remain profitable.

Current Inflation Situation

EOS inflation is currently 5%. 1% of that is paid to Block Producers as compensation for running the EOS network. The other 4% is currently going to a special account (eosio.saving), which has no current use or purpose.

The current proposal regarding EOS inflation that has gained the most support is to shut off the 4% inflation going to this account, reducing the total inflation to just 1% to pay BPs.

The long term negative effects

Greymass has written a very detailed article about the long term negative effects of allocation inflationary rewards to a single group (the BPs). Basically, the worry that that if a single group of is rewarded with newly minted tokens (inflationary rewards), that group will slowly but surely own a larger and larger portion of the total EOS supply and more importantly, EOS voting rights. With inflation going to a single group, this group will inevitably end up owning the majority of the EOS supply (and voting weight), and the EOS network will become completely centralized by this group (the BPs). Please see Greymass’ article for a detailed explanation.

The Proposed Solution & It’s Drawbacks

In Greymass’ article where this problem is describe, there is also a proposed solution to this issue. In short, the solution is to allocate an equal amount of inflationary rewards to another, separate group. Doing this would basically offset the 1% inflation going to BPs which would make it harder for them to ever gain total control of the network. Greymass proposes that we allocate an equal amount of inflation to a worker proposal fund. 1% to BPs and 1% to workers, resulting in 2% total inflation.

Below is a chart showing the effects this would solution would have as compared to keeping only 1% inflation to pay BPs. As you can see, this would prevent the group of BPs from ever obtaining 50% of the total EOS supply. They would only ever inch closer and closer, while never crossing 50%. To give credit where credit is due, I believe this is a great solution and I thank Greymass for writing the article.

Figure 1

However, even if this solution were to be implemented, the BP group would still obtain 30% of the total EOS supply after 48 years and 40% of the total supply after 83 years. While this is pretty effective, I believe there is more we can do to slow down this process by getting at the root cause of the issue — inflation itself.

A Proposal for Dynamic Inflation

From Greymass:

When the supply of tokens is responsible for consensus, and the inflation is given to those presently in charge of consensus, then inflation can lead to centralization in the system over time

Inflation is the root cause of asymptotic consensus convergence (centralization of voting weight over time). The only way to truly prevent this process is by not paying BPs at all (zero inflation) — which is obviously not an option. However, we could potentially drastically slow this process by reducing the inflation rate, when possible.

With EOS at a price of $5 USD, Block Producers are paid about $50 million USD or 10 million EOS per year in total. The EOS price has been around this range for nearly 7 of the 10 months that it has existed (sometime going below $2) and BPs have continued to be able to afford to run their operations.

Figure 2

This shows that $50 million USD per year is enough pay for BPs to continue to operate at profit and any excess pay is unnecessary inflation that is causing consensus centralization faster than necessary.

However, due to the fact that BPs are paid as a set percentage of inflation (1%), BP pay will increase when the price of EOS increases (in USD terms). If the price of EOS raises to $10 USD, BPs will be paid $100 million USD per year — more than double what they need to operate. In this situation, BP rewards should instead be decreased to 0.5%, leaving BPs with $50 million USD regardless of the EOS price. You can begin to see how this works. With the EOS price at $20, BP inflation decreases to 0.25%, but BP pay remains the same in USD terms.

Not only does this allow us to decrease inflation as the price of EOS increases, it also ensure that BPs will remain profitable and continue to operate when the price of EOS drops.

In order for this to work, the system would need a reliable way to know the current price of EOS. I believe this is where the worker proposal system can come in.

The Mechanism

As described by Greymass

There are many ways in which a worker proposal system could work, but consider a very simplistic approach: duplicate the block producer structure, but only assign pay by weight (vpay) and no pay for blocks (bpay). This secondary set of organizations would be elected separate from BPs, are not part of determining consensus, and gain their own inflation — voted in place by the token holders.

This is exactly what we need. However, I propose that the primary responsibility of these elected workers would be to act as an oracle — that is, to provide the EOS network (more specifically, the EOS inflation calculation algorithm) a constant feed of the current EOS price. If we were to have 50 individual organization elected to this “worker proposal” system, a smart contract could then take the average of the values provided by each of the elected workers to determine the true EOS price. That price could then be used to calculate how many new coins need to be minted and paid to BPs in order for BP pay to remain at $50m USD / year.

Just like Block Producers, these workers / oracle providers would be paid an equal amount via inflationary rewards. As shown in Figure 1 above and described by Greymass, this additional inflation would act as an offsetting force, preventing centralization of voting rights while at the same time providing a usefully service that allows us to dynamically update the inflation rate, only producing the minimal inflation required.

Since these oracle providers are elected position just like BPs, any attempt to provide false price data to the inflation adjustment algorithm in an attempt to increase their own pay will be noticed by the voters, and they will quickly be removed from their elected positions for attempting to cheat.

Figure 3

It is important that these elected oracles providers / paid workers gather their price data from a variety of exchange APIs and different sources. If all 50 elected data providers are getting their price feed from the same exchange API, a glitch in that exchange’s API can affect the amount of EOS inflation produced. However, if each elected worker is getting their data from different sources, a mistake in a single provider’s data will have little to no negative effects on the EOS inflation calculation algorithm, since the average of all values provided by the elected workers will be taken, and extreme outliers can be ignored.

It should also be noted that providing a live price feed should not be the only responsibility of those in this elected position, but it should be the absolute bare minimum. Those who are campaigning for this position that promise to build tools and services requested by the EOS voters will swiftly replace those who are doing nothing but providing the price feed for the inflation adjustment algorithm. In this way, this system funded via secondary inflationary rewards can double as a oracle for the price of EOS as an input to the inflation calculation algorithm, and as worker proposal system.

Prior Discussions of Dynamic Inflation

I am not the first to propose a dynamic inflation rate of EOS. Last December, in an apparent survey of Block Producers by MEOW found the following:

A full 73% of BP surveyed want Dynamic Inflation

The same survey found that the average BP operates at break-even when the EOS price is $4.14 which equates to about $41.4 million USD/year split between all paid BPs. This supports my earlier claim that locking the total BP rewards to $50 million USD per year is sufficient to ensure BPs remain profitable. If for any reason the cost of operating as a BP increases in the future, we can always vote to increase the total BP pay, or set it to increase X%/year automatically to offset USD inflation.

I am also in favor of setting BP rewards to $60m USD or higher, giving BPs an immediate increase in pay. This would incentivise BPs to accept this proposal in exchange for the giving up the potential higher rewards in the future, and act as insurance against unknown unknowns that could arise for those operating as Block Producers.

Update: The exact amount we should pay BPs can be discussed and I am not specifically arguing for $50m USD/year. Rather, I am arguing for dynamic inflation via this mechanism in general. If the EOS price were to increase to $100/coin, I don’t see a need to pay BPs $1b USD/year when they have proven the ability to operate on $50m USD/year, and I believe the needless inflation should be reduce in an attempt to preserve decentralization of consensus.

In Conclusion

Since there is currently wide-spread community support for eliminating the 4% inflation currently allocated to the eosio.saving account and reducing the total inflation to 1%, I believe BPs should go through with this proposal as a short-term solution. However, I believe we should then immediately begin seriously discussing the merits of a dynamic inflation rate and a worker proposal system as proposed in this article.

If you support this idea, please reach out to Block Producers and ask them to support it as well.

If you would like to discuss this more I can be reached here:

Twitter: @Unknown_Essence

Telegram: UnknownEssense

Reddit: u/UnknownEssense

--

--

UnknownEssence

The essence of something is its basic and most important characteristic which gives it its individual identity. - Collins Dictionary