Remove the limit completely, so ppl could spam more useless transactions. Let's make HDD producers to produce disks with 100500 PETABYTES capacity!
Removing the limit does not imply useless transactions. It simply means the market will decide what is a useless transaction. So long as clients prefer smaller blocks over larger ones, the miners will decide among themselves what a suitable block size is. If it's too high, small-block miners will earn more and blocks will get smaller. If it's too low, large-block miners will earn more and blocks will get larger.
Isn't this what Bitcoin's about? All we need to do is make sure the system cannot be exploited, test it on testnet, and then not need to worry about block sizes ever again.
Appendix:
1. What changes are needed?
A: The "longest chain" code needs to increase the length of shorter blocks and decrease the length of longer ones. Clients also need to set a bandwidth quota so that they download and propagate the best currently-downloaded chain.
2. Couldn't a miner just spam the network with a huge block?
A: No. Like transactions, blocks need "confirmations". If other miners think the block is too big, they will refuse to confirm it and a smaller block will replace it (as they orphan large blocks).
3. Wouldn't blocks be too big?
A: No. Miners will take an unacceptable risk if they mine large blocks, as they are likely to get orphaned. Higher demand and higher transaction fees will make taking that risk more attractive, so block size can scale with usage.
4. Wouldn't miners just mine empty blocks?
A: Eventually, no. This is a concern in the short term, but as soon as transaction fees overtake subsidies empty blocks will no longer be attractive.
5. Wouldn't this allow DOS attacks?
A: Yes. However, DOS attack prevention code can be written to give up downloading a particularly large block if a competing chain is running at not far below network hashrate.
6. Isn't this a hard fork?
A: Done properly, not any more than raising the block limit. The length code only acts as a tiebreaker, which we already have in "first block wins".
I have to say Dree12 is making the most logical sense here.
I agree. If larger blocks start appearing on the network and become part of the longest chain (
i.e., what would be the longest chain if the limit were removed), I will take it as a sign that the major pools have raised or abolished the limit and that bitcoin exchanges, merchants, etc., will follow. I care more about their idea of what a bitcoin is than about what the devs or the average user thinks, or even my own idea of what would be best. I doubt that the major stakeholders will disagree with each other strongly enough to risk a near-even split.
Therefore, I would like the ability to configure my Bitcoin client to ignore the limit. (My client does not generate blocks.) The prospect of my client following the wrong side of a fork because of an oversized block is all risk, no benefit to me. (If the "wrong" side persists due to user sentiment, it will effectively become an alt chain, though some will argue that it is still the true bitcoin.)