Forks on blockchain networks.
Freedom on blockchain networks gives users a lot of advantages, but it also brings certain disadvantages to the world of public blockchains.
One of such disadvantages is the ease of creating a fork of a blockchain. Essentially, a fork is a parallel blockchain that does not have to abide by the rules of the main blockchain.
Examples of forks: Bitcoin Cash
In the past, there have been multiple forks on all the existing blockchains, including Bitcoin and Ethereum. For instance, Bitcoin Cash is a fork of Bitcoin and Ethereum Classic is a fork of Ethereum. Just like in other areas of life, on a blockchain network miners can have all kinds of disagreements and disagreements do not always have to be logical and reasonable. They can be emotional and can be based on beliefs and intuition, which coupled with technology makes the world of blockchain really complex.
For instance, the reason for the appearance of Bitcoin Cash was insufficient scalability of the Bitcoin Network. Satoshi Nakamoto has created the network in such a way that it adds blocks to its blockchain every 10 minutes. The size of a block on the Bitcoin blockchain is one megabyte. Translated into transactional capacity, which is the number that matters from practical standpoint, this means that the Bitcoin network can be processing between three and seven transactions per second. Obviously, this is not enough for a peer-to-peer system if millions of people were to use such a system. For instance, the transactional capacity of the financial network Visa is over twenty thousand transactions per second.
The creators of Bitcoin Cash believed that the way to increase the transactional capacity of the Bitcoin network was to increase the size of the block. Others disagreed with them, which led to the creation and parallel existence of Bitcoin Cash in addition to Bitcoin, which some call Bitcoin Core in order to differentiate it from Bitcoin Cash.
Examples of forks: Ethereum Classic
On the Ethereum network, the appearance of the Ethereum Classic was a result of the crowd sale of “The DAO.” At the time, the crowd sale was the biggest on the Ethereum network and has attracted about 15% of the total supply of the Ether currency. Attackers were able to create a child project into which they have started moving the funds.
What is really interesting is that attackers didn’t violate any laws. They used vulnerability in the code of the project, but the project had no legal requirement preventing users from doing so. During the attack, the Ethereum network has also functioned just the way it should. For this reason, attackers who funneled the money claimed that they didn’t do anything wrong and simply used an opportunity when the opportunity presented itself. They also claimed that changing software of the network was wrong and was against the principle of decentralization. The network that implemented an update preventing attackers of “The DAO” from withdrawing funds stayed known as Ethereum and the network that didn’t implement any updates in regards to the hack of “The DAO” became Ethereum classic.
How forks work: a technical explanation
The following is a very simple example that explains the technical side of a fork on a blockchain network. Let’s say a blockchain has three blocks, B1, B2 and B3, and it also has two miners, M1 and M2. Obviously, all popular existing networks, including Bitcoin and Ethereum, have many more blocks and miners. Bitcoin has over half a million blocks and Ethereum has over five million blocks, and the networks keep adding the blocks 24/7. However, the way the forks work on them is identical to this simple example.
Miners M1 and M2 disagree on what will happen after block B3 and so they start mining blocks of the blockchain separately. Because of the freedom that exists on the blockchain networks, nothing is preventing them from doing so, just like users and miners were free to decide whether they wanted to choose Bitcoin over Bitcoin Cash or Ethereum over Ethereum Classic.
This is what happens during a fork: miner M1 creates block B4-M1 and miner M2 creates block B4-M2. Because addition of information to the blockchain is sequential, if the miners keep creating new blocks, they will be adding these blocks to the blocks that they’ve already created. M1 would create block B5-M1 and M2 would create block B5-M2. Now, there are two separate blockchains. The first blockchain has the following five blocks: B1, B2, B3, B4-M1, B5-M1. The second blockchain also has five blocks: B1, B2, B3, B4-M2, B5-M2.
With Bitcoin Cash, the first block that was different from a Bitcoin Core block was block #478,558. Before that, the networks share the same blockchain just like in the example above two blockchains have the same blocks B1, B2, B3.
The split between Bitcoin Core and Bitcoin Cash has occurred on August 1, 2017.
The split between Ethereum and Ethereum Classic has occurred on July 20, 2016 and happened at block 1,920,000 of the Ethereum blockchain.