The introduction of blockchain into the global vernacular has led to an explosion of interest in cryptocurrencies worldwide. Some examples of cryptocurrencies are Bitcoin, litecoin, ethereum, etc. Blockchain, which is the technology underlying these currencies, needs to be updated from time to time and therefore has to undergo soft/hard forks. So what is a hard or soft fork?
Whenever a blockchain needs to be updated there are two ways of doing it; either through a soft fork or hard fork. A soft fork is a change to the software protocol where previously valid blocks/transactions are made invalid. An old node would be able to recognise new blocks as valid which means that the soft fork is backward-compatible (Investopedia, Soft Fork). Think of it this way; a Microsoft Office Word 2013 document can be read using Microsoft Office 2007 because it is backward-compatible, the same principle applies here. A hard fork on the other hand is a major change to software protocol that makes previously invalid blocks/transactions valid. A hard fork is a deviation from the previous blockchain and all nodes which run on the previous protocol will be unable to run on the new protocol (Buterin, 2017). The diagram below illustrates the different types of forks well:
Image credit: Vitalik Buterin
You can see that a soft fork reduces the scope of transactions that can occur; meanwhile a strictly expanding hard fork increases the scope of transactions that can occur. Meanwhile a bilateral hard fork actually makes previously valid transactions invalid and only some transactions can work under both protocols. The venn diagram illustrates the differences well.
There have been a few examples of successful soft forks in regards to Bitcoin. One successful soft fork was the BIP 66. This dealt with ensuring that signature validation did not have an adverse effect on Bitcoin software which used to occur previously. A hot topic in the Bitcoin community over a soft fork is the SegWit(Segregated Witness) Soft Fork. The problem the Bitcoin platform is facing is that as a larger amount of transactions are being carried out; more blocks have to be added to the chain. The weight of the transactions, represented by the blocks, is slowing down the network and causing delays in processing and verifying transactions, in some cases, taking hours to confirm a transaction as valid (SegWit( Segregated Witness), 2017). SegWit is a soft fork that would result in the data being stored in the block more efficiently therefore enabling transactions to be carried out faster. However, there were a lot of issues and disagreements in the community of whether this fork should be implemented and when it was finally agreed upon to be implemented; a portion of disgruntled users revolted. They went out and forked the blockchain to create their separate currency called Bitcoin cash.
The biggest example of an implementation of the hard fork was the DAO hack. The DAO was created by Slock.it and its co-founders, with the objective of operating as a for-profit entity that would create and hold a group of assets through the sale of DAO Tokens to investors, which assets would then be used to fund “projects”. The holders of DAO Tokens stood to share in the anticipated earnings from these projects as a return on their investment in DAO Tokens. After DAO Tokens were sold, but before The DAO was able to commence funding projects, an attacker used a flaw in The DAO’s code to steal approximately one-third of The DAO’s assets. Slock.it’s co-founders had to propose a fork in Ethereum so as to prevent investors losing their money. (COMMISSION, 2017) The hard fork was controversial due to the fact that Ethereum was envisioned as a decentralized platform. By coming in and implementing a hard fork, this principal was being violated. When the hard fork took place, the ‘purists’ rejected this and continued on the old protocol where the currency was now called ethereum classic.
As it has been shown above, hard forks and soft forks can be thought as updates to the blockchain system. These forks are usually implemented whenever there is a security issue with the blockchain or another technical issue which threatens the system. There is significant pushback amongst hardcore crypto enthusiasts on whether to use forks as they believe alteration of the system by a centralised body goes against the basic principle of a decentralised currency.
Works Cited
Blockgeeks. (n.d.). What is Ethereum Classic? Ethereum vs Ethereum Classic. Retrieved September 26, 2017, from Blockgeeks: https://blockgeeks.com/guides/what-is-ethereum-classic/
Buterin, V. (2017, March 14). Hard Forks, Soft Forks, Defaults and Coercion. Retrieved September 26, 2017, from Vitalik Buterin's Website: http://vitalik.ca/general/2017/03/14/forks_and_markets.html
Castor, A. (2017, March 27). A Short Guide to Bitcoin Forks. Retrieved September 26, 2017, from Coindesk: https://www.coindesk.com/short-guide-bitcoin-forks-explained/
COMMISSION, S. A. (2017, July 25). Report of Investigation Pursuant to Section 21(a) of the Securities Exchange Act of 1934: The DAO. Retrieved September 5, 2017, from SECURITIES AND EXCHANGE COMISSION: https://www.sec.gov/litigation/investreport/34-81207.pdf
Hertig, A. (2017, August 23). SegWit Goes Live: Why Bitcoin's Big Upgrade Is a Blockchain Game-Changer. Retrieved September 26, 2017, from Coindesk: https://www.coindesk.com/50-blocks-segwit-bitcoins-coming-upgrade-blockchain-game-changer/
Investopedia. (2017). SegWit( Segregated Witness). Retrieved September 26, 2017, from Investopedia: http://www.investopedia.com/terms/s/segwit-segregated-witness.asp
Investopedia. (n.d.). Soft Fork. Retrieved September 26, 2017, from Investopedia: http://www.investopedia.com/terms/s/soft-fork.asp