Fork in general
Bitcoin is software with open source code, so anyone can replicate, modify, and use it at their sole discretion. Actually, any modification to the source code is called a fork (implying – “branching”).
In other words, any fork is a certain change of rules according to which a block in a blockchain is considered to be valid.
What types of forks exist?
There are two main types of forks: a soft fork and a hard fork. The former one is a “minor” modification while the latter one is a “major” modification to the source code.
What is a soft fork?
When a soft fork occurs, the client (software) does not require upgrading to comply with the newly adopted rules. If some nodes in the network do not conform to new rules, they will still be able to interact with nodes following new instructions.
To better understand the process, we can take languages as an example: if all the nodes spoke American English prior to fork, and the new rules commanded to switch to British English, the nodes continuing to use the American version would still be able to understand the British one. Likewise, the nodes using British English would easily understand the American version.
Thus, a soft fork is a backward compatible code change, which does not violate the consensus protocol itself.
What is a hard fork?
On the contrary, a hard fork enables new rules incompatible with the old ones to the extent when nodes which fail to follow new rules cannot communicate with nodes which comply with them. Following the same example with languages, old nodes would speak English and new ones would speak Chinese. A hard fork makes changes to the very consensus mechanism, and in such a case, the entire network splits into two parts never to interact again. This happens because blocks considered to be valid in one part will not be considered as such in the other one.
How does a fork work in cryptocurrency ledgers?
When it concerns cryptocurrencies, a fork is a change to the network operation rules, required to upgrade the protocol. In other words, to make Bitcoin better and more reliable, it is sometimes necessary to resort to one of the fork varieties. Though, in some cases, a fork is a security issue.
What happens after a hard fork is implemented?
When a hard fork occurs, one of the newly formed branches (chains) of the system may become dead, or it may stay functional, depending on how much hash power is allocated to each of the formed chains. The chain with a higher power capacity has a better chance of success. As the most apparent example of a scenario like this, we can recollect the Ethereum network hard fork implemented in the summer of 2016: the new chain carried on using the old name (ETH), and at the same time, the original chain, called Ethereum Classic (ETC), remained intact and is further supported.
The majority of cryptocurrencies are reputedly forks to Bitcoin – is it true?
You can really consider any clone of an already existing cryptocurrency to be a forked chain. For instance, right now, you can copy the Bitcoin source code to your computer, change the name, emission rules and compile a new application. After that, you must mine (emit) several million coins and invite your friends and acquaintances to play an exciting economic game. Sometimes, very serious projects may appear as a result of such cloning.
Are all cryptocurrency projects forks or altcoins?
No, not all of them. There are so-called “colored coins”, metacoins, and many other complex tokens which in the strict sense are neither forks nor altcoins.
What is altcoin?
Altcoin is any cryptocurrency alternative to Bitcoin. In the strict sense, we cannot consider a clone of the already existing cryptocurrency to be altcoin if it has no significant technical improvements and no tendency for a universal singularity. Practically, altcoin and a fork are very vague notions that can be applied in relation to the same project apart from the definition accuracy.
What is the difference anyway?
It would be more precise to call a cryptocurrency altcoin, significantly differing from any original project, such as Dash, Ethereum, MaidSafe, or NXT. On the contrary, we can safely call forks such projects as Dogecoin (Litecoin fork), Expanse (Ethereum fork), and Stellar (Ripple fork).