I like the idea of adaptive blocksizes.
I also favor the idea that capacity should always outpace demand, so I think the increases have to be substantially greater than this. I think Ethereum does it in a smart way. If I am correct, it is something like 20% more than a moving average of actual capacity used. This ensures blocks keep getting bigger as needed.
How do you differentiate real demand from spam demand?
If someone like Ver decides to dump millions of dollars worth of spam transactions in order to make the blockchain huge, how do you stop this? since if it's automated, the blockchain will just adapt to this demand (even if its fake) centralizing the nodes as a result.
I just don't see how flexible blocksize schemes aren't exploitable.
Well, i think the flexibility goes both ways -- blocks can get smaller again if the space isn't being used. That's the beauty of flexible blocks.
If someone wants to use the blockchain, and pay for it (spend millions), whether or not the transactions were useful to anyone else is kind of irrelevant. One man's spam is another man's legit use. But if they pay the fees and the miners agree to it, I think its ok and we shouldn't be trying to constrict the blocksizes because of it. Better to get a little bit of bloat and make the spammers pay for all that volume than to constantly punish everyone else with high fees and restricted capacity.
" One man's spam is another man's legit use. "
But who is benefiting other than the guy spamming the network at the expense of everyone else getting their nodes bloated with insane amount of data?
The users are benefitting by getting fast confirmations and low fees since the blocks aren't full.
The network would grow so much and nodes would end up a nightmare to run.
For example downloading the Ethereum blockchain from scratch is hell because there are some blocks filled with spam due an attack. You have to bypass those points or its pretty much impossible to download.
With this, you are only damaging the network long term because people will not bother with downloading the blockchain.
You have a point that blockchain bloat can be an issue. That was originally the reason why Satoshi put the 1mb limit in place. However, when he did so, blocks were about 1 kilobyte. I agree it might make sense to have some limit so the bloat can't go ballistic, but I don't see what's wrong with flexible limits. If you use something like , lets say, a 30 day moving average, well then the blocks would have to be stuffed for a whole month. This would become incredibly expensive...and the money would go right into the hands of the miners who have to deal with it anyway...so they are being compensated for that.
Non mining nodes can use some form of SPV and skip over the bloat.