Mining Science | Why do miners pack empty blocks?

Mining Science | Why do miners pack empty blocks?

"Zhikuang University Q&A" is in the form of questions and answers, inviting senior industry practitioners to answer users' questions related to mining.

Question from @地盘小王子:

Packing transactions earns fees, so why would miners pack empty blocks? Some people say that miners who pack empty blocks are bad miners who cause congestion in the Bitcoin network. Is this true?

Answer from Zhikuang University editor @OWEN:

Empty blocks in Bitcoin refer to blocks that only contain the coin creation transaction. As introduced in the article "If Blockchain Could Talk", there are about 90,000 empty blocks to date, accounting for about 14% of the current number of blocks. Many of these empty blocks were generated in the early days of Bitcoin, when there were very few Bitcoin users and almost no transactions on the chain, so miners could only pack empty blocks.

Later, as the number of transactions on the Bitcoin chain increased, the memory pool was always waiting for transactions to be packaged by miners. In this case, why did miners still package empty blocks? @地盘小王子 asked a question about this situation, and the following answer is also for this situation.

01 Conspiracy Theory

First of all, it is a complete conspiracy theory that miners who pack empty blocks are bad miners who create congestion in the Bitcoin network .

Assuming that there is an attacker who causes congestion in the Bitcoin network by packaging empty blocks, this attack is very inefficient and requires a lot of cost.

Currently, the total computing power of the Bitcoin network exceeds 100E, and miners on the entire network mine about 144 blocks every day (24 hours), and the upper limit of transactions packaged in each block is about 4,000. Assuming that malicious miners want to control 10% of the computing power to carry out an "empty block attack", they need to control more than 10E computing power. Such a large computing power scale, whether it is achieved by renting computing power or buying mining machines, is a very huge cost expenditure.

Refer to crypto51's real-time (June 17) data to calculate the cost of launching an attack. Crypto51 gives the hourly cost of a 51% attack on Bitcoin. We assume 10% of the computing power, which is one-fifth of the attack cost, and it costs about ¥530,000 per hour. Of course, this kind of attack can still get block rewards.

▲https://www.crypto51.app/?ref=block123

Now let’s talk about the destructive effect of “empty block attack” on the Bitcoin network.

Empty block attacks are unlikely to cause substantial damage to Bitcoin, and the end result will be self-defeating and self-defeating .

Assuming that the Bitcoin network is already very congested, using 10% of the computing power to carry out an "empty block attack" is equivalent to the block size being "reduced" by 10% by malicious miners. The actual effect is that the upper limit of the number of transactions that can be packaged in each block is "reduced" by 10%. If the Bitcoin network is too congested, it will in turn reduce people's demand for on-chain transactions, and the network will become less congested. In this way, the effect of the "empty block attack" will be difficult to have a sustained effect.

In summary, the "empty block attack" requires a high cost and is difficult to sustain in terms of attack effect. The statement that packing empty blocks is a "empty block attack" initiated by miners is a conspiracy theory by those who do not know the truth .

What is the truth behind miners packing empty blocks?

02 The Truth

Mining is a competition of speed. It is not only about who finds the solution that meets the system requirements first, but also about broadcasting the found solution as soon as possible. Speed ​​is a constant concern for miners .

A block consists of two parts, the block header and the block body. When the Bitcoin client broadcasts a block, it broadcasts the block header and the block body separately. The block header contains six parts: version number, parent block header hash value, timestamp, Merkle tree root hash value, difficulty target, random number, etc. Its size is only 80 bytes. Transaction information is packaged in the block body. A fully loaded block size is 1M, which is 12,500 times the size of the block header.

The more information there is, the longer the propagation delay is. The size difference between the block header and the block body causes other miners to receive the new block header data first, and then receive the block body data after a period of time (usually within 10 seconds).

The period between receiving the block header data and receiving the block body data also has costs for miners, and the mining machines are still running.

In order to make full use of this period of time for mining, miners cannot add transactions to the block, which means that miners can only try to mine empty blocks . This is because miners have not received the transaction data packaged by the parent block and do not know which transactions are packaged in the parent block. If miners add transactions to the block, they may repackage transactions that have been packaged by the parent block, which will cause the block data to be illegal, and all previous efforts have become useless. In order to avoid this situation, during this period, it is wise for miners not to package transactions and mine empty blocks. If a new block happens to be mined during this period, the mined block will be an empty block.

A rough calculation shows that when the pending transaction memory pool is not empty (since the second halving), there are about 0.75% empty blocks among the more than 210,000 blocks. In addition, the time interval between the generation time of these empty blocks and their parent blocks is within tens of seconds, which well confirms the explanation of information delay we gave earlier .

03 Conclusion

Miners pack empty blocks for economic reasons, which is the wisest choice for miners. In order to make full use of this period of time for mining and avoid conflicts with transactions packed in the parent block, miners cannot fill transactions into the block, which means that miners can only try to mine empty blocks . Packing empty blocks is a typical conspiracy theory for malicious miners to launch an "empty block attack" on Bitcoin.

Link to this article: https://www.8btc.com/media/610709
Please indicate the source of the article when reprinting

<<:  Changpeng Zhao hints that Binance has strong Chinese government connections and will “fight back defensively”

>>:  Interpreting the evolution of miners’ Bitcoin pricing power after halving from the perspective of mining economics

Recommend

Will ear piercing ruin your appearance? How to fix ear piercing?

Big earlobes are a sign of a person's good fo...

People with round chins are sentimental and popular.

In fortune-telling, generally speaking, people wi...

Four types of moles that can bring good luck

1. Mole on the top of the head In physiognomy, if...

How to tell a person's personality from the way he holds a wine glass

(1) When drinking, place the glass flat on the pa...

What are the characteristics of a poor woman? How to identify

Being poor is a situation that a person will do e...

What kind of eye shape is likely to become famous at a young age?

When it comes to becoming famous, it is actually ...

What does Taiyin entering the marriage palace represent?

Taiyin is the star of wisdom and is also one of t...

Poloniex properly separates ETC and ETH to offset replay attacks

There are a lot of questions that need to be answ...

What kind of couples can't last long?

Everyone wants to find someone who is right for t...

How does the Ethereum merger affect the graphics card and blockchain industries?

introduction This article is a meeting record of ...

What does a mole on the upper side of the spine mean?

Different moles in different positions have differ...