Why Do Some Bitcoin Mining Pools Mine Empty Blocks?
Blocks on the Bitcoin blockchain have a maximum size of 1 MB. Proof of work difficulty is calibrated so 1 block is created every 10 minutes. It is generally accepted a miner would want to maximise the number of transactions it includes in a block as it collects the transaction fees. Logically, with the growing popularity of Bitcoin, the average block size is getting closer to its limit.
In this environment, it is surprising to see a number of empty blocks being mined. An empty block is not entirely empty, it has 1 transaction : the coinbase transaction which allocates the mining reward to the miner (12.5 bitcoins at the time of writing). It is important to know, that empty blocks are not easier, cheaper or quicker to mine than full blocks. The ratio of empty blocks varies considerably from one mining pool to the other. For instance, Bitfury, BitClub Network and Kano CKPool do not mine empty blocks.
Why are there empty blocks?
When a mining pool receives a new block from a competitor, it needs to perform a few actions: download the full block, validate its transactions and define a new block to mine on. During this – albeit short -interval, so as not to waste hashing power, they start mining a new block. Only the coinbase transaction is included, so the previous block does not invalidate theirs with a duplicate transaction.
This post was published at Bitcoin Magazine on Pascal Gauthier Jul 12, 2016.