Anyway, since some are determined to deflect away from technical proposals and throw silly memes around, we'll drag the topic back to one of merit.
The ideal solution is one that doesn't create a blocksize too large for full nodes to cope with, but at the same time, one that doesn't force a large number of people off chain. Even doubling to 2MB in one go is quite high when you think about it, so we should aim to increase (or decrease) in smaller increments more often,
if needed. One possible route is to take the best elements of BIP100 and
BIP106. BIP100 only considers what benefits the miners and not the users. BIP106 only considers what benefits the users and not the miners. So neither is particularly balanced on its own. If we can find a way of allowing half of the "vote" to go to the miners and half to an automated, algorithmic vote based on traffic volumes, then we maintain some kind of equilibrium that should (in theory, at least) benefit the network as a whole.
Miners vote by encoding BV+BlockSizeRequestValue into coinbase scriptSig to:
raise blocksize limit by 12.5%,
lower blocksize limit by 12.5%,
or remain at current blocksize limit.
This vote, however, only counts for half of the total vote and the other half is determined by algorithm based on network traffic:
If more than 50% of block's size, found in the first 1008 of the last difficulty period, is more than 90% MaxBlockSize
Network votes for MaxBlockSize = MaxBlockSize +12.5%
Else if more than 90% of block's size, found in the first 1008 of the last difficulty period, is less than 50% MaxBlockSize
Network votes for MaxBlockSize = MaxBlockSize -12.5%
Else
Network votes for keeping the same MaxBlockSize
The 12.5% part is open to negotiation, some think 10% is more reasonable (i.e. BIP105). If every 1008 blocks is too fast, we could (for example) increase that to 2016 blocks, approximately every two weeks. Tweaks are inevitable, but I feel it's something that could work if it's not too complex to code.