Mining crypto is all about the money so why would miners leave transaction fee rewards on the table?
The number of mined empty blocks has been increasing on the Ethereum blockchain at a steep rate – a 637% increase since September, according to DecryptMedia.
There has also been a rise recently in “empties” produced by the Bitmain-controlled Antpool bitcoin mining pool. Twelve empty blocks were produced by Antpool on 5 October, and this is happening on a fairly regular basis.
Some mining pools are accused, alternately, of either deliberately mining empty blocks to increase fees or as being part of an attack on bitcoin in the case of Bitmain’s Antpool. The sums involved are minuscule compared to Bitmain’s profit of $1.1 billion for the first quarter of 2018 alone.
The answer could be a lot simpler – some miners are tempted by the possibility of being paid for doing nothing, or very little.
When a miner finds a block they create the first transaction known as the coinbase, the reward for which is the lion’s share of the total miner reward available. The rest of the revenue comes from the transaction fees.
Crucially, a block is only required to have the coinbase transaction present created by the miner for it to be valid, so in a world where the code is law, blocks can be mined that don’t contain any transaction data.
So what is going on and should investors be worried?
Being crypto, underhand motives are quickly ascribed, but as we shall see there are other explanations.
These accusations against miners are not new and were prevalent on bitcoin in 2015-16 – but the extent of the issue, especially on the Ethereum network, is new.
Research from CoinFi regarding Ethereum shows that the number of empty blocks mined jumped to nearly 3% of total blocks mined in mid-September from typically less than 0.5%.
A handful of miners are responsible for the empty blocks, with F2Pool and EtherDig attracting most scrutiny for their mining activities.
We went over to the Etherscan.io block explorer to see if F2Pool was still at it. Not to the extent of EtherDig but It is. Here’s the explorer screenshot for an empty block mined today, at height 6471202. There are many more:
F2Pool has 13.4% share of Ethereum mining (see pie chart below).
EtherDig is smaller but the sums involved are still large.
According to Etherscan, 1,695 blocks have been mined by EtherDig and since 75 days ago they have all contained no validated transactions.
Put that another way, EtherDig is being paid for doing no transaction verification work.
EtherDig is estimated to have earned $836,250 (3,750 ETH) from mining 1,250 empty blocks. Instead of verified transactions, the blocks contain the words “Interim Game Authority” in ascii text, thought to be a reference to computer game Colony.
In what world can it possibly make sense for miners to not bother about collecting transaction fees?
Before we get to that there have been accusations (as ever) thrown at Bitmain and its Antpool mining pool (it also controls BTC.com) on the bitcoin blockchain, where keen block explorers have noticed it has been mining empty blocks.
Good reasons for empty blocks
There are perfectly legitimate reasons why an empty block might be created. Chief among these is the imperative to find and mine the next block as quickly as possible.
For example last year Bitmain’s Jihan Wu explained why six empty blocks were produced by Antpool as being down to problems with mining equipment following the introduction of Segregated Witness.
Here’s Wu’s tweet on 26 August 2017:
BCC/BTC mining together caused lots of error in the mining pools and empty block is a fall back security measure. It is solved now.
— Jihan Wu (@JihanWu) August 25, 2017
The day before Wu’s tweet unconfirmed transactions on the bitcoin network rose to 90,000, with the mempool of pending transaction swelling in size to 100MB.
Bitmain’s detractors say those two things were linked – the Chinese miner and ASIC manufacturer was “attacking” bitcoin to favour Bitcoin Cash.
Why it can make sense to skip the tx fees
Miners may start a block by getting the hash from the last block before there are any transactions to gather, perhaps due to interruptions to block propagation across the full nodes.
Importantly, miners, for a variety of reasons, may start a new block without having downloaded and verified the previous block in the chain. Choosing not to include transactions means there is no chance of a double-spending conflict that would invalidate the block.
Chinese miners, for example, have to contend with the Great Firewall of China which can slowdown connections, so miners are encouraged into “header mining”, where all that is mined is the header from the previous block in the chain.
This approach to mining is known as “SPV mining” or “Spy mining”. Empty blocks are, as you would expect, quicker to mine – 13.2 secs as against 14.6 secs for normal blocks, averaged over the past three months, according to chief data scientist at CoinFi Alex Svanevik.
Essentially, then, miners sometimes adopt an “in a hurry” policy which means that sometimes blocks end up empty in the rush to start the next block.
If the height of the blockchain – and the speed at which blocks can be added – can be taken as a sign of its health of a chain in terms of profitability to miners as well as network resource usage, it could also be added that another block, albeit empty, also still helps to bolster the security of all transactions that came before it.
Bad reasons for empty blocks
So those are some of the legitimate reasons why empty blocks exist but it doesn’t explain why some mining pools choose to produce nothing but empty blocks, as with EtherDig.
Ethereum pools mining empty blocks could be accused of leeching off the system. They are leaving it to others to do the hard work of block validation while they build empty blocks on top, and take the money.
If more miners decide to follow suit in coming weeks that could impact network performance say critics of F2Pool and EtherDig.
However, as yet there is no indication that the mempool of pending transactions is growing in step with the growth in empty blocks. Additionally, there is no evidence to support the charge that empty blocks are hurting network performance on Ethereum. Blocks per day is trundling along at around 6,000 as seen below:
“It’ll definitely be interesting to see how this plays out over the next weeks, and what impact these empty blocks will have on the Ethereum ecosystem,” Svanevik observes.
F2Pool has past form with empty blocks. SPV – or “less-then-full-node-verification” – mining skips verification and was around back in 2015 when the implementation of BIP66 forced blocks to be mined with version 3 and above.
SPV stands for simple payment verification and is a mechanism in the bitcoin protocol to check that transactions are present in a block without validating them and is used by “lightweight clients” such as mobile wallets.
Some version 2 blocks were mined by pools grabbing headers – or to be precise just the hash – of the last block and, without validating it, building on top. Instead of being rejected the invalid blocks were accepted forcing two forks.
F2Pool was the chief culprit with four invalid blocks of the six, in the July 4 2015 fork in bitcoin protocol (there was also 5 July fork). Here’s one of the invalid hashes:
0000000000000000155f2519d35cd5d2869900bcc5093594b27763a0315390b4 mined by F2Pool (0 non-coinbase transactions)
Neither F2Pool or EtherDig is yet to publicly respond to criticisms of their Ethereum mining policies.
Bitmain is currently conducting an initial public offering (IPO) of its shares on the Hong Kong stock exchange. As the largest bitcoin miner and Wu a vocal supporter of Bitcoin Cash, the price of the crypto asset saw a price bump in late September in response to the Bitmain’s IPO announcement.
War by proxy
The different views on the empty blocks furore often break down into versions of the Charlie Lee v Roger Ver show, proxies for the scaling wars between advocates for bitcoin with its 1MB blocks – effectively double that with SegWit which is now being used on more than half of the network (53%) – and Bitcoin cash with 32MB.
Pointing to plots by Chinese miners to deepen centralisation in order to kill BTC and elevate BCH has a contemporary feel to it given the ongoing trade war between the US and China, but feels wide of the mark.
The direct commercial interest of all miners, Chinese included, in the immediate and long-term success of the bitcoin chain, given its still unassailable market position, puts to rest the conspiracy theories, but you will find many on reddit who will tell you otherwise.
With Ethereum the picture is less clear, as ecosystem members and investors look ahead to see if the empty block problems is a storm in a tea cup or something to worry about.
Mining economics has certainly required miners to adjust to bear market conditions with regular sales of bitcoin reward earnings instead of trying to time sales into the market.
It looks like some mining pools are choosing to maximise profits by grabbing as many blocks as possible any way they can, perversely by turning their back on transaction fees, even if that means negating the point of the process.