Prerequisites – Blockchain Technology Introduction, How Blockchain technology works, Introduction to Blockchain
The decentralized nature of public blockchains (for example, Bitcoin and Ethereum) means that participants on the network must be able to come to an agreement as to the shared state of the blockchain(shared public ledger and blocks and the blockchain protocol). Unanimous consensus amongst the network nodes results in a single blockchain that contains verified data(transactions) that the network asserts to be correct. However, many times, the nodes in the network can’t come in a unanimous consensus regarding the future state of the blockchain. This event leads to forks (like a tuning fork used in experimental science), meaning that point in which the ideal ‘single’ chain of blocks is split into two or more chains which are all valid.
FORKS IN BLOCKCHAIN:
In simple terms, Forks in blockchain means copying the code and modifying it to create a new software or product. In open-source projects Forks are very common and used widely. So, cryptocurrencies like Ethereum and Bitcoin are decentralized and open software so that anyone can contribute. As they are open-sources they rely on their communities to make the software more secure and reliable. Also open source with the help of fork can make user interface more interactive and look good, helping in gaining more users worldwide. In open source the code is visible to everyone, anyone can modify, edit, access there is no copyright claims for such actions.
For example: Tor browser is an open source software, Linux one of the most widely use Operating system is an open source system, in similar way Bitcoin and Ethereum protocol are also open sourced.
An example GeeksforGeeks blockchain fork
Lets us see the different types of FORKS one by one:
TYPES OF FORKS
Basically forks are divided into two categories i.e. Codebase Fork and Live Blockchain Fork. And then Live Blockchain Fork is divided into further two parts i.e. Intentional Fork and Accidental Fork, as you can see in the above mentioned figure the Intentional fork is then further divided into two parts i.e. Soft Fork and Hard Fork.
TYPES OF FORKS:
CODEBASE FORK: In codebase blockchain fork you can copy the entire code of a particular software. Let us take BITCOIN as an example, so suppose you copied the whole blockchain code and modified it according to your need, say that you decreased the block creation time, made some crucial changes and created a faster software than BITCOIN and publish / launch it has a new whole software named against you, by completing the whole white paper work process. So in these way a new BLOCKCHAIN will be created from an empty blank ledger. It’s a fact that many of these ALT COINS which are now running on the blockchain are been made in these way only by using the codebase fork i.e. they have made little up and down changes in the code of BITCOIN and created their whole new ALT COIN.
LIVE BLOCKCHAIN FORK: Live Blockchain fork means a running blockchain is been divided further into two parts or two ways. So in live blockchain at a specific page the software is same and from that specific point the chain is divided into two parts. So in context to this fork the Live Blockchain Fork can occur because of two reasons :
- ACCIDENTAL FORK / TEMPORARY FORK: When multiple miners mine a new block at nearly the same time, the entire network may not agree on the choice of the new block. Some can accept the block mined by one party, leading to a different chain of blocks from that point onward while others can agree on the other alternatives (of blocks) available. Such a situation arises because it takes some finite time for the information to propagate in the entire blockchain network and hence conflicted opinions can exist regarding the chronological order of events. In this fork, two or more blocks have the same block height. Temporary forks resolve themselves eventually when one of the chain dies out (gets orphaned) because majority of the full nodes choose the other chain to add new blocks to and sync with. Example (TEMPORARY FORK / ACCIDENTAL FORK): Temporary forks happen more often than not and a usual event that triggers this fork is mining of a block by more than one party at nearly the same time.
- INTENTIONAL FORK: In intentional fork the rules of the blockchain are been changed, knowing the code of the software and by modifying it intentionally. This gives rise to two types of forks which can occur based on the backwards-compatibility of the blockchain protocol and the time instant at which a new block is mined. So Intentional fork can be of two types:
- SOFT FORK: When the blockchain protocol is altered in a backwards-compatible way. In soft fork you tend to add new rules such that they do not clash with the old rules. That means there is no connection between the old rules and new rules. Rules in soft fork are tightened. When there is a change in the software that runs on the nodes (better called as ‘full nodes’) to function as a network participant, the change is such that the new blocks mined on the basis of new rules (in the Blockchain protocol) are also considered valid by the old version of the software. This feature is also called as backwards-compatibility. Example (SOFT FORK): The Bitcoin network’s SegWit update added a new class of addresses (Bech32). However, this didn’t invalidate the existing P2SH addresses. A full node with a P2SH type address could do a valid transaction with a node of Bech32 type address.
- HARD FORK: When the blockchain protocol is altered in a non backwards-compatible way. Hard fork is opposite of Soft fork, here the rules are loosened. When there is a change in the software that runs on the full nodes to function as a network participant, the change is such that the new blocks mined on the basis of new rules (in the Blockchain protocol) are not considered valid by the old version of the software. When hard forks occur, new currency come into existence (with valid original currency) like in the case of Ethereum (original : Ethereum, new : Ethereum Classic) and Bitcoin (original : Bitcoin, new : Bitcoin cash). Equivalent quantity of currency is distributed to the full nodes who choose to upgrade their software so that no material loss occurs. Such hard forks are often contentious (generating conflicts in the community). The final decision to join a particular chain rests with the full node. If chosen to join the new chain, the software has to be upgraded to make newer transactions valid while the nodes who do not choose to upgrade their software continue working the same. Example (HARD FORK): The new Casper update in the Ethereum Blockchain in which the consensus protocol will change from a type of Proof of Work (PoS) to a type of Proof of Stake (PoS). The nodes which install the Casper update will use the new consensus protocol. Full nodes that do not choose to install the Casper update will become incompatible with the full nodes that do.
Reasons for the occurrence of a blockchain fork:
- Add new functionality: The Blockchain code is upgraded regularly. Since most public blockchains are open source, it is developed by people from around the world. The improvements, issues are created, resolved and new versions are released when the time is suitable.
- Fix security issues: Blockchain (and cryptocurrency on top of it) is a relatively new technology as compared to the traditional currency (notes, coins, cheque), research is still underway to fully understand it. So, versions are bumped and updates are released to fix the security issues that arise in the way.
- Reverse transactions: The community can actually void all the transaction of a specific period if they are found to be breached and malicious.
Future of the Blockchain Fork:
The future of blockchain forks is an area of great interest to many blockchain enthusiasts and experts. While it is difficult to predict with certainty what will happen in the future, there are some trends and developments that may give us an idea of what to expect.
- One possibility is that we may see more soft forks in the future, as they are generally less disruptive to the network and require less consensus to implement. Soft forks can be used to add new features to the blockchain or to improve its efficiency, without creating a new cryptocurrency.
- Another possibility is that we may see more contentious hard forks in the future, as different groups within the community have different opinions on the direction of the blockchain. This could lead to more splits in the community, as some users choose to continue using the old version of the blockchain while others switch to the new version.
- In recent years, there has also been a trend towards the development of interoperability protocols and multi-chain architectures, which may reduce the need for forks. These solutions aim to make it easier for different blockchain networks to communicate with each other and share data, without the need for a hard fork.
- It is also worth noting that as the blockchain ecosystem continues to mature, there may be less need for major updates or changes that require a fork. Instead, the focus may shift towards incremental improvements and optimizations that can be implemented through soft forks or other means.
- Overall, the future of blockchain forks is likely to be shaped by a combination of technical developments, community dynamics, and market forces. As blockchain technology continues to evolve, it will be interesting to see how the role of forks evolves along with it.