Transaction types, hashing algorithms or consensus models, all these are criteria we more or less consider when choosing the projects we want to invest in. An issue with the same long term importance, but less discussed is the economic model one blockchain runs on. The issue rate of the newly emitted tokens, mainly as block rewards, could be a beautiful dream for validators/miners in the short term, but a nightmare for holders. The monetary mass dilution should be low enough in order to not punish the holders but high enough in order to reward the users that participate in the networks’ security.
One of the most awaited events in the crypto space is the Halving Bitcoin has once in every 210,000 blocks (approximately 4 years) which results in halving the rewards per block.
Since 2009 till now, miners from all over the world compete in a continuous race approximately once in every 10 minutes in order to include their block into the Bitcoin blockchain. Basically, every miner’s job is to gather transactions from the memory pool, include them into a candidate block and as soon as a miner finds a nonce (an arbitrary number obtained through SHA256 hashing) that is smaller than what we call difficulty target, that miner can send the block to the other miners. These ones stop themselves from searching, verify the block and if the block is found valid they include it in their own version of the blockchain.
As a reward for the work, the miner can create a unique transaction called coinbase transaction that collects the fees of all the transactions included in the block and mints the subsidy. According to the current halvings number a fixed amount of Bitcoin goes into circulation. This amount represents the miner’s block reward.
You have definitely heard about the 21 millions number as a reference for the Bitcoin’s limited supply, but in order to have a better understanding of the halving’s impact and how it was reached to this number, let’s have a look at the code lines that set the block rewards and the halvings within the Bitcoin protocol.
Because there is no unit for Bitcoin within its protocol all the calculations are done in COIN (satoshi) = 100 000 000 units and from the CAmount nSubsidy = 50 * 100 000 000 line we can notice that the initial reward per block was 5 000 000 000 sats = 50 BTC.
At the time the article was written the last block included in the Bitcoin blockchain has the block height with the number 697822. In order to find out the number of realised halvings until present, we have to calculate the ratio between the current block height and the 210 000 blocks we previously talked about.
nSubsidy >>=697822/210000 equals 3.32, but because it is defined as a integer number we must get rid of the decimals and round to the lower number reaching to the number 3 result, which is the number of halvings on the 1st of September 2021.
Now that we have seen the initial value of the block reward and the current number of halvings, let’s see how reward halving per block is obtained.
For this we have to convert the initial value of the block reward, 5 000 000 000 sats into binary and we obtain 33 bits:
100101010000001011111001000000000
The 33 bits number is very important because after every halving 1 bit is removed from the end, and after 33 halvings, without being able to remove anymore, the reward becomes 0 and the Bitcoin total supply reaches the maximum value:
In order to calculate the current block reward value, considering the 3 halvings we must remove 3 (current halvings number) bits from the end. We obtain 100101010000001011111001000000 which after turning it into decimal representation gets us to 625 000 000 sats or 6.25 BTC.
The block reward reduction as a result of the halvings, if we check its history, had a selling pressure decreasing effect among the miners and in a short time we could always notice an answer from the price as a result of the resulting supply shock. So, on a free market where the price is dictated by offer and demand, an economic model that controls in an efficient way the new tokens emission is probably one of the most important factors not only in terms of price trajectory but also in terms of the number of users participating in the network’s security.
Elrond π model
Elrond π, the EGLD token economic model implemented at the launch of Elrond Network, brings almost the same principles as Bitcoins economic model and is probably the first economic model with maximum supply built on a Proof of Stake system completed by a blockchain architecture capable at the moment of 15000 transactions per second through 3 execution shards and that can scale linearly.
Every year the monetary mass dilution coming as block rewards for validators decreases gradually reaching 0 after 10 years. As a result, Elrond Network’s native token will have 10 halving events similar to Bitcoin’s and it will reach a theoretical maximum supply equal to 31 415 927 (π number) in 10 years.
The max supply mentioned is theoretically because 90% of the transactions fees on the network (10% goes to Protocol Treasury) diminish the new tokens emission. If the network will go through accelerated adoption during the first years we might even see the network stopping the new tokens emission after 5 years and the maximum supply to be 26 500 000 (this is just an example).
Because at first glance table might look complicated we will explain the most important columns: Mass to add (the total new tokens to be emitted during one year if there are no transactions on the network) and Tx/s to zero issuance (the necessary constant number of transactions per second during a year required for 0 inflation).
Starting with the first column we mentioned, Mass to Add, we can notice how every year the number of new tokens emitted for staking rewards decreases. This decrease results in APR diminishing for validators. In order to understand the impact over the years let’s calculate the APR for the MGStaking staking pool.
- Firstly we write the staking data of the network.
Total number of nodes = 3200
Total Stake = 12 009 024
Total Base Stake = 2500 x 3200 = 8 000 000
Total Top Up Stake = 12 009 024–8 000 000 = 4 009 024
TopUp Rewards Limit Factor = 50%
TopUp Rewards Gradient Point = 2 000 000
- We write the MGStaking staking pool data.
Total Pool Stake = 149 634
Active Nodes = 34
Top Up Stake Per Node = 1775
Service fee = 13% = 0.13
- We turn the annual reward into reward per epoch (24h) and we find out how the reward is split between top up stake and base stake, the last one having a higher share due to the fact the protocol encourages the validators to run more nodes instead of one if they have the required EGLD amount.
Validators’ Reward per epoch = 1940707 x 0.9 / 365 = 4785.304932 (the annual amount is multiplied by 0.9 because 10% goes to Protocol Treasury).
Top Up Rewards Limit = Validators’ Reward per epoch x Top Up Rewards Limit Factor = 4785.30 x 0.5 = 2392.6524
Top Up Reward per epoch = [(2 x Top Up Rewards Limit ) / π] x ATAN [Total Top Up Stake / (2 x TopUp Rewards Gradient Point)] = [(2392.6524 x 2) / 3.14] x ATAN [4 009 024 / (2 x 2 000 000)] = 1198.042477
Base Stake Reward per epoch = Validators’ Reward per epoch — Top Up Reward per epoch = = 4785.304932–1198.042477 = 3587.262455
- And the most awaited calculation, finding the APR.
APR = {[(TopUp Stake Per Node x Active Nodes / Total Top Up Stake) x Top Up Reward per epoch] + [(Active Nodes x Stake Per Node / Total Base Stake) x Base Stake Reward per epoch]} x 365x (1 — Service Fee) / Total Pool Stake
APR = {[(1775 x 34 / 4 009 024) x 1198.042477] + [(34 x 2500 / 8 000 000) x 3587.262455]} x 365 x (1–0.13) / 149 634
APR = 11.91
Switching to the second column, Tx/s to zero issuance, it must be mentioned the fact that the table takes into consideration just the simple transactions (0.00005 EGLD per transaction), but for a better understanding of how the calculation is done, as you have already got used, we will take you through an exercise, something closer to reality.
In the following example we will calculate the required transactions number in a day for the 3rd year in order to have 0 inflation (meaning that the staking rewards are paid integrally from transaction fees and no new tokens are emitted) and an increase of APR in order to have an unnoticeable switch from the 2nd year to the 3rd one in terms of rewards for the validators (same APR of 11.91 for the MGStaking pool).
Because beside the simple transactions there can be executed various types of transactions with additional data or API calls towards smart contracts we will use an average of 0.00015 EGLD per transaction. In order to preserve the APR to have the same APR in the 3rd year as in the 2nd one we need 4785.304932 EGLD (Validators Reward per epoch from the 2nd year) / 0.9 = 5317 EGLD daily on average from the transaction fees.
The 5317 EGLD can be explained as 5317 / 86400 (the seconds from a day) / 0.00015 (the average fee per transaction) = 410.26 TPS needed in order to preserve the APR from the 2nd year in the 3rd one (the same stake state for the network and the pool) having 0 inflation.
In conclusion, the transaction fees on the network will gradually replace in time the inflation in such a manner that in the 11th year the staking rewards will be paid integrally from transactions.
Resources: src/validation.cpp, Elrond Economic Paper