What’s the difference between a blockchain network split and a fork?
by Tara Annison
Whilst the two share similarities, it’s important to note the different triggers and consequences of a network split vs a fork within a blockchain based network.
Bitcoin.org defines a fork as:
As such, the consequence of a fork is two distinct chains which share a common history but which have now diverged. This could be a temporary divergence where the chains will soon come back together, as is most often the case and when two miners both find the next block at the same time. Or the fork could result in the permanent split of the blockchain, whereby, if the hashpower on both chains is sufficient, a new cryptocurrency can be created and sustained — such as the August 2018 creation of Bitcoin Cash from Bitcoin Core.
The later of these forks is also referred to as a hard fork since the permanent split of the chain is enforced by new protocol rules which the previous chain does not support — in the BCH chain it was most notably the increase in block size. As such in a hard fork, what was once considered invalid is now valid and so is not backwards compatible e.g if the previous maximum block size was 1MB and this has now increased to 8MB then it is not possible for nodes to mine these new block sizes whilst still running the previous software version. Hard forks on a blockchain are often the result of two competing ideologies/opinions, but can also be due to significant protocol upgrades or large scale mining errors.
In comparison a soft fork is backwards compatible and therefore the new rules are valid on the legacy blockchain e.g changing from 1MB block sizes to 300KB block sizes. However, in order for miners to successfully mine new blocks on the new chain, they must comply with the new protocol rules e.g all new blocks must be 300KB size or less.
When a potential fork is on the horizon, nodes signal support by mining new blocks with the new version number in the block header (further information about transaction and block information: https://www.linkedin.com/pulse/understanding-bitcoin-transactions-tara-annison/). As such this allows the community to understand the level of support across all network participants and therefore whether the fork is likely to be successful.
Whilst the consequence of a network split, often referred to as a netsplit, is the existence of two or more forks of the blockchain, the catalyst is not a software upgrade or contentious protocol decision, but instead the disconnect of a node or number of nodes. As such these disconnected nodes will continue to run their own network but may not know that it is disconnected from the main blockchain and therefore any transactions they process will not be synced to the main chain.
The disconnect of nodes could be due to an accidentally error or potentially a malicious attack which looks to segregate certain nodes from the network e.g a state attempting to block user’s access to a cryptocurrency by restricting internet connections.
Consider the following hypothetical situation: all Russian nodes within the bitcoin network are disconnected due to an internet ban from the Russian government which aims to stop their citizens using bitcoin. Let’s further assume that Russian citizens aren’t made aware of this and instead think they are connected to nodes from outside of Russia when in fact they are only being allowed to connect to other Russian nodes and those run directly by the Russian government, which are masquerading as international nodes. As such, Russian citizens may continue transacting, sending and spending bitcoins, thinking these are being confirmed on the main bitcoin blockchain and to other international users, when in fact they are part of a segregated and Russian-only bitcoin network. These chains may exist independently without knowledge of one another and may evolve to have different confirmation times and fees due
to the differing hashpower on each network and therefore an adjusted difficulty.
Should the Russian bitcoin blockchain now be brought back online and able to connect with the rest of the world, then it may be that the chain hard forks to continue independently as a new cryptocurrency, RussianBit, or it may be that the two chains attempt to re-sync. Assuming no new backward incompatible protocol rules have been introduced, then it may be possible for the two chains to re-sync; whereby the chain with the largest block height is the dominant chain which all nodes migrate to and continue to mine on — this is referred to as Satoshi’s rule where the longest chain wins. Assuming the international chain is the longest, then any transactions which were confirmed on the Russian blockchain and not within the international bitcoin blockchain, are unconfirmed and placed back in the mempool. The effect of this is essentially rolling back any transactions made by Russian citizens after the disconnect (unless any Russians managed to sneak out a copy of their blockchain and re-sync already e.g on a USB, since if so, those transactions would already be within the international bitcoin blockchain.)
For more blockchain and cryptocurrency articles, follow me on LinkedIn @TaraAnnison