How to Reduce Number of Risks During Fork?
Forks are needed to implement changes in the protocols of blockchains. There are two types of forks: hard forks and soft forks. A soft fork means that the nodes that operate on the previous version of the client will still be able to process transactions and sign blocks on the updated fork, i.e. there will be compatibility between the older and the newer versions of the blockchain’s protocol.
With hard forks, a node running on an older version of the blockchain client will not be able to process transactions on the updated version of the protocol meaning that the older version of the client is not compatible with the updated protocol.
Speaking of cons and pros of forks, the only downside is faulty code, which is the duty of developers and testers to get right. If there is a need for a change to be implemented that has demand from the community, it certainly needs to be done. And the implementation of those changes will then depend on how much the developers are willing to adhere to what the community’s wishes. Sometimes, there are several changes made to a blockchain protocol in a single fork, sometimes only one.
The Use Cases of Forks
Speaking of practical usages of blockchain forks, there are two ones that spring to mind before the others: the creation of a new cryptocurrency, implementing updates into an existing cryptocurrency or rolling back the system to recover funds. Further down, I will exemplify all of these use cases.
Creation of a New Cryptocurrency
In August 2017, another hard fork from Bitcoin was created with the purpose of creating a new cryptocurrency – Bitcoin Cash. Bitcoin Cash was launched on 1 August 2017 as a hard fork of Bitcoin. The difference in the protocols was that the Bitcoin Cash block size was set at 8 megabytes, which is eight times more than the Bitcoin block size. This allows Bitcoin cash to process eight times more transactions per the same 10 minutes’ block time offering better performance and lower costs for the users.
Litecoin was the first hard fork of Bitcoin, being launched at the stage when very few yet knew about the existence of cryptocurrencies at all. Litecoin was launched on 7 October 2011. Even though it was a fork of Bitcoin’s blockchain, Litecoin was provided with the different memory-intensive hashing algorithm Scrypt.
Therefore, Litecoin could not be mined by large mining infrastructures owned by companies that were focused on mining Bitcoin. The memory requirements of Scrypt kept ASIC miners away from Litecoin for a long time, making Litecoin a GPU-minable cryptocurrency and making it more affordable to mine with consumer-grade mining equipment.
That continued until 2017 when the Bitmain Antminer L3+ for Scrypt was built. It managed to tackle Scrypt’s memory requirements and made GPU mining on Litecoin no longer profitable. Still, Litecoin cannot be mined by the ASICs Bitcoin is mined with, allowing smaller mining infrastructures to yield good profit through Litecoin mining.
To bring context into how hard forks in particular work when it comes to updating the protocol of a cryptocurrency, you need not go any further than the main altcoin Ethereum. Ethereum’s team has been very proactive over the years, accepting proposals from the community and implementing different updates into the Ethereum blockchain. I will speak about a few.
Metropolis was an Ethereum hard fork in 2017. Metropolis had a package of upgrades that included zero-knowledge succinct non-interactive arguments of knowledge (zk-SNARKs), smart contract simplification, masking of addresses and the difficulty bomb. The upgrade improved privacy on Ethereum, made smart contract programming easier and prepared the difficulty bomb that is needed for the transition to proof of stake.
Istanbul was implemented in 2019. It improved Ethereum’s resistance to DDoS attacks, optimised the costs on the usage of some certain opcodes and reduced the cost of running the 64-bit variants of the BLAKE2 hash function on the EVM. The latter update resulted in decreased costs of Ethereum’s interaction with Equihash-based cryptocurrencies including Zcash.
London in the last hard fork on Ethereum 1.0 that implemented a burning mechanism into Ethereum, burning the base fee for transaction processing. Since London, miners have been receiving the so-called tips, which are left on top of the base fee by the senders. London has substantially decreased the issuance of new Ether and even resulted in the mined Ether being regularly exceeded by the amount of burned Ether on the daily basis.
The ETH price has fast gone up since the London hard fork, for which London is widely believed to be a major reason.
Rolling Back the System
Sometimes forks allow to roll back the system to recover stolen funds. The most prominent instance of such a fork was the fork of Ethereum in 2016. It was the project called The DAO – a venture capital fund launched on the Ethereum blockchain by a Swiss-based company DAO.link. Over 11,000 investors locked up over $150 million in The DAO’s smart contract worth of Ether at the fund-raising stage. But before the token sale was over, several onlookers expressed concerns about the security of the smart contract; they found a vulnerability that could allow any third party to steal the funds from the smart contract. And that was what transpired shortly.
Then a part of the community opted for a hard fork from the block that led to the loss of funds, and the others were against it, wanting to continue the original chain. Eventually, the fork happened at the block where the funds were stolen, splitting Ethereum into Ethereum and Ethereum Classic.
Controversial as it might be, this hard fork helped save investors’ funds and allowed to patch the vulnerability. So, this fork is a good demonstration of one of the most essential use cases that hard forks can be used for.
How to Avoid Errors in Forks?
When preparing an update on a blockchain, first the development team needs to understand the task and requirements at hand. There are lots of available solutions out there nowadays in hashing algorithms and consensus mechanisms. From the point of view of building the protocol, it mainly takes to choose the right solutions that are already there. So, the developers will need to do some research to get it right before preparing the actual update.
If you want to double check things, they can also refer to a blockchain auditing company. These companies have the right experience with blockchain solutions and will audit the update you want to implement in your blockchain and offer advice on how to implement new solutions safely.
This guide was contributed by Dmitry Mishunin, Chief Executive Officer and Founder of HashEx, tech entrepreneur. Tech savvy founder, he is passionate about startups growing into enterprise.
How to Reduce Number of Risks During Fork?