What are Softforks and Hardforks?
What are Softforks and HardforksWhat are Softforks and Hardforks?
In the field of cryptocurrencies, hard forks and soft forks are a source of fear and speculation for traders and investors, as well as significant debate among the community. What do these words mean?
What is the difference?
Many users do not realize the difference between hard forks and soft forks and their impact on the network and ecosystem. Hardforks and soft forks are developments for crypto projects. A hardfork is a difference in the blockchain that occurs when non-elevated nodes are unable to verify blocks created by upgraded nodes that comply with newer updated consensus rules. A softfork is a divergence in the blockchain caused by non-upgraded nodes that do not comply with the new consensus rules.
A hardfork is related to blockchain technologies that reflect a fundamental change in a network protocol that validates invalid blocks and transactions. Hardfork requests that all nodes be updated to the current upgrade of the protocol. Code implementing the blockchain consensus protocol is typically created by a community of developers who actively work to propose and implement the best solutions and technological advances.
How does it work?
To understand how forks work, it is necessary to know who is involved in managing the network. For example, in Bitcoin and other common cryptocurrencies, there are three types of decision makers: developers, miners, and full node users.
Developers: They are responsible for creating and modifying the code. This code is open source and accessible, meaning developers around the world can submit changes and improvements.
Miners: Their purpose is to protect the network. They run the cryptocurrency's code and dedicate their computing resources to adding new blocks to the blockchain through consensus protocols. They also receive a block reward.
Full node users: They verify, send and receive blocks and transactions, but maintain a copy of the blockchain. One person can be a miner and a developer and a full node user.
What is a Soft Fork?
A soft fork is a backward-compatible blockchain protocol that introduces some improvements that do not critically change the functionality of previous versions. Network nodes can continue to operate (mining new blocks and/or validating transactions). Mining nodes run the risk of trying to put invalid blocks into the blockchain based on the new fork rules. All invalid blocks will be rejected because nodes updated to the new version will recognize them. This results in a loss of computing resources and forces each node to upgrade to the latest version of the protocol.
SegWit is the most well-known soft fork in the crypto world. It provides the opportunity to increase the speed of the network's operations. The main concept was to free up space in each block that could be used to increase the number of transactions included in a block. This was achieved by removing the public key and signature associated with each transaction from the block and sending it over a different messaging channel. Since the public key and signature take up approximately 60% of the total transaction size, it was possible to double the number of transactions in each block by sending them separately. This transaction was called Separated Witness because the “witness” (signature) of the transaction was separated from the transaction itself (i.e. sent separately). This improvement in the protocol allowed blocks produced in the old style to also be recognized and processed correctly. The protocol upgrade is backward compatible. The update to the Bitcoin Consensus Protocol allows all mined blocks to be processed and recognized. The update is backwards compatible.
What is a hardfork?
Hardfork is a backwards incompatible blockchain protocol. Such a type of network upgrade differs from previous versions of the blockchain and nodes running on older versions will not be recognized and accepted by the new version. This means that all miners and nodes must migrate to a new version of the blockchain protocol if they want to be part of the current forked chain. There are various reasons why developers might implement a hardfork: to fix significant security risks found in older versions, add new features, or reverse operations. Hardforks are only implemented with huge support from the cryptocurrency mining community. Only when the majority of group members reach an agreement on the hardfork, developers should start working on the code update. Typically, support for a hardfork should be between 90% and 95%.
One of the most famous hard forks is the Bitcoin and Bitcoin Cash split that took place in 2017. Bitcoin is the dominant crypto, but high fees and transaction times have pushed the community to create a new cryptocurrency that promises better performance. Segmentation SegWit was the best way to maximize the number of transactions processed per block. A portion of the community dissatisfied with SegWit decided to implement a different approach, which involved increasing the maximum block size from 1 to 8 MB.
This solution was not backwards compatible and there was no consensus decision. As a result, blockchain has split into two branches. The branch that accepts the change uses the blockchain as Bitcoin Cash (BCH), while the branch that does not implement the change uses Bitcoin (BTC). Bitcoin Cash is not backwards compatible, any block in size less than or equal to 1MB is considered valid for both the BCH protocol and the BTC protocol, but any block larger than 1MB is considered valid for the BCH protocol only. Since the implementation of this update, the history of the two blockchains began to diverge. When the blockchain branches, the underlying currency of the network also splits. If not, any block with a size compatible with both protocols will be processed by both blockchains, causing the double spending problem. The problem is solved by establishing a new currency (BCH) that shares the same history as the old currency (BTC) until the time of the split, and is then controlled separately and independently. At the time of the split, each BTC holder was given the same amount of BCH.