On Sun, Dec 11, 2016 at 12:11 PM, s7r <s7r@sky-ip.org> wrote:

This is an incentive, if few miners agree to create a large conglomerate
that will ultimately control the network.

You miss something obvious that makes this attack actually free of cost.
Nothing will "cost them more in transaction fees". A miner can create
thousands of transactions paying to himself, and not broadcast them to
the network, but hold them and include them in the blocks he mines. The
fees are collected by him because transactions are included in a block
that he mined and the left amount is in another wallet of the same
person. Repeat this continuously to fill blocks.

No, that wasn't overlooked. Miners could indeed stuff their own blocks for free, but they can't stuff blocks mined by others for free.

In the hypothetical scenario where there is a single mining pool which mines most (if not all) of the blocks, we would have much larger problems than their ability to raise the max block size gradually. Even if they were able to fill 100% of the blocks for an entire year, the max block size for that 2016 block period would be 7.25MB (not accounting for SegWit). After the whole year they would have made no extra profit vs doing nothing. And as soon as they stopped this scheme, block size would spring back to it's natural level.

The good news is, this scenario has never happened and even when we've come remotely close (when ASICs first shipped), the situation was temporary. The odds of this happening in the future and persisting long enough to have any major effect with Block75 are very close to zero.
 
Topology and bandwidth speed / hash rate of the network cannot be
controlled - if we make assumptions about these it might have terrible
consequences.

Even if we take in consideration that bandwidth will only grow and disk
space will only cost less (which is not something we can safely assume,
by the way) the hard limit max. block size cannot grow to unlimited
value (even if the growth happens over time). There is also a validation
cost in time for each block, for the health of the network any node
should be able to download _and_ validate a block, before next block
gets mined.

You said in another post that a permanent solution is preferred, rather
than kicking the can down the road. I fully agree, as well as many
others reading this list, but the permanent solution doesn't necessarily
have to be increasing the max block size dynamically.

Increasing *and* decreasing max block size dynamically. Block75 is self-correcting, whereas any solution with hardcoded limits can't correct without human intervention and would rely on our ability to predict the future (which as you pointed out, we can't do). Therefore, any solution that's not dynamic cannot be permanent.

Additionally, the frequent and gradual changes in max block size would allow us to see any consequences well in advance (years probably).
 
If you think about it the other way around, dynamically growing the max
block size is also kicking the can down the road ... just without having
to touch it and get dust on the boot ;)

Not having to touch it again = permanent solution. ;)

It would be helpful if some others would run the numbers on how Block75 would adjust the block size over time:

new max block size = 1000kb + (average block size over last 2016 blocks - 750kb)

-t.k.