- snip -
Rather than hardcoding the size or the time period for doubling, why not let the network decide what the correct block size should be? If the network starts to get congested, as some people suggest, then the network would simply increase the block size based on a predetermined rule.
If you are not going to "hardcode" a predetermined rule into the network that it can use to "increase the blocksize", then how will the network be able to increase the blocksize? There needs to be some sort of predetermined rule, the vast majority of node operators need to agree on the rule in order to reach consensus, and that rule needs to be coded into the nodes so that they can use it.
Or is it impossible to come up with a rule?
People have come up with lots of different rules. Everyone has their own idea about what that rule should be. The really difficult part is getting everyone (or at least the vast majority of node operators) to agree on what the rule should be so that the network can reach consensus about which blocks are valid.