Anyone interested in cryptocurrencies may have heard of forks but not realize what they are. A fork appears when blockchain participants have to agree on the unified rules. In this case, a blockchain breaks down into two branches, so the participants have to choose either of them. Some branches are easy (soft fork), while others may cause significant dispute in the crypto community and eventually lead to division into two parts (hard fork). As a result, two blockchains and two independent cryptocurrencies appear. Bitcoin has an open source code, i.e. anyone can duplicate or modify it; such a source code modification is called fork.
Most commonly, division occurs when two miners virtually coincidently find a hash to the block. Then, when the other blocks join the current one, the longer chain will survive, while the shorter one will be rejected. Developers can do this ‘branching’ intentionally — to change rules that determine the transaction validity. A block that contains invalid transactions will be ignored by the network, while the miner who generated such a block will lose the reward. This is why miners endeavour to produce valid blocks and embed them into the longest possible chains.
Hard fork is the software update that introduces the new rule incompatible with the previous software version, or a rule extension (e.g. to increase the block size from 1 MB to 2 MB). New transactions will be deemed invalid on nodes operated by the outdated software. All nodes will have to update software to generate valid blocks and move to the new blockchain branch. In case of conflict of interest, participants may face the problem if some of them decide to follow the conventional rules. Data and rules of the former network may remain valuable for them, so miners will continue maintaining it, and developers will support it. Usually, hard forks are announced beforehand, though they may be not officially declared at all. If the developers plan to significantly modify the network, this will become widely known across the crypto community long before they do it, as such a process requires substantial computing capacity.
Soft fork means compatibility between the older and newer software. For instance, a new rule may imply decreasing the block size from 1 MB to 500 KB. New transactions will be deemed valid even on nodes using outdated software. However, if old nodes continue mining blocks, the latter will be rejected by participants who had updated software. This is why soft fork must be supported by blockchain participants who control the major computing capacity. If capacity is insufficient, the updated chain may turn out to be too short and eventually rejected by the network. Also, a soft fork can transform into a hard fork, if some participants form their own network after leaving the main one.
The key reason for creating forks is the necessity for technology upgrading. Each new branch becomes more and more technically perfect. Usually, developers endeavour to do the following:
Hard and soft forks accompany the evolution of any cryptocurrency; in this regard, proper information handling will enable users to amplify investment and token trading earnings. For miners, this will be a great chance to start producing coins at more favourable conditions, which will eventually positively affect the profit.