Another fun stat is that 11% of ALL bitcoin blocks, do not have any TXs inside, expect the coinbase.
Miners have 1 job, ordering TXs in Blocks. They hash all the data inside the block until the hash of the block starts with a certain number of zeros. As the block data does not change, there is this field(nonce), where they iterate until the right block is found.
So the only condition for miners to get paid, is they find the right hash and the block must be valid :p But if they include TXs in this block, they will pocket the fees from them on top of the block reward. So why would any (rational) miner ever refuse to include TXs?
A pool constructs a block and partitions the amount of work/searching each individual miner does. This way, smaller miners can be profitable. But the pool sends the block + the hash of the previous block at the same time. The previous hash is required so the miner knows what to build on top of.
Right after a block is found, the miner will send the nonce to the pool, and now he waits to get a new block. Remember miners don't turn off their machines. So while waiting for the next block from the pool, might as well mine mine something. But he has no TXs to include, however, they do have the previous hash(that the block they just found).
Mining is a purely satistical game, the more hashrate you have the more lucky you are. Sometimes, in that small time window when waiting for the new block, a miner will find a block. The reason for empty blocks is the latency of communication between pools and miners.
These are rational miners acting in their economic interest. That being said, it would be better for them to get more BTC fees + people get their TXs confirmed.
One solution for this problem is StratumV2 Remember how the pools sent the block and previous hash to miners?
In StratumV2 the 2 are separated. So the mining pool can look in their mempool for TXs that did not make it in the current block and send these block templates ahead of time to the miner. This way if they find a block, they work on these ones straight away with no latency!
This just further proves why Bitcoin is so far behind other block chains.
reply