Bitcoin miners have a clear incentive to maximize their returns with every opportunity they get. You’ve sunk capital into equipment that can only do one thing, and you’re spending electricity you can’t get back. So, making sure you get as much bang for your block can be the difference between running a successful miner and shelving your ASIC.
While the Bitcoin block subsidy kicks out a fixed rate for a specific epoch, right now, it’s 3.125. That’s your dependable base, but the growing sprinkles and cherry on top of that Satoshi stacked Sundae are the transaction fees.
Miners scour the mempool, picking out as many high-paying transactions as possible to fit into a block. If successful, they pocket all those fees. Depending on the network’s congestion, fees can range from a few million Satoshis in a block to well over the current block subsidy.
Given the rules of the game, you might think every block on the Bitcoin blockchain would be jam-packed with transactions, but that’s not always the case. Occasionally, miners will mine an empty block with no transactions at all.
These empty haunted houses of a block might seem strange, but it happens for a couple of reasons why they spring up from time to time.
The race for the next block
Bitcoin miners constantly compete to solve the cryptographic puzzle that validates the next block in the chain. The winner gets a block reward in newly minted Bitcoin. Every second counts in this competition, so miners are incentivised to be as fast as possible; if you’re hanging about trying to craft the perfect block, someone else will swoop in and steal your lunch.
This is where empty blocks come into play, as mining pools try to stay ahead of the competition. Mining pools, which combine the computing power of many miners, often send out empty block templates to their miners right after a block is found. These templates contain the essential data needed to start working on the next block, minus the transactions.
By sending an empty template, miners can immediately search for the hash and validate the next block. This saves valuable time compared to waiting for transactions and submitting a full template. Once a miner finds a valid hash, they can add any waiting transactions to the block before broadcasting it to the network.
Sometimes, a miner in that pool might solve the block before transaction templates can be prepared, and the pool is faced with a choice: secure the block subsidy or lose out on the block. Often, miners opt for the definite, albeit slightly smaller, payout from an empty block.
Remember, these miners are in a pool because they are looking to receive a regular income, so the pressure is on to deliver consistent payouts.
Why an empty block could happen?
Some miners believe they gain a speed advantage by not including transactions in the blocks they mine. By hashing only the fixed 80-byte header and avoiding the time it takes to gather and validate new transactions, they can quickly start mining the next block.
Some miners prioritise the rapid submission of blocks over including transactions because the primary incentive for mining is the constant block reward, especially when transaction fees are relatively low.
By quickly submitting an empty block, miners can start working on the next block sooner, potentially increasing their chances of earning another block reward.
Technical limitations and delays
When a miner finds a valid hash for a block, they immediately broadcast this block to the network to claim the mining reward. However, due to propagation delays, the miner might have yet to receive any pending transactions from the mempool (the pool of all unconfirmed transactions) before finding the next block.
Fee manipulation
There is speculation that some miners might intentionally mine empty blocks to drive up transaction fees or combat the rapidly increasing blockchain size. It is up to debate how effective a strategy would be to drive up fees to a point where it’s more profitable versus simply mining full blocks at a steady pace.
Botnets
Botnet miners might mine empty blocks to reduce the load on their victims’ systems. However, these botnets do not have a local copy of the blockchain, which means processing transactions would add an additional computational burden.
Botnets use other people’s hardware and are in a race against time before they are kicked off, so securing any payouts means an empty block is worth it.
Empty blocks still serve a purpose
Even though they lack transactions, empty blocks play a role in the Bitcoin networks’ daily operations.
- Maintaining the Blockchain Schedule: New blocks need to be added to the blockchain at regular intervals (roughly every 10 minutes) to keep the network functioning smoothly. Empty blocks ensure this schedule is maintained, even during periods of high transaction volume or if previous blocks took far longer to solve than the usual time frame.
- Coinbase Reward: Miners still receive the block subsidy for mining an empty block. This payment includes newly minted Bitcoin, which is essential for maintaining Bitcoin’s current inflation rate and providing miners with an additional runway.
- Security: The mining process secures the Bitcoin network. Even empty blocks contribute to this security by adding another layer to the blockchain.
Are empty blocks a solvable problem?
While empty blocks serve a purpose, they are relatively rare. Some argue they’re not ideal and shouldn’t be seen as part of Bitcoin mining quirks, even going as far as to call this a spam attack. Since these blocks don’t process transactions, they don’t serve the core function of the network, which is to transfer value between different users.
To eliminate the incentive for empty block mining, you need to reduce the latency of sending full block templates and allow hashers/miners to begin working on them after adding a new block to the chain.
Stratum V2, a new mining software, aims to solve this issue by separating the block template from the prevhash. This allows mining pools to dig deeper into the mempool (for transactions that are unlikely to be included in the current block) and construct full block templates before the current block is found.
Then, mining pools can send those block templates to miners ahead of time when the latency doesn’t matter, so only the prevhash message needs to be sent to start the new mining round.
The future of empty blocks
As the Bitcoin network matures, the frequency of empty blocks might decrease. Advancements in mining pool communication protocols could eliminate the need for empty templates, while hardware and chip manufacturing improvements can also reduce latency issues.
Additionally, with the block reward halving every four years, the incentive to mine empty blocks for the reward alone will gradually diminish as it becomes costlier to ignore fees as they start to make up a more significant portion of the total block reward.