WHAT THE FORK?!
HARD FORKS
What is a ‘Hard Fork’?
In the context of blockchain technology, a Hard Fork (or Hardfork) refers to a fundamental change to the existing protocol that splits the blockchain into two separate chains. Technically speaking, it is permanent deviation of the existing blockchain whereby one path follows the new upgraded version and the other path continues with the existing version of the blockchain. Hard forks are not forward compatible. Nodes running on previous versions will not be accepted by the new version of the blockchain.
Reasons for a ‘Hard Fork’?
There are various reasons for a Hard Fork, by forking from the existing blockchain code, a Hard Fork can be implemented to add new functionality to the blockchain, fix security issues found on older versions or in the case of a hack, it can be used to reverse transactions.
Two examples of contentious hard forks taking place include Bitcoin Cash and Ethereum Classic.
Bitcoin Cash: Bitcoin Cash is a hard fork orchestrated by a portion of the community that wanted Bitcoin to scale better through increasing its block size from the current 1MB to 8MB. This is to allow for more transaction’s to be processed, thereby reducing fees that users’ pay and minimizing the bottleneck of Bitcoin’s network as usage increased. The hard fork resulted in the creation of a new currency called Bitcoin Cash.
Ethereum Classic: Ethereum had a hard fork to reverse the effects of a hack that occurred in one of their applications (called the Decentralised Autonomous Organization or simply, DAO). However, a minority portion of the community was philosophically opposed to changing the blockchain at any costs, to preserve its nature of immutability. As Ethereum’s core developers and the majority of its community went ahead with the hard fork, the minority that stayed behind and didn’t upgrade their software continued to mine what is now known as Ethereum Classic (ETC). It’s important to note that since the majority transited to the new chain, they still retained the original ETH symbol, while the minority supporting the old chain were given the term Ethereum Classic or ETC.
Two examples of planned hard forks taking place include Ethereum Byzantium and Monero.
Ethereum’s Byzantium: The first phase of Ethereum’s 2-phase upgrading plan, Byzantium occurred in October 2017 and represents an upgrading of Ethereum’s blockchain base for better scalability and the integration of private transactions.
Monero: In January 2017, Monero hard-forked to introduce an upgrade to its network by implementing a feature called Ring Confidential Transactions (RCT) to improve its privacy and security.
Bitcoin’s protocol is open source, anyone can view the codebase and make changes to it in the pursuit of creating a new coin with new features. One key example of this spin off type of fork is Litecoin.
Litecoin: Was a fork of Bitcoin, created from changing the codebase of Bitcoin. The features of Litecoin include changes such as: Average of 2.5 minutes block time as compared to Bitcoin’s 10 minutes; Different consensus algorithm: Scrypt instead of Bitcoin’s SHA-256; Fixed coin supply of 84 million instead of Bitcoin’s 21 million.
SOFT FORKS
What is a ‘Soft Fork’?
A Soft Fork (or Softfork) restricts block acceptance rules in comparison to earlier versions of the blockchain. Soft fork’s are forward compatible. New rules created by the soft fork allow a subset of the previous valid blocks, therefore all blocks considered valid by the newer version are also valid in the old version.
This kind of fork only requires a majority of the miners upgrading to enforce the new rules, as opposed to a hard fork which requires all nodes to upgrade and agree on the new version.
An example of a soft fork is when the new rule states that the block size will be changed from say 1MB (1,000KB) to 800KB. Soft forks represent a gradual upgrading mechanism as those who have yet to upgrade their software are incentivised to do so, or risk having reduced functionalities.
Past examples of Soft Forks are BIP 66: A soft fork on Bitcoin’s signature validation; and P2SH: A soft fork that enabled multi-signature addresses in Bitcoin’s network.
Sources: Masterthecrypto, News.bitcoin.com, Bitcoin.stackexchange.com, Investopedia.com