Problem discussed in this thread:
https://bitcointalksearch.org/topic/blocks-are-not-full-whats-the-plan-339505Miners create 250KB or less blocks because they broadcast faster and they have less chances of been orphaned, they include few transactions in them
Here it comes my idea about this issue:Miners include few transactions in blocks because more transactions equals more probability of orphaned block so lets equal all blocks:
Miners should craft a block normally, so lets imagine they generate a 250KB block. Before they send it to other node they have to concatenate junk bytes (random (?)) to the block data, so all blocks are 1MB.
When a node sees this block, they broadcast it and when they finish they delete this junk bytes and they only the block.
The junk data never gets into the blockchainPros:
- All blocks "are" 1MB in terms of relaying them.
- We avoid other more tecnical mecanisms
Cons:
- Bitcoin QT needs some bandwith more because now all blocks are 1MB.
If one day we need to rise the 1MB block limit this process will be the same but all blocks will require to be 10MB (for example). We only need to concatenate junk to them.
How to perform this hard fork?Bitcoin core developers can release an update that includes this fix but only enforcing it when the blockchain reaches the block 277000 (30 days later) so we give some time for people and miners to update their software.