Though I'm not ready to run it, I'm actually intrigued by Bitcoin Unlimited's approach of letting the miners vote on the size of the blocks.
There are essentially 3 approaches:
1) put in a hard limit (like in bitcoin), and do a hard fork every so many years. We see that that doesn't work, and is not a reliable system. It goes against the very idea of a decentralized crypto currency where people "know the rules" (essentially immutability).
2) put in an *automatic* algorithm that determines fees and/or dynamic block size as a function of recent past chain usage --> this is very gameable if there is no tail emission. Essentially, you try to make a deterministic price algorithm for a market.
3) don't put in any limit in the protocol itself, and let the miners themselves pick the block sizes they want to use themselves, and they want to accept --> this is game-theoretically usually divergent towards infinitely large blocks if the miners are decentralized and truly competing, or towards very small blocks if they can cartelize.
You can understand these terms if you consider "block space" as equivalent to "number of coins", and "fees" as "market price of a coin". If you consider block room a scarce quantity, and the market price of that scarce quantity, the fee, then these 3 paths are the analogy of:
1) decide by hard forks how many coins are in circulation. Here it is more obvious why that's problematic !
2) put an automatic coin emission system in place that will emit coins as a function of past coin usage.
3) let users decide how many coins they create.
Obviously, 1 and 3 are not going to work. Our only hope is to find an algorithm like in 2.
But the problem is that without tail emission, which would give a "reference point of block reward" that would be able to satisfy many miners, if the full miner rewards are determined by a very volatile fee market, games can be played by big miners, like spamming, that would game the algorithm. The principal problem is that the "cost of spamming" goes into the pocket of the miners. So while non-miners would be refrained from spamming because of the cost of it, for miners, this cost is non-existent because they are also on the receiving side of this. As miners also decide what goes on the block, they could make the algorithm think that there's not much activity by NOT including many transactions into the block chain, having the algorithm reduce significantly the block size, and creating artificial scarcity. By spamming with low fees, they could make the algorithm think that "the fees are too low" if ever there's such a part in it, and have the algorithm decrease the block size to increase fees.
As miners are the entities deciding WHAT goes into the blocks (more or less real user transactions, more or less spam transactions), they entirely determine the INPUT to any dynamic algorithm, and hence, they determine essentially, knowing the algorithm, what will be the block size and hence the fees, which they can optimize to whatever the market will bear.
It is only if miners have also a FIXED income (tail emission) that they will refrain from playing these games, which will affect market value in the long term, and will try to serve the coin for best market value (which would come down to having the system work optimally). If they ENTIRELY depend on the fees where they have a lever arm, it is obvious that miners will chose, say, 10 times higher fees, even if this crashes the market price by, say, a factor of 5: they won a factor of 2 in real income, but the system is highly under performing.
Since the miners benefit from transaction fees, doesn't this effectively give them (collective) control over the supply of block space? They will increase supply when the fee market is too small, to increase their customer base.
That's the case with tail emission. But if fees are dominant, they will optimize the PRODUCT of fees and market price, which may very well contain a high fee factor and a low market price.
That's essentially the crux of it.