Latest news about Bitcoin and all cryptocurrencies. Your daily crypto news habit.
A fork classically means the further development of open source software. Since open source software is naturally freely accessible and can be downloaded by anyone, everyone has the opportunity to make their own copy of the software and modify it for their own purposes. This would have forced the person to make the software.
The modification of the software should not be seen as an evil intervention, but even as an elementary and desirable part of open source projects. Users with programming knowledge can thus add new functionalities according to their own needsâââso different distributions of software can exist.
What do forks have to do with Blockchains?
Starting from a public blockchain like Bitcoinâs, it is ultimately based on open source code that can be locally modified by developers as described above. However, with blockchain technologies, it is essential that the network participants agree on certain points. It would, therefore, be problematic if some miners in the network, for example, used the SHA-256 hash function and other network users used a different hash function. After all, you donât just want to write transactions into your own âbudget bookâ, but to do them in such a way that they are recognized by as many network participants as possible.
In practice, this looks as follows:
- There is a generally accepted Bitcoin version.
- The users want new functionalities, e.g. an increase of the block size to solve capacity problems.
- Any user copies the current Bitcoin software and modifies it with a higher block size.
- He makes the software available to other users who can also use it.Now there are two versions of Bitcoin software on the network and users can decide which to use.
But beware: It is important to differentiate between blockchain forks and software forks. While in the latter case forks are used to develop new or additional services on the basis of existing services, in the blockchain context forks are more aimed at providing an alternative.
Forks must be classified in particular in terms of their effect on the existing software or on the blockchain network:
Types of forks
To understand the explanations, you should know what Nodes is all about. In short, the nodes store the blockchain as network nodes and provide it to the network. At best, the current consensus of the blockchain, i.e. the most recent transaction history, is stored decentrally on all nodes.
All nodes in the network must be operated with compatible software so that they can agree on a blockchain. If a change proposal is submitted, there are two ways to perform the fork:
Soft fork
A soft fork is characterized by its downward compatibility. So there may be nodes in the network that work with the new software. This does not lead to compatibility problems: The nodes with the old software also accept the opinions of the users who have now opted for the new software. On the other hand, the users want to establish their standard with the new software and therefore rely on their new procedure for all blocks.
As soon as the majority in the network is reached, all nodes agree on the new blocks.
âOldâ and ânewâ nodes continue to work together
Photo by Ashwini Chaudhary on UnsplashHard fork
This type of fork is not downward compatibleâââand therefore brings with it special challenges to guarantee consensus in the network. Existing nodes must update their software to take the new blocks into account (in the Soft Fork, existing nodes could simply take the new blocks into account due to compatibility). The incompatibility of the versions means that the network can be split, so to speak: Users who are in favour of or against accepting the changes then operate on different blockchains. This is called a blockchain fork (not comparable to a software fork). It is important to emphasize that not every hard fork creates a new, stable blockchain. Ethereum now has five hard forks behind it and only one of them has formed a new blockchain with Ethereum Classic.
âOldâ and ânewâ nodes go their separate ways. Two blockchains can be created.
Photo by Sebastian Pichler on UnsplashHow is a fork performed?
Letâs take a look at a fork using Bitcoin as an example. The Bitcoin Core Team may be able to suggest changesâââbut they canât enforce them alone. In the end, the miners decide which blockchain to follow. This preserves decentralization by leaving the network the power to make decisions. The core team can certainly push ahead with further developmentsâââbut it has to keep pitching before the miners and hoping for acceptance.
In the past, Ethereum and Ethereum Classic were indeed a decisive split in the Ethereum Blockchain: After the DAO hack, the community intensively discussed undoing the transfer of the hacked coins by agreeing on a blockchain that does not include this transfer. Of course option A) Hacker may keep his loot with option B) Action of the hacker is reversed is not compatible. So the procedure requires a hard fork. And as long as 100% of the participants do not agree on a version, the blockchain is split. This was done by having two Ethereum blockchains: Ethereum Classic (without Hard Fork: the hacker remains in possession of the stolen coins) and Ethereum (with Hard Fork: the unwanted transaction was reversed).
Now there are different ways to perform a forkââânot to be confused with the different types of forks.
Miner Activated Fork
In this case, the miners in the network decide whether a fork should be carried out or not. They signal that they want to perform the fork by attaching this information to confirmed blocks. If within the last 1000 blocks a sufficient amount of miners has signaled the fork, the changes will be enforced. For example, the new version becomes valid from 75% approval, from 95% even old blocks that are not marked with the new version are rejected.
Photo by Enrapture Captivating Media on UnsplashUser Activated Soft Fork (UASF)
The User Activated Soft Fork (UASF) is a fork that is triggered by a majority decision among the full nodes. It is scheduled for a certain date on which the majority of full nodes must agree to it in order for the fork to actually take place.
Miner Activated Soft Fork (MASF)
With a Miner Activated Soft Fork (MASF), the miners use their computing power to decide on the fork as their voting right and initiate it. This makes the process more efficient, as the full nodes can then accept the changes. However, MASF entails risks because the network relies on computing power as a benchmark. For example, the computing power can say that the soft fork is taking place, but the miners actually continue to work with the old version without the soft fork.
What are Soft- and Hard-Forks? was originally published in Hacker Noon on Medium, where people are continuing the conversation by highlighting and responding to this story.
Disclaimer
The views and opinions expressed in this article are solely those of the authors and do not reflect the views of Bitcoin Insider. Every investment and trading move involves risk - this is especially true for cryptocurrencies given their volatility. We strongly advise our readers to conduct their own research when making a decision.