1

Something peculiar just happened on the newly mined block number 655534, it contain only the coinbase transaction, nothing else.

I have searched for a similar question but only found this one Why there are blocks with single transaction in blockchain?

But the answer is kind of vague with a " we dont really know "

Here is the concerned block: https://btc.com/000000000000000000028f1ea0a3ccfac982eb53c1bd2d3d20695af87ffacaaf

2

The benefit is the coinbase reward.

Regardless of the number of transactions in a block, a well formed block will always result in the miner earning the coinbase reward. The transaction fees are simply a cherry on top.

Once a new block is found, good miners will immediately switch to mining the next block - for maximum efficiency, you might go ahead and do this even before you've finished fully verifying the previous block.

If you have not yet finished verifying the previous block, you don't know the current state of the utxo dataset. This means you cannot select a list of transactions to include in your new block.

Even after verification is done, most mining pools will require an additional process to update a secondary utxo index that also holds transaction priority data - these pools are used by miners to prioritize otherwise uneconomical transactions, such as low fee transactions paying mining rewards for their pool members.

This whole process of verifying a block, updating their internal systems with a new utxo set, and then building a list of transactions and their merkle tree for their new block can take a few milliseconds (possibly even a few seconds).

There's no point sitting around twiddling your thumbs for that time - miners start mining a block template containing just the coinbase reward while all the above steps are completed. Occasionally, they get really lucky and find a valid block. Since they earn the full coinbase reward, it makes sense to broadcast it, rather than throw it away and attempt to mine another block at the same height containing transactions.

3

Miners aren't forced to include transactions in their blocks even though they're incentivized by fee to do so.

The main cause for empty blocks is spy mining, as there's normally always something in the mempool! I don't see an answer on here containing 'spy mining' so here we go :)

Spy mining is when pools try to minimize time spent hashing an out of date block. A spy miner monitors the work other pools give out to miners (by registering a miner there)

If one of those pools starts working on new work, pointing to a block the spy miner has never seen before, he interprets it as the network has accepted that block and everyone else has moved on.

However, the spy miner hasn't received or validated this block so he doesn't know what transactions were applied, and hence is uncertain about the state of the UTXO set. If he includes a conflicting transaction in his block, his entire block will be rejected. So his safest chance of succeeding is to not add any transactions except the coinbase.

Eventually his software will receive the block, and the pool will include transactions in newly issued work.

This is slightly at odds with the timestamp on the block (30 minutes after the previous one), but it's hard to know.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.