Blockchain hard forks and soft forks
Published:
I found a good elaboration on blockchain forks from Coindesk, that passage illustrates how Blockchain hard/soft forks were created, and what the potential consequnences these forks may bring.
Hard forks:
- Hard forks are created by the changes of the protocol such as block size, difficulty. 
- In hard forks, the new version blocks will not accepted by the old version nodes. 
- Hard forks can lead to double-spending transaction in the sense that an UTXO that has been spent on the new-chain can be spent again in the old-chain. 
Soft forks:
- Soft forks are created by the changes of protocol in a way that does not affect the structure. (e.g., tighten the rules, add cosmetic functions) 
- In soft forks, the new version blocks will be accepted by the old version nodes. 
- New version blocks will be seen and accepted by both new version nodes and old version nodes, so the new version blocks will eventually dominate the the longest chain. 
Reference:
Check out [Hard Fork vs Soft Fork] for the details.
