Bitcoin - Why are there so many empty transaction blocks?
One of the peculiarities of Bitcoin is the occasional validation of empty blocks with no transactions. Explanation.
Empty Bitcoin Block
In 2023 alone, no fewer than 147 empty blocks were mined. That’s one empty block every 60 hours.
Before explaining why and how, let’s remember that miners are the ones who create transaction blocks. Each block requires generating approximately 300 zetta-hashes with the help of several hundred million electronic chips (ASIC) powered by several gigawatts of energy.
However, miners rarely select the roughly 2,000 transactions per block. This task is handled by pools. Pools are cooperatives that help miners even out their earnings.
Empty blocks are thus the responsibility of the pools. The pool Antpool has mined more than 44% of these empty blocks. They are followed by ViaBTC, F2pool, and Binance Pool with 14%, 13%, and 13% respectively:
To understand where these desert-like blocks come from, we need to look at what miners are actually doing when they “hash.”
Blocks primarily contain transactions. However, miners don’t hash the transactions, but what is known as the block’s header.
The header is standardized. It is 80 bytes and consists of six pieces of information:
Version Number / Hash of the Previous Block / Hash of the Merkle Tree Root / Time Stamp / Target Hash Value / Nonce
Miners use the SHA-256 algorithm to hash this information. The nonce (number used once) is a number that varies to generate different hashes.
A hash is a number that is valid when it is smaller than the “target value” that the network adjusts every two weeks to ensure that blocks are found on average every ten minutes.
When a miner finds a valid hash, they receive a reward, which is currently 6.250 bitcoins per block. The miner also pockets the transaction fees.
This brings us to our original question: why forego transaction fees by mining empty blocks?
Because there is a communication latency between pools and miners. Some pools therefore resort to sending an empty block of transactions to communicate the previous block’s hash quickly.
The reason being that this hash is the only absolutely necessary data to begin hashing. Receiving it before the transactions (which take longer to arrive as they are significantly heavier than the header) offers the opportunity to hash for a few extra seconds. Blocks are sometimes found in this time frame. The result is empty blocks.
By the way, with the communication protocol Stratum V2, pools only need to communicate the last block’s hash since it’s the miners who select the transactions. The hash is sent via a dedicated and optimized 32-byte message.
Currently, only the pools Demand and Ocean have committed to using Bitcoin Stratum V2. Here is our article on the topic regarding Ocean: Jack Dorsey and Luke Dashjr launch the OCEAN pool.
Maximize your Cointribune experience with our "Read to Earn" program! For every article you read, earn points and access exclusive rewards. Sign up now and start earning benefits.
Bitcoin, geopolitical, economic and energy journalist.
The views, thoughts, and opinions expressed in this article belong solely to the author, and should not be taken as investment advice. Do your own research before taking any investment decisions.