Really? Tell me then, why would someone invest the kind of money needed to gain more than 50% of the hashrate, just to destroy the value of it? This is not as obvious to me as it is yo you.
Tell me then, why would someone invest money in a monority chain with 25% of hash power, just to make a hard fork permanent and destory the value of it?
People will mine on the correct chain for profit. It is the one most of the users will use. More than 90% of nodes are currently running Core. Just a month back less than 87% of all nodes ran Core. Which means the users are running Core, and will want Core coins. People will SPV wallets are more than 90% likely to connect to a Core chain, and only see Core coins. The value will dwindle, but Bitcoin is still the coin of choice for more than 90% of the users.
It is the major consensus decide what is real bitcoin, nothing else. Please do your home work and make sure you fully understand why a coin's value will be very close to its mining cost (e.g. total hash power)
Invalid blocks are invalid, no matter how many miners build on top of the invalid blocks.
Until they cheat the old nodes to believe that they are valid, which is exactly the soft fork do. SW blocks are invalid for example, they are definitely not bitcoin blocks, but they cheat old nodes to believe that they are still valid. Unfortunately, the moment they start to cheat the old nodes, old nodes will also accept invalid SW blocks that they can not identify, that's where you get your hard fork
Huh? The bitcoin blocks are still valid bitcoin blocks when segwit is deployed. Transactions with a segregated witness will have the signature in a separate chain, but this does not change the validity of the block. The blocks and the transactions in the blocks are perfectly valid to all nodes.
Only upgraded nodes will know how to check the validity of transactions where the spent txout is from a transaction with segregated witness, but this won't be a problem. It won't activate until at least 95% of the hashrate support it. Any chainforks will therefore be short, and can not be hard.
The July 04 fork was not a hard fork. Chainforks happen every day. For that reason you should not accept
The July 04 fork IS a hard fork, a few nodes with majority of hash power mined the longest chain, and the consensus did not regard that longest chain to be valid. The rule says that the longest chain should be the correct chain, but consensus says it is not. This is a perfect example that consensus decide what is bitcoin, not code.
The rule says the longest chain is only correct if it follows all the rules. Simply being the longest is not enough. The stupid miner announced support for BIP66 without actually supporting it. He lost money, and was probably thought a lesson. All nodes, both old and upgraded, were on the correct chain as soon as it overtook the malicious chain.
The August 2010 fork, which was much longer, was even correct according to the current consensus at that time. Unfortunately this was non-intentional, and a new version was rushed out to mine out the chain with the malicious block at low difficulty.
It is similar in 2013 fork, consensus decided 0.7 is bitcoin, not 0.8, so that even 0.8 have more hash power and the longest chain, it is not bitcoin
Of course, even though Gavin wanted to hard fork even then by defining the 0.8 behaviour correct. That would have been disastrous. I remember the other developers spent some time convincing him.
Like you said, fork happens every day, because there is constantly disagreement in the network, but that is unavoidable, unless you want to have a communism type total domination disallow any kind of different voice, fork will always happen. You might remember that when we had the first reward halving, there was a hard fork that is permanently mining 50 bitcoin forever, but that did not create the situation you described, it just died like any other hard fork due to no major consensus
Correct. No consensus make hard forks die. Which is why all the current Bit-altcoins are stillborn, and very few actually run them.