One of the quirks of bitcoin is that it validates empty blocks of transactions from time to time. Explanation.
Empty Bitcoin Block
In total, no less than 147 empty blocks were mined in 2023. That’s one empty block every 60 hours.
Before explaining the why and how, let’s remember that it is the miners who create the transaction blocks. Each block requires generating approximately 300 zetta-hashes using several hundred million electronic chips (ASICs) powered by several gigawatts of power.
However, miners rarely select the approximately 2,000 transactions per block. The pools take care of this. The latter are cooperatives through which miners smooth their income.
Empty blocks are therefore caused by pools. The Antpool pool has mined more than 44% of these empty blocks. Next come ViaBTC, F2pool and Binance Pool with 14%, 13% and 13% respectively:
To understand where these desert blocks come from, we need to look at what miners actually do when they “chop”.
Blocks essentially contain transactions. However, it is not these that the miners hash, but what we call the block header (“header”).
The header is standardized. It is 80 bytes long and consists of six pieces of information:
Version number / Previous block hash / Merkle tree root hash / 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 it finds blocks every ten minutes on average.
When a miner finds a valid hash, he gets the reward which is currently 6,250 bitcoins per block. The miner also pockets the transaction fees.
Which brings us to our initial question: why deprive yourself of transaction fees by mining empty blocks?
Because there is communication latency between pools and miners. So much so that some pools get tricky and send an empty block of transactions to quickly communicate the hash of the previous block.
The reason being that this hash is the only data absolutely necessary to start hashing. Receiving it before transactions (which take longer to arrive since they weigh much more than the header) offers the possibility of hashing for a few extra seconds. Blocks are sometimes found in this time frame. This results in empty blocks.
By the way, with the communication protocol Stratum V2, the pools only have to communicate the hash of the last block since it is the miners who select the transactions. The hash is sent via a dedicated and optimized 32-byte message.
Only the Demand and Ocean pools are currently committed to using Bitcoin Stratum V2. Here is our article on the subject about Ocean: Jack Dorsey and Luke Dashjr launch the OCEAN pool.
Maximize your Tremplin.io 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.