Bitcoin Halving Events

Mabel Oza
Coinmonks
7 min readApr 3, 2024

--

Unlike the past halving events, the upcoming halving (around April 16th) finds Bitcoin in a completely new landscape. Since the last halving, we’ve had ETFs, new regulatory standards, and a rally before the halving, creating a recipe for unpredictable aftershocks. Regardless of whether you’re a Bitcoin fan or hater, the effects of this halving are going to ripple throughout the economy and our politics.

This event will hit our finances, regulations, and global economy.

Finances

  • How will established institutions that recently embraced Bitcoin through ETFs react to the sudden supply shock?
  • How will the sudden change in Bitcoin’s supply affect peripheral financial assets?

Regulations

  • As miners are forced out will regulators impose stricter controls on mining oligopolies?
  • Will regulators require more audibility from organizational and individual miners?

Global Economy

  • How will this affect the overseas and U.S. mining industry?

We’ll examine the halving events and analyze all the chaos it will cause us:

What is a Bitcoin Halving?

Every 210,000 blocks the block mining reward fee is reduced by half. This was determined years ago when the code was first implemented. The intention behind halving the fees over time is to slow down the network growth and give it time to mature.

The halving events should continue till the year 2140 when the maximum supply of 21 million Bitcoins are met.

How often does it occur?

A new block is mined every 10 minutes, the 10 minute time is maintained by adjusting the difficulty (if blocks are mined too quickly the difficulty increases and if they’re mined to slowly the difficulty decreases).

So if we are halving every 210,000 blocks then we should have a halving event every 4 years.

Minutes Per Year = 60 minutes per hour * 24 hours per day * 365 days per year = 525600 minutes a year

Minutes to Mine 210,000 blocks = 10 minutes to mine block * 210,000 blocks = 2,100,000 minutes to mine 210,000 blocks

2,100,000 minutes to mine 210,000 blocks / 525600 minutes a year ~= 4 years

Below are the date of the halving events and their estimated halving events.

Price of Bitcoin and the Halving Events

There isn’t a direct correlation between the price of Bitcoin and the halving events. Usually the trend is that Bitcoin is fairly stable then there is an uptick after a halving event, but this time (3rd halving event) we’ve seen the uptick before the halving event.

Economic Impact of Halving Events

The intention for the halving is to slow down the rate of Bitcoins coming into the market, and in turn keep the currency

Impact on Crypto Related Stocks

The companies that would be directly impacted by the halving are mining pool companies and companies that supply mining infrastructure. Marathon, Riot, and Clean Spark are some of the biggest miners today, halving the Bitcoin reward might remove many miners from the market and allow some of these larger mining companies to expand. Companies like NVIDIA and AMD will see negative affects from their mining equipment sales because there will be less miners.

Note: NVIDIA and AMD are growing their AI business and might not be deeply impacted from a stock perspective.

The companies that are crypto adjacent have been Coinbase, Block (Square), Microstrategy, Galaxy Digital Holding, Paypal, and Reddit because they have a large holding of Bitcoin and some provide crypto utilities. Their growth is indirectly impacted by how the halving impacts the fiat value of Bitcoin and the movement of Bitcoin.

Impact on other PoW Coins

Since the halving event reduces the reward for mining Bitcoin PoW (proof of work) miners would have more of an incentive to mine on other PoW networks. As of today some of those networks are Dodgecoin, Bitcoin Cash, Litecoin, Ethereum Classic, Kaspa, and Monero. It doesn’t mean that the coins associated to these networks will increase in value, but there might be more activity around mining, which will eventually lead to trading in these networks.

Image from: https://crypto.com/price/categories/pow

Halving and Gresham’s Law

bad money drives out good

A little bit about the Gresham Law…

The idea behind the Gresham Law is if two forms of money are in circulation at the same time then people will use the bad money and save or hoard the good money, eventually driving the good money to appear less in circulation. An example is gold and fiat currency, gold it’s considered (even today) good money, but how many times did you buy something with gold or receive it?

Gresham Law and Bitcoin

The supply of Bitcoin won’t decrease with the halving but it will slow down the supply, making it somewhat scarcer. This scarcity might drive people to hold on to their Bitcoin rather than spend it.

The combination of hoarding and new Bitcoins entering into circulation might decrease the velocity of Bitcoin (how quickly units are exchanged), causing an increased value. This would make Bitcoin, “the good money,” to disappear from circulation and for Fiat currency, “bad money,” to appear more in circulation.

The same theory can be applied to other cryptocurrencies and Bitcoin. As Bitcoin, the “good money,” is hoarded more blockchain projects will use cryptocurrencies that are considered the “bad money”. It wouldn’t make sense to create DApps that use a crypto that’s high in value, so instead, companies would create their DApps using crypto that has low transaction fees in fiat. This could give way to modern cryptocurrencies like Solana, Algorand, and Avalanche.

Halving Story in the Bitcoin Core Code

Here we have the logic that tells us that the mining reward (subsidy) is halved every 210,000 blocks.

 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)
return 0;

CAmount nSubsidy = 50 * COIN;
// Subsidy is cut in half every 210,000 blocks which will occur approximately every 4 years.
nSubsidy >>= halvings;
return nSubsidy;
}

The 210,000 is defined as a parameter value (nSubsidyHalvingInterval) in the chain params.

class CMainParams : public CChainParams {
public:
CMainParams() {
m_chain_type = ChainType::MAIN;
consensus.signet_blocks = false;
consensus.signet_challenge.clear();
consensus.nSubsidyHalvingInterval = 210000;
...

This is where the maximum supply of Bitcoin can exist, if a bug ever causes the supply to exceed 21 million Bitcoin will go into a fork. The “MoneyRange” line of code is crucial and is referenced throughout the codebase.

// Copyright (c) 2009-2010 Satoshi Nakamoto
// Copyright (c) 2009-2021 The Bitcoin Core developers
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.

#ifndef BITCOIN_CONSENSUS_AMOUNT_H
#define BITCOIN_CONSENSUS_AMOUNT_H

#include <cstdint>

/** Amount in satoshis (Can be negative) */
typedef int64_t CAmount;

/** The amount of satoshis in one BTC. */
static constexpr CAmount COIN = 100000000;

/** No amount larger than this (in satoshi) is valid.
*
* Note that this constant is *not* the total money supply, which in Bitcoin
* currently happens to be less than 21,000,000 BTC for various reasons, but
* rather a sanity check. As this sanity check is used by consensus-critical
* validation code, the exact value of the MAX_MONEY constant is consensus
* critical; in unusual circumstances like a(nother) overflow bug that allowed
* for the creation of coins out of thin air modification could lead to a fork.
* */
static constexpr CAmount MAX_MONEY = 21000000 * COIN;
inline bool MoneyRange(const CAmount& nValue) { return (nValue >= 0 && nValue <= MAX_MONEY); }

#endif // BITCOIN_CONSENSUS_AMOUNT_H

This is where we add the block subsidy (mining reward) with the transaction fee.

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)
return 0;

CAmount nSubsidy = 50 * COIN;
// Subsidy is cut in half every 210,000 blocks which will occur approximately every 4 years.
nSubsidy >>= halvings;
return nSubsidy;
}

Here we stop issuing fees if the accumulated fees exceed 21 million, as defined.

            nFees += txfee;
if (!MoneyRange(nFees)) {
LogPrintf("ERROR: %s: accumulated fee in the block out of range.\n", __func__);
return state.Invalid(BlockValidationResult::BLOCK_CONSENSUS, "bad-txns-accumulated-fee-outofrange");
}

Resources

Swan Bitcoin — Next Bitcoin Halving: April 19th History and What to Know!

Swan Bitcoin — Gresham’s Law

https://www.swanbitcoin.com/greshams-law/

Bitcoin Core Github

Blockworks — Bitcoin Halving BTC Price Implications

https://blockworks.co/news/bitcoin-halving-btc-price-implications

Bitcoin Talk

--

--

Mabel Oza
Coinmonks

Making the financial world more secure, accessible, and transparent.