Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: frha on June 24, 2016, 11:24:29 PM



Title: Why is blocks not 'filled up'?
Post by: frha on June 24, 2016, 11:24:29 PM
I notice that every once in a while, there comes along blocks with lots of space left over even when there are loads of unconfirmed transactions.
Like this one : https://blockchain.info/block/000000000000000004ae1a3b7ac7c7422a779e4ea9eb8e3c14935a80ca51dc17
This block was mined when there was over 6000 unconfirmed transactions.
What's the logic behind not filling up the block? Don't this just delay the whole network and give less transaction-fees to the miner ?


Title: Re: Why is blocks not 'filled up'?
Post by: achow101 on June 25, 2016, 12:07:25 AM
I notice that every once in a while, there comes along blocks with lots of space left over even when there are loads of unconfirmed transactions.
Like this one : https://blockchain.info/block/000000000000000004ae1a3b7ac7c7422a779e4ea9eb8e3c14935a80ca51dc17
This block was mined when there was over 6000 unconfirmed transactions.
What's the logic behind not filling up the block? Don't this just delay the whole network and give less transaction-fees to the miner ?
There isn't really an logic to it. It may simply be that the miner's node is set to a point where many of those unconfirmed transactions are rejected. Additionally, there are many many empty blocks that are mined. IIRC if all blocks had the same number of transactions, there would be no backlog and no blocks would ever be full. One of the easiest ways to increase capacity is to have miners not produce empty blocks.


Title: Re: Why is blocks not 'filled up'?
Post by: Swagtoshi on June 27, 2016, 01:08:27 AM
The transaction fee are relatively small to the reward the miners get for solving a block, so the miners just don't bother about the transactions. It is all caused by greed.


Title: Re: Why is blocks not 'filled up'?
Post by: Decoded on June 28, 2016, 01:52:29 AM
The transaction fee are relatively small to the reward the miners get for solving a block, so the miners just don't bother about the transactions. It is all caused by greed.

Not even close. A miner can choose to base the block they mine on certain transactions from a certain node, some nodes (maybe even the miner's) will purposely reject transactions. It's not logical, it's the choice of the miner.


Title: Re: Why is blocks not 'filled up'?
Post by: JarBinks on June 28, 2016, 03:49:39 AM
The transaction fee are relatively small to the reward the miners get for solving a block, so the miners just don't bother about the transactions. It is all caused by greed.

Not even close. A miner can choose to base the block they mine on certain transactions from a certain node, some nodes (maybe even the miner's) will purposely reject transactions. It's not logical, it's the choice of the miner.

I accept that a miner can determine what is in the block.
But if the miner chooses their transactions and the block is not full, then any remaining space gets filled in with existing waiting transactions, even in descending fee order would be acceptable.
Granted the miners would need to be enticed, or forced, to run that code but, I would think this does not violate too many BTC ground rules and might actually be better in the long run.

Now this is just an idea and I admit my limited knowledge of the bitcoin network is just enough to be dangerous.
I hope and I am not be too naive and I look forward to some reality.


Title: Re: Why is blocks not 'filled up'?
Post by: -ck on July 01, 2016, 01:01:28 PM
Long discussion with plenty of explanations in the mining section:
https://bitcointalk.org/index.php?topic=1085800.0


Title: Re: Why is blocks not 'filled up'?
Post by: Monnt on July 03, 2016, 04:52:52 AM
The transaction fee are relatively small to the reward the miners get for solving a block, so the miners just don't bother about the transactions. It is all caused by greed.

Not even close. A miner can choose to base the block they mine on certain transactions from a certain node, some nodes (maybe even the miner's) will purposely reject transactions. It's not logical, it's the choice of the miner.

I accept that a miner can determine what is in the block.
But if the miner chooses their transactions and the block is not full, then any remaining space gets filled in with existing waiting transactions, even in descending fee order would be acceptable.
Granted the miners would need to be enticed, or forced, to run that code but, I would think this does not violate too many BTC ground rules and might actually be better in the long run.

Now this is just an idea and I admit my limited knowledge of the bitcoin network is just enough to be dangerous.
I hope and I am not be too naive and I look forward to some reality.


Sometimes the mempool is empty besides the 0 sat/byte transactions, or sometimes the sat/byte is so low that the fee the miners get is negligible.


Title: Re: Why is blocks not 'filled up'?
Post by: -ck on July 03, 2016, 06:40:40 AM
Sometimes the mempool is empty besides the 0 sat/byte transactions, or sometimes the sat/byte is so low that the fee the miners get is negligible.
The bitcoin mempool hasn't been empty ever in many years.


Title: Re: Why is blocks not 'filled up'?
Post by: 2c0de on July 06, 2016, 06:07:02 PM
It's simple, the block get mined quickly after another block. For the reason, the block is just getting filed and mined before full.


Title: Re: Why is blocks not 'filled up'?
Post by: -ck on July 07, 2016, 01:19:41 PM
It's simple, the block get mined quickly after another block. For the reason, the block is just getting filed and mined before full.
No, you are wrong. Read the thread link I gave about about empty blocks in the mining section. It's about about optimisations for performance given poorly scalable software solutions running on their pools. There are always enough transactions to fill a block these days.