The term “Halving” is used in the cryptocurrency world to describe a procedure that slows the rate at which new coins are issued. More exactly, halving refers to the reduction in the block subsidy offered to miners on a regular basis. Halving ensures that a crypto asset’s issuance rate remains consistent until its maximum supply is achieved.
Halvings are at the foundation of cryptocurrency economic models because they ensure that coins are generated at a consistent rate and that the open source code predicts the rate of decay. One of the primary differences between cryptocurrencies and regular fiat currencies is that cryptocurrencies have a restricted pace of monetary inflation. Traditional fiat currencies, on the other hand, have an effectively endless supply.
In the case of Bitcoin, new coins are created on a regular basis as part of the block reward (which is made up of the block subsidy plus transaction fees). As a result, every time a miner successfully “discovers” and validates a new block, they are rewarded with newly minted coins.
So the mining process is what adds new Bitcoins to the system, and it happens at a steady and predictable rate. New Bitcoin blocks are mined every 10 minutes on average, and the block subsidy decays at a predetermined rate. As a result, halving ensures that for every 210,000 blocks, the block subsidy will reduce by 50% (roughly every four years).
Bitcoin’s block subsidy was initially set at 50 BTC starting with the genesis block. In 2012, it was decreased to 25 BTC, then in 2016, it was decreased to 12.5 BTC, then in 2020, it was decreased to 6.25 BTC. The next halving is scheduled in 2024, bringing the block subsidy down to 3.125 BTC. After 32 halvings, the process will come to an end, and no more Bitcoins will be created. The maximum supply of 21 million BTC will be reached at this point.
Halving is a critical element of the Bitcoin protocol, and anyone can see it because the code is open source. For example, the Bitcoin Core implementation may be found on GitHub, and one of the code snippet that defines the block halving is as follows:
CAmount GetBlockSubsidy(int nHeight, const Consensus::Params& consensusParams)
int halvings = nHeight / consensusParams.nSubsidyHalvingInterval;
// Force block reward to zero when right shift is undefined.
if (halvings >= 64)
CAmount nSubsidy = 50 * COIN;
// Subsidy is cut in half every 210,000 blocks which will occur approximately every 4 years.
nSubsidy >>= halvings;
Find below the image representing the Bitcoin price chart and the three Bitcoin halvings. The date, price and percentage price change have been highlighted in the chart. Look how the price has increased after each halving due to the limited supply and increased demand along with other utilities maturing over time.