Hard And Soft Forks: What Are They?
The term "fork" was initially invented and used as a part of the software engineering area. To clearly understand its meaning, we should take a look at Bitcoin, since it is the very first blockchain-based network and the basis for the cryptocoin of the same name.
Indeed, Bitcoin was initially described as a digital coin and a distributed payment system. Software behind Bitcoin is calculating program protocols united together. It includes rules the network members have to follow. Since Bitcoin is open-source, its code can be freely downloaded and installed.
Blockchain technology is a fundamental for Bitcoin. Originally, it is one of possible distributed ledgers that includes a sequence of blocks. This sequence is constantly updated by new blocks that form a chain. The network is totally decentralized. This means that all of its participants must decide themselves whether the next block will be added to the chain or not. Thus, the whole blockchain consists only of verified blocks and is available for all network users.
Sometimes, different groups of users take different decisions about adding the next block to blockchain. This is when forking takes place.
There is a few reasons why blockchain may get divided into two parts:
In decentralized blockchain, all participants have the equal version of data. But sometimes two equally valid blocks get added to blockchain, which leads to a fork. Though, this type of forks is temporary because the longest chain always wins. Consensus will be reached in several hours after the fork takes place, while the short chain becomes abandoned.
The situation when the network developers make some changes to the basic protocol is much more serious. This can involve the implementation of new characteristics, modification of basic rules, blocks size increase, etc.
While the first type of forks is temporary, the second one can lead to blockchain split. This fork is permanent and has an influence on the whole ecosystem and community. Moreover, in order to proceed working with the new chain, each node may be required, for example, to update software.
The differences between soft and hard forks
A soft fork is a set of system changes partially compatible with the previous version. This means that no software update is required if participants want to stick with the old rules. They will be able to confirm transactions. Compatibility will be supported by miners who decide to update software and proceed with mining. Unfortunately, the users who do not want to make any changes to software will experience functionality reduction.
Let’s imagine the network developers decide to reduce the block size. Old-fashion miners will not be able to find and close new blocks, but such an option as the new transactions and blocks approval will be available to them. The real examples of soft forks are BIP 66 and P2SH.
A hard fork is a group of program changes that are incompatible with the previous blockchain version. Miners will not be able to confirm new transactions without switching to the new rules, and participants will be “separated” from the whole network. Nevertheless, the chain will be supported even by a little number of miners.
Hard forks are not always planned
In certain cases, a possible protocol improvement can be specified in the roadmap of a project. It explains the need for every upgrade and describes approximate dates of those changes. As all users are aware of the upgrade, it is performed easily. The example of such forks is an Ethereum update called Byzantium that took place in October 2017.
But unplanned hard forks usually cause a lot of problems. They come from a fundamental disagreement among the network members. A group of users sticks with different rules, and this leads to blockchain split. This is exactly how Bitcoin Cash and Ethereum Classic appeared.
What are spin-off coins?
This phenomenon basically means that a network user can take the open-source protocol code and implement it with its own peculiarities and properties. There is a plenty of such coins - Litecoin, Namecoin, Dogecoin, Auroracoin, etc.
Forks are always heavily discussed in the crypto community. The very idea of forking brings hot disputes. In fact, forks are often considered as necessary means of blockchain management, unwanted splits, stability threads and so on. However, there is no way to remove the possibility of forking from the open-source technology.