Mining empty blocks
Empty Bitcoin blocks are often included in the blockchain by large mining pools. By June 2015, ~24% of blocks were empty, and by July 2017, >87,000 empty blocks were included in the blockchain. Historically, Antpool, F2Pool, and BWPool have been the worst perpetrators, but more recently, BTC.com and most other large mining pools have also engaged in mining empty blocks (Fig. 1). Without sufficient understanding of how mining pools operate, this behavior would appear to be self-defeating — as these miners are intentionally forgoing potential transaction fees by not including any transactions in the block.
Figure 1: Percentages of empty blocks (only containing coinbase transaction) mined by largest Bitcoin mining pools
When a mining pool finds a new block, it will often propagate the block header to its private network of hashers, before broadcasting the full block to the rest of the network. Doing so allows the pool to gain a headstart over other miners at hashing the next block. This means that the rest of the network will essentially be wasting time and energy on hashing an outdated chain, which incentivizes delaying broadcasting of blocks to the rest of the network. Bitcoin mining is a game of milliseconds.
However, other miners know this to be the case and may inject their own spy hashers into competitors' pools. These spy hashers then forward the competitor's delayed block header to their own pool, which may then use it to start SPV (validationless) mining. However, because the spy mining pool only has access to the block header, its hashers don't know which transactions were included in the full block. And, if they include any of the same transactions in the new block they're hashing on, it will be invalidated once their competitor broadcasts the original full block. To avoid this risk, the spy mining pool may choose to work on an empty block, e.g. there can't be any double spends if there's no transactions included.
Once the delayed full block is added to the blockchain proper, then spy mining pools will typically cease hashing on the empty block and begin hashing normally on a new block full of transactions. But if a correct solution to the empty block is found prior to this, then the spy mining pool will push it to the blockchain in order to claim the single coinbase transaction within. Depending on the going rate of mining fees, this forfeiture of fees may be economical for a spy mining pool if it saves them enough time and energy otherwise wasted on hashing old blocks.
Is this bad?
Really, the entire purpose of mining is including transactions in the blockchain — if its blocks contains no transactions, there's no point in securing it! Thus, collecting coinbase rewards for otherwise empty blocks is definitely counter-productive for the larger network. But it's not exactly a major attack on the network either: likely ranking slightly worse than spam attacks. Bitcoin is a decentralized consensus network and is necessarily secured by incentivizing selfish behavior among its competing constituents. So yes, these miners are acting selfishly, as expected. Unfortunately, in this case it's to the detriment of the network as a whole (creating blockchain bloat) instead of to it's benefit, as intended.
In the past, mining empty blocks was disincentivized by various protocol improvements in block propagation and validation times. However, likely owing to the recent clearing of the mempool and resulting extremely cheap mining fees, the practice appears to once again have become profitable. In the long run, as coinbase rewards decrease and are replaced with rising transaction fees, this bad behavior will cease to be profitable and should cease altogether — even in the absence of new protocol updates designed to discourage such. Thus, empty blocks in the blockchain should be nothing more than a mild annoyance over the course of Bitcoin development.
To even the most knowledgeable participants in this grand experiment called Bitcoin, it may often seem counter-intuitive to simply turn a blind eye to such unethical, selfish (despicable?) behavior without at least attempting to curb it by some external force: ethics, regulation, penalty, violence, etc. Shouldn't spy miners be ashamed of such bad behavior and be punished for engaging in it to the detriment of the greater network?! Perhaps. But...
If history has taught us anything, it's that systems that attempt to maintain order by regulating and punishing undesirable behavior are fatally flawed. Not only are such countermeasures largely futile but actually counterproductive in decreasing corruption and criminality. Ironically, rather than discouraging bad actors, such systems of control only further entrench and strengthen bad actors as they are incentivized to climb to the highest ranks of authority. Instead of combating the chaos, corruption, and criminality present in such authoritative systems, these so-called illegalities simply become institutionalized within the highest levels of authority.
Hyperbole? Sadly, no. One need only take an honest look at the most authoritative organizations in society:
- wholesale involvement of the banking industry in theft and money laundering
- inbred predisposition of national law enforcement to systemic criminality, racism, sexism, and murder
- insatiable appetite of most powerful 'free' and democratic nations for global oppression and warfare
- predilection of major organized religions to all manner of abhorrence and evil
- et al...
Pure acts of selfishness
Clearly, imposing artificial altruism on inherently selfish entities, under the threat of authoritative punishment, is a fatally flawed paradigm. In direct defiance of this horribly broken (though nonetheless ubiquitous) paradigm, one of the fundamental principles underlying the Bitcoin protocol is the purposeful harnessing of the predictably selfish behavior of individuals. By acting in their own self interest, and competing against other selfish parties, participants actively help secure and maintain the order and functionality of the greater network. The underlying principle is similar to that of truly free markets in which global, reliable valuations emerge from many individual acts of selfish traders in competition, and is succinctly outlined in Agorist philosophy.
We can't reliably force selfish people to act altruistically; but we can construct reward systems for them to act in their own best interest! This is really just parenting 101 (or it should be at any rate). But, carefully crafting such a system of interwoven incentives for various levels of participation in such a complex and monolithic system as Bitcoin is an ongoing process.
Bitcoin wasn't built (nor balanced) in a day. Empty blocks are just one artifact of the ongoing balancing of incentives within the first truly global decentralized consensus network — which is, itself, just a stepping stone towards achieving Agora, a much freer organization of global society, via profitable civil disobedience and counter-economics.
Feature image source: Scene from Animal Farm cartoon