Have you ever wondered how a blockchain gets upgraded how do you add new features to a blockchain and for example how does it theorem release its new versions?
There are two different ways to upgrade a blockchain – one, is to do a soft fork, and the other is a hard fork. The following is the difference between the two methods.
When you release an upgrade to your software on the blockchain, for example how the Ethereum foundation did, they can choose to update such that the new version is completely backward compatible with the old version, so the old version will be able to interact with the new version. In such a case, the people who have the old version and haven’t upgraded yet can still interact with the people who have the new version.
However, in the soft fork, it could also be that the new version has some extra features that are only available in the new version, but it does not prohibit the compatibility with the old version.
A hard fork is an upgrade that is not compatible with the old versions. An example would be the Bitcoin blockchain debate right now which is around if they should increase the block size. If we increase the block size that will be a hard fork, because the new version of the software with the increased block size will not be able to communicate with the old version software and vice versa. Those two versions will be running on two completely different blockchains. In practice, they become two separate coins on two separate blockchains. So if you are on the older version of the software and there is a hard fork, those on the older version will not be able to communicate or send money to the new version and vice versa.
There is a big difference between the soft and hard fork. With a hard fork, you actually split the blockchain and create a new blockchain, a new ledger identical to the old one up until a particular point where the difference begins.
In practice, people are very careful when it comes to hard fork because it splits the community and network into several parts. If people don’t upgrade, they are not the part of the new network and they are stuck with the old coin which has no usability in the new network. That is Exactly what happened to Ethereum and Ethereum classic. You may have heard the whole DAO story whereby 15 million dollars in crytocurrency got stolen following a security breach. Ethereum did a hard fork after this theft. However, some people did not want to do a hard fork and now they have two coins.
Additionally, a soft fork is an optional upgrade whereas a hard fork is a mandatory upgrade, but for the later, the developer really needs to get a majority of the people to switch for the upgrade to be relevant. This can be achieved by offering better features and benefits in the newer version that would convince users to choose the hard fork over the older version.