Bitcoin Forum
November 19, 2024, 02:52:54 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: what is stopping miners from making empty or near empty blocks  (Read 472 times)
BrewMaster (OP)
Legendary
*
Offline Offline

Activity: 2128
Merit: 1293


There is trouble abrewing


View Profile
December 13, 2016, 02:30:04 PM
 #1

i've seen the from time to time there are some blocks that are mined by some of these miners that contain no transaction (well only one coinbase) or just a couple of them. and it understand it is normal, and they benefit more if they include transactions because of the fees.

but what is stopping a miner from setting some rules for the transactions they receive like a very high minimal fee/kb and only create empty blocks? is there any way to prevent this if some day a bad miner decided to do this for any reason?

There is a FOMO brewing...
CoinLearn
Sr. Member
****
Offline Offline

Activity: 329
Merit: 251


View Profile
December 13, 2016, 02:37:05 PM
 #2

This Q has been discussed many times before...

but what is stopping a miner from setting some rules for the transactions they receive like a very high minimal fee/kb and only create empty blocks?
No. There is no network rule to stop miners from doing this.

is there any way to prevent this if some day a bad miner decided to do this for any reason?
They are not economically incentivized to do this. More Tx = More fees. If a pool keep creating blocks without high fee Tx, miners will abandon it and move to another pool for their own benefit.
BrewMaster (OP)
Legendary
*
Offline Offline

Activity: 2128
Merit: 1293


There is trouble abrewing


View Profile
December 13, 2016, 02:41:16 PM
 #3

This Q has been discussed many times before...
sorry i did a quick search but i didn't find this, maybe you could point me to the topic where it was discussed so i can read about it.

Quote
They are not economically incentivized to do this. More Tx = More fees. If a pool keep creating blocks without high fee Tx, miners will abandon it and move to another pool for their own benefit.

yeah, i said this myself already about making more.

but i am thinking about some scenario that maybe a miner for some other reasons (maybe to create a bigger mempool and a bigger fee war) does this.

is there any way to stop it?

There is a FOMO brewing...
achow101
Staff
Legendary
*
Offline Offline

Activity: 3556
Merit: 6891


Just writing some code


View Profile WWW
December 13, 2016, 03:36:06 PM
 #4

but i am thinking about some scenario that maybe a miner for some other reasons (maybe to create a bigger mempool and a bigger fee war) does this.
Mining empty blocks are typically done because the miner has not finished validating the previous block upon which it is building. It has the header, and the header is valid, so it builds on the header. But the miner wants to always have their machines running in order to maximize profit, so they will have the miners trying to find an empty block while they validate the previous block and find which transactions they can include in the next block.

is there any way to stop it?
No.

kevin135
Member
**
Offline Offline

Activity: 147
Merit: 10


View Profile
December 15, 2016, 08:52:40 PM
 #5

Why would they want to? The fees are like free money. It would be stupid to not accept any fees/transactions.

——< Datecoin | The fastest successful match. The hottest ICO ever. >——
ANN | Medium | Twitter Facebook | LinkdedIn | Telegram
DannyHamilton
Legendary
*
Offline Offline

Activity: 3486
Merit: 4851



View Profile
December 15, 2016, 09:54:30 PM
 #6

but i am thinking about some scenario that maybe a miner for some other reasons (maybe to create a bigger mempool and a bigger fee war) does this.

Solving blocks costs quite a bit of money.  You need to purchase the hardware, you need to power the equipment, and you need to keep the equipment cool and maintain it.

If you aren't taking all the revenue that you can, then you will be losing money for each block you attempt to solve.  Meanwhile all those transaction fees that you don't collect get collected by the other miners (which allows them to afford more equipment and more electricity).

As such, failing to include transactions costs you money and increases the hash rate of all the other miners.  As the hash rate increases, the difficulty increases and the "attacker" can't mine as many blocks (since they have an ever smaller percentage of the global hash power).

Since the "attacker" isn't likely to have more hash power than the rest of the entire world combined, blocks with transactions will continue to be solved in the meantime, so the attacker isn't going to be able to stop bitcoin transactions from confirming.

is there any way to stop it?

While the number of confirmed transaction per hour might drop a bit for a short while, eventually the attacker runs out of money or becomes irrelevant due to insufficient hash power.
achow101
Staff
Legendary
*
Offline Offline

Activity: 3556
Merit: 6891


Just writing some code


View Profile WWW
December 15, 2016, 11:05:18 PM
 #7

Why would they want to? The fees are like free money. It would be stupid to not accept any fees/transactions.
In the time that it takes miners to verify all the transactions in the previous block and figure out which ones they can include in the next block, someone else could, in theory, find a block and claim the block subsidy (which is much larger than any fees right now). Therefore the miners will mine empty blocks while validating the previous block in order to maximize their odds of making any money at all. It would be stupid to let hardware sit idle while they could actually be doing work that would earn the miner some money.

Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!