In the early days of the crypto market where the networks of cryptocurrencies such as Bitcoin remained in their infancy, there were plenty of bugs and technical vulnerabilities. At the time, certain manufacturers took advantage of the algorithmic flaws and produced “block-snatching” mining machines, which can obtain block rewards from the network through the rapid generation of the next block, without recording any transactions. These fast-mined blocks that contain zero transaction information are what we call empty blocks.
As we all know, in crypto mining, which is essentially a process of computation and packaging, the first miner who obtains the hash value needed by the network is allowed to update the block. This miner then needs to package the trade information broadcast by users into the block and puts it on the blockchain to be passed along. In this process, the miner can also profit from considerable service fees for packaging the transactions.
If the winning miners did not package the trade information into the block, the block becomes an empty block. No trade information is packaged into empty blocks as they are only used for block rewards. Therefore, the corresponding miner fee/gas fee reward will not be available to the miner.
Although empty blocks contain no trade information, they do include a transaction in which the block rewards are distributed to the miner that is known as a coinbase transaction. In addition to the coinbase transaction, a regular block contains hundreds of other transactions, which generates an ETH profit in the form of transaction fees. At its height, the transaction fee of a single block stood at 1 ETH, which is nearly half the value of block rewards.
In blockchain networks such as the BTC network, apart from the regular blocks, there are also empty blocks. The empty rate is an indicator that reflects the ratio of empty blocks to normal blocks in a blockchain network. For example, in the Ethereum network, the empty rate normally stands at about 5%. Let’s take a look at the current figures on Ethereum.
According to the above data, the empty rate of most ETH mining pools is less than 5%, and only NanoPool and an individual miner address exceeded the normal level.
Given that miners can profit from transaction fees by packaging a transaction and that empty blocks make blockchain networks more congested, why do miners keep on mining empty blocks?
As the underlying technologies of blockchain networks become increasingly advanced, there is not much difference between the workload involved in mining an empty block and that needed for packaging all the trade information into a block until it reaches maximum capacity. The real cause of empty blocks lies in the broadcasting of blocks at the protocol layer.
For instance, in the BTC network, it takes time to transmit the blocks. To be more specific, when block N (a new block) is being broadcast, all the mining pools will engage in its validation. If no problem is found, another new block (block N+1) will be added to the network based on block N. Let us assume that it takes 6 seconds to complete the transmission of a 1-MB block, involving block validation and information packaging. During this time, the huge hashing power of the mining pool is suspended, which is a colossal waste considering that every microsecond counts in the fierce competition among major mining pools.
Normally, during the time spent on block transmission, miners will try to find the next block. More specifically, once they discover that a new block is being broadcast, miners may choose to carry out the simplest validation only without receiving the complete data of block N. Doing so allows miners to start computing for the next block right after they obtain the hash value of block N.
In this way, the time spent on block validation and information packaging is saved. Moreover, for the mining pool, there is a 1% chance (transmission time 6s/block interval 600s) that another block (N+1) will be mined while block N is being transmitted.
Although such a scenario is very unlikely, if it happens, miners will face a dilemma: During the transmission of block N, a miner has no idea as to which transactions are being packaged by his peers. At the same time, though there are plenty of transactions waiting for him to package, the miner cannot check which ones are already included in block N. As such, if the miner were to package transactions into block N+1, it may conflict with block N as it would be likely for him to package block N’s transactions into block N+1. Therefore, he can only choose to package no transaction at all when mining block N+1.
From this perspective, the generation of all the empty blocks in blockchain networks can also be regarded as a form of competition among miners.