Artificial Cryptocurrency Forks: Special Cases Explained
The origin of artificial forks
As it was mentioned in previous articles, forks are natural for blockchain. They are well researched and widely used in different DLT technologies, including blockchain, tangle, and hashgraph. Natural forks can be successfully processed depending on specific details of their implementation.
Now it's time to discuss artificial forks, which are intentionally used by developers and miners (let’s skip the cases of malicious behavior of network members described in the earlier article).
Artificial forks are mainly implemented when there is a need to change consensus rules. The changes might be a part of a protocol upgrade or bug fixing. Since all nodes independently check whether new blocks correspond to the consensus, the whole network has to perform the upgrade to successfully apply the changes. At this point, a serious problem may arise. A group of nodes may refuse to upgrade the system. Due to the lack of convergence, the network can be seriously affected, and the damage degree depends on the proportion of users who accepted / refused the changes.
Soft fork and hard fork
Gavin Andresen, chief scientist at the Bitcoin Foundation, noted that “there are "soft" rule changes and "hard" rule changes.” Since then, the term “soft” means that a new set of rules is more strict than the old one, while the term “hard” refers to the situation when new rules are less strict.
When changes are soft, old software of any kind successfully validates new blocks. Unfortunately, some blocks in this network will be not accepted by the upgraded programs as they might be created in accordance with the old rules. When changes are hard, the rules are modified so that previously unaccepted blocks become valid, while old-fashioned software starts dropping new blocks. Soft changes might be implemented step by step, but the hard ones are to be applied simultaneously to prevent global consistency problems.
Whatever forking situation there is, we can talk about an old chain, a new chain as well as old and new blocks. For better understanding of the difference, we should examine various combinations of rules in special cases of hard fork.
Special cases of hard fork
- The first special case happens when two sets of rules are absolutely incompatible after forking. Two new chains will be separated and won’t be able to accept each other’s blocks.
Absolutely incompatible hard fork
- The second special case happens when the rules of both groups have something in common. They can work alongside as long as they stick to the same set of rules. After a single unacceptable block is mined for each chain, they will be separated forever.
Partially compatible hard fork
As far as we can see, forks can be an efficient tool when there is a need to make changes in blockchain. Some forks can be used after careful preparation and with minimal consequences, while others can seriously damage the normal blockchain performance. We have observed special cases of hard forks, but there are also standard cases as well as some soft fork variations. We will discuss them in the following articles.