I understand the "orphan attack on a node", but please explain why "sometimes bitcoin just have to create 1tx blocks even when there are lots of TXes" ? Right after startup?
Right after receiving a new block.
i always wondered why that happened, thanks for explaining.
I pondered a few days over the MM issue and came with the conclusion that we will have to make bitcoin client "smarter", like the people that use it, to avoid issues like this. The easier way to try solving empty blocks issue would be:
- track source ip of incoming txs in memory
- client wouldn't accept only blocks from other peers, while working normally (not downloading blockchain), should have at least a few txs from that peer in memory
- blocks should contain at least one incoming transaction from that peer
Empty blocks are like blank pages in a book but they come with a prize for the miner even when not writing anything on it. I know sometimes even big pools can come up with a <1 sec empty block (freebie) so it will be the miners election if they want a better network quality (no empty blocks) or situations like this in the future.
TL;DR Miners will have to decide over the MM issue with their hashing power.