A more feasible 'attack' would probably be to just make the private companies black list addresses like they did last week with the bybit hack.
A more feasible 'attack' would probably be to just make the private companies black list addresses like they did last week with the bybit hack.
What 51% gets you is that 51% of the time, you get to choose which transactions go into the blockchain. This is mostly only useful if you want to prevent someone else's transactions from getting in, or for complicated scams where you want one person's transactions to get in before another person's. 49% of the time, those transactions will still get in, so 51% actually doesn't buy you a lot. At best you cause a short term chain split and people will wait longer before the chain stabilizes.
One ADDR_A accepts your payment, you post your private chain publicly. You coin C cannot be spent to ADDR_A and ADDR_B, so the chain must choose which one is it. Because you have 50%+ of the hashing power, your private chain necessarily has more work (generally simplified to "is longer") than the public chain.
You've now successfully double spent.
In fact: you don't even need 50+% to attempt the attack. I did some math recently I believe something like 40% gets you 75% chance of successfully executing the attack over a 10-block-period. The Bitcoin paper has the exact algorithm to calculate this, it is a random walk.
What happens to Bitcoin when this happens: to "Bitcoin" the software, nothing. Everything just keeps going. To "Bitcoin" as a currency, your guess is as good as mine. It depends on what the "social layer" (the community - devs/users/stakeholders) decide is the best course of action. This would be considered an emergency event.
EDIT: You might be wondering why it is not detectable before it happens. It isn't detectable before because the attack would be privately mining their fork. That is: they would not broadcast the evil blocks.
A double spend via 51% isn't really feasible anyway. A double spend attack, in the simplest case, is to:
1. Pay for good or services
2. Receive delivery of the goods or services
3. Invalidate the original payment once the goods or services are no longer revokable.
For a double spend to be worthwhile the value of the scam must exceed the cost of the scam. Maintaining >50% hashing power is extremely expensive and is more and more expensive the longer you maintain it. Therefore the value of the scam must also be extremely large. For crypto transactions it's common sense to wait for more and more confirmations (additional blocks mined after the block containing the transaction) before delivering the goods or services as the size of the transaction grows. Since it's trivial to wait for N+1 confirmations as the seller of goods or services it's trivial to defend against double spends for any meaningful amount of money.