It is impossible to know in advance what difficulties blockchain users will have to face in the process of its evolution. Sometimes the algorithms and ideas embedded in the development become untenable or ineffective. To continue using them means to lose competitiveness in the market, as well as the value of coins relative to fiat currencies. But to avoid such situations, developers resort to serious code modifications, which are called “a hard fork”.
A fork is a procedure for branching the cryptocurrency blockchain, as a result of which two different chains appear. In the future, they continue to develop separately from each other. If developers make drastic changes, such a fork is called a hard fork.
In that case, developers do not make minor changes, but radically change the algorithms, rules for issuing coins, methods of its distribution, as well as other parameters. As a result of such actions, a chain of blocks appears, which can no longer interact with the previous blockchain.
There are two possible forks: a soft fork and a hard fork. The first is a mild kind of network modernization, old and new blocks remain relevant, a child is allocated from the parent chain. During a hard fork, a rigid modification of the program code occurs, all the old blocks are "forgotten", and the blockchain moves in two parallel lines.
With a soft fork, some characteristics of the coin are optimized, and cosmetic improvements are carried out. If some of the nodes do not accept changes, they remain members of the network.
A soft fork does not put everyone before a choice. Small changes in the code allow nodes with outdated software to continue participating in mining. A new coin does not appear. Such an update often goes unnoticed by cryptocurrency holders.
This can be compared to the existence of an academic language and an adverb. Some people have chosen an adverb and communicate in it. However, native speakers of the academic language also understand them. The consensus persists.
By activating the hard fork, developers are burying the old network. Users have to choose between two child chains.
Famous Hard Forks
BCH Fork
Bitcoin Cash is a consequence of a hard fork — the coin separated from the original Bitcoin on August 1, 2017. The BCH team, led by Roger Wind, immediately launched an active campaign against the main cryptocurrency, but until that day it this did not bring results and this fork has already become part of bitcoin history.
Ethereum Classic Fork
Initially, the Decentralized Autonomous Organization (DAO) was conceived as a kind of venture fund, in which participants received a share based on their contributions to ETH. The project gained popularity and quickly collected 12.7 million ETH. At that time, the price of the cryptocurrency was about $ 250 million.
After some time, the hacker found a vulnerability in the DAO code that allowed him to steal more than 3.6 million Ethereum coins. To prevent the fraudster from withdrawing money, the crypto community voted for the Ethereum hard fork, which returned the funds to most of the victims.
London Hard Fork
Vitalik Buterin, the creator of the Ethereum cryptocurrency, decided to release another update of the Ethereum 1.0 system to the last phase of ETH 2.0. The London hard fork has become the most controversial. Some users accepted the improvements well, as they allowed to reduce the commission amount. However, the manners were very indignant because of EIP-1559, since the reward for conducting transactions was greatly reduced.
Why are Hard Forks Held?
For official reasons, the developers point to the need to improve technology and optimize the network, but sometimes banal intra-network disassembly, fraud attempts, and a desire for centralization with passing earnings are behind forking. Often, the reasons for the fork are an increase in the block size (to increase throughput, transactions per second), a decrease in commission (to increase interest in the project), or a "loss of true vision" of the project.
How to Fork a Cryptocurrency?
To conduct a hard fork, developers inform the community of their intentions (the reason may be either an important update or a split of the network by different teams; in both cases, you need to prepare for this event).
The height of the block at which all nodes will vote is publicly announced (for example, 346394). Accordingly, there will be sites that approximately calculate the date and time of the event. Then preliminary tests of the source code proposed for the fork are carried out.
According to the results of the voting, the network is bifurcated, in any case. If no one undertakes to support the old branch, and everyone updates the client, then maybe some units of nodes will still mine /validate the old blockchain, but it will be considered abandoned. If opinions are divided, for example, 30% of miners will continue to mine the first chain, and 70% – the second. Then we will get two functioning blockchains.