Post
Topic
Board Development & Technical Discussion
Re: The MAX_BLOCK_SIZE fork
by
gmaxwell
on 31/01/2013, 11:56:22 UTC
Couldn't the block versioning be used as already described below regarding the introduction of version 2?
[...]
The result is close to a "soft fork" with minimum risk and disruption. This would prevent some of worst blockchain forking scenarios described above.
In our normal language a softforking change is one which is fully reverse compatible. They are changes which never produce behavior which an original bitcoin node would recognize as a violation of the rules which make bitcoin ... bitcoin.  What you're trying to describe is a coordinated hardfork, which is what you'd need to do to change any of the system fundamentals, e.g. change the supply of coins or the time between blocks— something we've never done— and something that isn't easily made safe.

Softforking changes are safe so long as a sufficient super-majority of mining is on... to older nodes they just look like some txn are indefinitely delayed and some blocks are surprisingly orphaned, but no violations.

A hardforking change requires almost universal adoption by bitcoin users (note: not miners, miners are irrelevant for a hardforking change: a miner that doesn' follow one that is followed by all the users simply isn't a miner anymore) so taking a count of miners is not a good or safe way to go about it.  The obvious way to implement one would be to achieve sufficient consensus, and then strike a fixed switchover time at some point in the future. ... though the savvy analyst is asking themselves what happens when the next revision of the rules is prejudicial to their interests?...

When Bitcoin's behavior is merely a system of computer rules you can trust it because you (or people you trust who read code) can point to the rules and say "it is so because of cryptographic proof, the mathematics of the program make it thusly".  If the rules are up for revision by popularity contest or whatever system you like— then you have a much more complicated trust equation where you have to ask if that process will make decisions which are not only wise but also respect your needs. Who will cast the ballots, who will count them? Even if the process is democratically fair— is it something that lets the wolves vote to eat the sheep or does the process somehow respect personal liberty and autonomy?  All the blockchain distributed consensus stuff starts sounding easy by comparison.

An alternative theory I present is: if some hardforking change is so valuable, why couldn't an altcoin prove that value and earn its place in the free market and eventually supplant the inferior alternative? Why is that inferior to changing the immutable (within the context of the system) rules when doing so is against the will of any of its users[1]?  Or to use the language of libertarian dogma: Must change only come by force?   Can any blockchain cryptocurrency survive if it becomes a practice and perception that the underlying software contract will be changed?

Hardforks: There be technological and philosophical dragons.


[1] if the rules are subtly broken and ~everyone agrees that they /must/ be changed that is another matter and not the subject I'm talking about.