A blockchain fork is essentially a software update that many agree on. Let's take a look at the first story of the fork:

Bitcoin was first created by the community called miners, and these people started to confirm transactions between blocks and add new ones to the Bitcoin Blockchain network. Miners demand cryptocurrencies such as Bitcoin in exchange for both verifying and executing transactions securely. However, miners need to run the same sub-parts of the software to gain access to the same common ledger. But there comes a time when miners and software developers may disagree and clash. One party may accept the software change while the other party may reject the change. Those who reject the change can go their own way and leave the network. We call this action “fork-forking”. Thus, the community within the Blockchain is divided into two. Bifurcation is essentially a policy divide. It develops when the parties feel that it becomes meaningless to stay in the same environment when their goals and intentions differ. The bifurcation inherent in this decision is divided into “hard fork” and “soft fork”.


Hard Fork

A hard fork is when the previous version of the software is completely incompatible with the new one. Change is no longer possible. Bitcoin and Bitcoin Cash are examples of this. A hard fork represents a radical change in the network protocol, which considers previous blocks to be invalid. In this case, all nodes (nodes and users) have to update the protocol software. The other type of fork refers to the unanimously accepted update. An example of this situation, called a soft fork, is Bitcoin's SegWit update. In this case, a new address class is created, but the previous addresses are not affected. It can create a new fork in projects that are technically open source. However, a certain majority is needed for this to be implemented and permanent.


Soft Fork

In blockchain technology, a soft fork is a change to the software protocol where only previously valid transaction blocks are made invalid. Because old nodes will recognize the new blocks as valid, a soft fork is backwards-compatible.Soft forks don't require any nodes to upgrade to maintain consensus, since all blocks with the new soft forked-in rules also follow the old rules, therefore old clients accept them. Soft forks cannot be reversed without a hard fork since a soft fork by definition only allows the set of valid blocks to be a proper subset of what was valid pre-fork. If users upgrade to a post-soft fork client and for some reason a majority of miners switch back to the pre-soft fork client, the post-soft fork client users would break consensus as soon as a block came along that didn't follow their clients' new rules. In order for a soft fork to work, a majority of the mining power needs to be running a client recognizing the fork. The more miners that accept the new rules, the more secure the network is post-fork. If you have 3/4 of miners recognizing the fork, 1/4 blocks created aren't guaranteed to follow the new rules. These 1/4 blocks will be valid to old nodes that aren't aware of the new rules, but they will be ignored by new nodes.