There is no compromise for a major change to bitcoin that 95% of the network will agree to. Bitcoin core is partly ossified.
The only way to make meaningful improvements is to hard-fork. Can we accept that after the hard fork, there will be 2 separate networks with different rules?
Most likely outcome = 1 chain survives
The most common and probable outcome of a hard fork is that there is 1 clear winner which is the 1 surviving chain. This happened with bitcoin’s previous hard forks and all hard forks I know of except the Ethereum DAO bail-out.
There are attacks the chain that has the majority of the hashing power can use against the minority chain to make it more likely to die.
What if both chains survived
There are “nightmare scenarios” you hear about hard forks that split the network. Like people not knowing if bitcoins they received are real bitcoins and messy things like that. This would only happen if the split was unintentional and the chains were competing to be the only chain.
A hard fork that is planned to coordinate enough hashing power to make the new chain sustainable while allowing the old chain to continue as normal, can be clean.
A clean separation is more likely if the 2 chains are as different as possible. For example, if a chain forked to increase the blocks, it would help if they also had replay protection and changed things like the address format.
This differentiation would minimize the confusion and make the 2 chains distinguishable. In this case, none of those nightmare scenarios we hear about bad hard forks would materialize.
This is not an attack
There is no need to see a fork like this as an adversarial action. Those making the new project and those wishing to maintain the old project need not have any ill feelings or bad intentions toward each other. They just have different opinions about what should be in the code base and they want their solutions to be tried.
If the fork is well planned and executed, most bitcoin products and service providers would end up supporting both coins.
Some people would be confused by the 2 different assets. However, they would have different names and do different things so the confusion would not last long.
Some people would mistakenly think the bitcoin coin supply had doubled, making it not sound money.
However, the alternative might be to never meaningfully improve bitcoin. This would doom it to fade into irrelevance as more scalable, private and user-friendly alternatives take over. If that is the alternative then a hard fork that splits bitcoin to achieve better scalability, privacy and user-friendliness might be the better option.
If such a fork were successfully executed it would set a precedent and both the new and the old fork would eventually be forked again in similar ways. The vast majority of such attempts would fail due to not getting enough hashing power to achieve security on the new fork.
Only forks that are well-planned and make a compelling case that their changes benefit users could survive.
Alternative implementations on the same network
Bitcoin should have specifications allowing multiple alternative implementations to exist on the same network. This would be good but not a definitive solution for 2 reasons.
On the current bitcoin network, no such specifications could get broad consensus to be implemented in the first place. For example, should anything about block size be in the specifications? If so, what? So to implement such specifications you would need to fork to a new network anyway.
Even if specifications were implemented, that would only work for projects that agree with those specifications.
On the current bitcoin network, almost no change to the specifications could get broad consensus. Meaning anyone wanting to make a meaningful improvement outside of the current specifications would still be in the same situation of needing to fork.
I could be wrong
The above is mostly a devil’s advocate thought experiment that I am not sure if I fully agree with. Heck, I still think we should decrease the block time to 2 minutes for a 5 X scaling boost. I just think the idea of a non-adversarial, well-planned, deliberately splitting hard fork, which allows 2 chains to continue is worth discussion, so I am discussing it.
This idea will seem less controversial when it becomes obvious the current proposal of segwit as a soft fork will not be activated. Segwit can’t achieve 95% consensus and neither would flexible transactions or bitcoin unlimited or an adaptive block size limit or mimblewimble, confidential transactions or anything else. So what to do?