Hark fork is not a con. bitcoin has hard forked several times. Many altcoins have hard forked to change features. If you give a few months notic, there is no problem.
There seems to be an unhealthy amount of confusion over the implications of a hard fork, particularly one that is controversial.
There has never been a planned hard fork in bitcoin. The 2013 hard fork was a crisis situation with unanimous consent and agreement on how to move forward. That is very, very different from the current situation, where the community is divided against itself.
Any speculation on how it will play out is just that -- pure speculation. The success of a hard fork is primarily dependent on network nodes upgrading, not hashpower, as the issue is "validity" and not "the longest chain."
And any data we have in that regard is extremely opaque. Reachable nodes =/= all nodes. Many people run in listen-only mode; they are not reachable, but they do depend on their node to validate transactions. This incomplete information is made further incomplete when we consider that a proportion of Classic and XT nodes are pseudonodes that do not support a future hard fork's consensus rules.
The biggest problem is that users will lose money if there is
any hashpower left on the original chain. That includes the situation where the hashpower went to zero at one point, and therefore an attack scenario where a miner exploits "old" nodes who cannot see the new, invalid fork that most miners are building on. One might expect those nodes to see no new blocks, a dead chain. Since there was never an upgrade to their software (because the fork was contentious), they are in the dark. Even if all honest miners left the minority chain, an attacker could (particularly after difficulty readjustment) build a fake chain confirming payments several blocks deep to a user, merchant, etc. This could work particularly well against an automated system in the latter situation. Since the payment is confirmed below significant proof-of-work, the merchant releases the goods, only to have the the inputs he received double-spent shortly after, since most or all of the hashpower on the network is owned by the attacker.
That's if all miners move to the new chain. What if they don't? The less hashpower left on either chain, the more at risk users of either chain are to double-spend attacks. This problem is compounded by the game theory proposition that a miner stands to increase his relative hashpower on the minority chain by a function of the hashpower that is mining on the majority chain. A miner may take a calculated risk to do so, based on his information about
which chain most nodes recognize as valid and therefore which chain most users are using. I.e. if most miners
temporarily point their hashpower at the new fork, then realize that most nodes did not change their consensus rules, what do you think they will do? Many will return to the original chain.
As I've said in the past:
Miners are at the whims of nodes. Running an ASIC farm doesn't give you any rights over what node software I run. And an army of nodes enforcing bitcoin's rules is here to tell you that they do not give a shit about the opinions of miners. We have our own interests to worry about.
Consider a situation where the majority of hashpower is mining under the new consensus rules, while the majority of nodes are enforcing the old consensus rules. Before immediately shooting that down with "but economic majority!" I think there has been very little evidence offered that miners temporarily pointing their hashpower at another chain will force
all or even
most network nodes to "upgrade" to the new rules. Many operators of "old" nodes won't even notice that a fork occurred -- the only reason they
might notice (if unaware of all the reddit/bitcointalk drama) is that confirmation times will take longer than usual until the next difficulty readjustment (due to reduced hashpower on their chain), at which point everything returns to normal. The invalid chain goes unnoticed because it is invalid.
The result? Mass confusion. Users making irreversible payments to other peers, merchants, etc. who may not receive said payments on what they consider to be the "valid" blockchain. Once newly minted coins on the respective chains are circulated into their networks and are sufficiently mixed with old inputs, this would become the everyday expectation. Exchanges and brokers that allow the sale of bitcoin may be open to fraud lawsuits if they deliver "invalid" coins to customers on an "invalid" blockchain. Incompatibility across the entire network(s) and the lack of wallet software that can distinguish for users which blockchain their inputs are valid on, will lead to chaos. In the end, all versions of bitcoin will probably plummet in value, given the difficulty in using it, the lack of clarity of what bitcoin even "is" anymore, and the corresponding erosion of all trust in the protocol. I doubt bitcoin could ever recover from this basic failure of its reason for existing (the decentralized
enforcement of rules to trustlessly store and transfer value)
The biggest losers, of course, will be SPV users. SPV protocols are so lacking that users have no way of knowing which chain and rule set the nodes they connect to are following. One time, they may be connecting to an "old" bitcoin node. The next time, they may be connecting to a forked node. An SPV user does not know the difference; he will simply send his transaction to anybody that will accept it. But that transaction may be valid on one, but not the other chain. The question then becomes, which chain was the recipient expecting payment on? The SPV user has no control over that.
Consider these dangers, and then compare to a soft fork:
In a soft fork, partitioning will only happen if miners supporting the new rules drops below 50% (hence activation at 95%). Non-mining nodes (
most of the network, particularly when extended to all the SPV nodes that connect to them) need not upgrade, since the new, more restrictive rules are backwards compatible with the old, less restrictive rules. As long as > 50% of miners are supporting the new rules, no one gets forked off.
A minority miner could include invalid transactions based on the new rules, but as long as a majority of hashpower agrees on the new rules, it won't be confirmed and the block will be rejected. So non-upgraded (and therefore SPV nodes, depending who they connect to) could be at risk of seeing invalid transactions that will not confirm. Of course, no one should ever trust an unconfirmed transaction to begin with (we have short chain forks on a regular basis) even without considering possible attacks.