A fork is defined as a change in a blockchain network. If miners reach a unanimous consensus in the blockchain network, then the result of this mining will be a single blockchain with verified data. Blockchain technology is defined as a single chain of blocks. If the miners don’t reach the unanimous consensus, then forks will be created. It means that the single chain of blocks is split into either two valid chains or more valid chains.
Mentioned below are the details of Soft Fork, Hard Fork, and Temporary Fork:
Definition: If the blockchain protocol is changed into a backward-compatible way, then the occurrence of a soft fork will take place.
Description: Nodes use the software. A change can occur in the software. New blocks are mined in accordance with new rules in the blockchain protocol. The old version of the software considers this mining as valid. Therefore, the blockchain protocol is changed into a backward-compatible way.
Definition: If the blockchain protocol is changed into a non-backward-compatible way, then the occurrence of a hard fork will take place.
Description: Nodes use the software. A change can occur in the software. New blocks are mined in accordance with new rules in the blockchain protocol. The old version of the software considers this mining as invalid. Therefore, the blockchain protocol is changed into a non-backward-compatible way. A new cryptocurrency will be derived in the situation when the occurrence of a hard fork takes place. It will be a valid original currency.
Original: Ethereum (ETH)
New: Ethereum Classic (ETC)
Original: Bitcoin (BTC)
New: Bitcoin Cash (BCH)
The new cryptocurrency will be distributed in a new chain. If a node upgrades the software, then the node will be able to join the new chain. If the node doesn’t upgrade the software, then the node will continue to work in an original chain.
Definition: If two miners mine a new block simultaneously, then the occurrence of a temporary fork will take place.
Description: Many miners can mine a new block simultaneously in a blockchain network. The full nodes in the blockchain network can’t agree on the new block. While the new block can be accepted by some nodes in the network. A new chain of blocks will be formed on that point. Other available alternatives of blocks can be agreed upon by other nodes. If a long period of time is taken to propagate the information to the full nodes, then conflicted opinions related to the chronological order of events will exist. Either two blocks or more blocks will have the same block height. If a chain is lost, then a temporary fork will be resolved. This happens since a majority of the network turns towards another chain for adding new blocks
Reasons Behind Forks
Add new functionality, Fix security issues, Reverse transactions are the three reasons behind the occurrence of a fork in a blockchain network.
Add new functionality: The code is often updated in a public blockchain. Developments or improvements are carried out by worldwide people. New versions will be released.
Fix security issues: The blockchain is a new technology being researched to fix the issues regarding security. Updates will be released.
Reverse transactions: If all the transactions of a specific period are breached, then these transactions will be void by them.