Have you ever wondered where in the world all these different versions of Bitcoin came from? Or perhaps you’ve come across the term “fork” In the middle of a discussion about crypto and were wondering what that could possibly mean in the context of blockchain. If that’s true, then you’re in luck; down below we’re going to take a look at exactly what a hard fork and soft fork are in the context of blockchain, how they work, why they’re useful, and why you should know about them.
Blockchain: Hard Fork vs. Soft Fork
Down below we will cover exactly what the hard fork is and why it is an especially useful tool for a blockchain looking to undo a damaging hack or upgrade its functionality and the different instances either option lends itself to.
What is a Fork?
A fork is a divergence in the basic protocols that validate blocks on a blockchain. As you might know, each block in the blockchain is a unit of memory that contains a record of transactions made on the blockchain.
The entirety of the blockchain together serves as an immutable transactional history of the whole blockchain and is the foundation on which cryptocurrency, smart contracts and other emerging blockchain-based technologies are created — trustless immutability.
Because Blockchain serves as a public ledger of transactions, with full copies of the blockchain’s complete history distributed across every member node in the network, fraudulent transactions can be quickly invalidated.
The important thing to understand is how a blockchain checks for the validity of a block. In a Proof of Work protocol, like that used by Bitcoin, “miners” race to solve cryptographic puzzles with the answer that produces — through cryptographic means — the correct transaction record. Other protocols like Proof of Stake use a different methodology to select who gets to solve this problem, but the act of validation itself is essentially the same.
One of the key components of any blockchain, however, is that every node in the network works by the same validation rules. That way, other nodes can check the ledger of transactions and verify the results of any node’s answer to the cryptographic puzzle. If a different protocol is used, then there is no way to check the validation of someone’s answer because they arrived at it through different means. Two different protocols will produce two different answers, which creates two different blocks.
Like a fork in the road.
Think of two parties approaching the fork in the road; Some members of a party might go one way, other members the other.
Hard forks occur when new protocols lead to the formation of an entirely new blockchain that is separate from the previous blockchain. In a hard fork, all of the nodes must upgrade to the new protocols that oversee block validation — any notes that do not upgrade will continue on the older blockchain.
This can, and has, split communities in two, as was the case with Ethereum Classic and Ethereum 2.0 — the latter of which was created to reverse a damaging hack — and the numerous bitcoin derivatives like Bitcoin Cash, Bitcoin Gold, and Bitcoin Diamond. In each of these cases, a hard fork was used to either add new functionality or deem a series of transactions invalid – or valid.
Hard forks can be difficult to implement but are pretty much the only way developers can add meaningful functionality or change things like consensus algorithms within a blockchain. This is because you can’t so much upgrade a blockchain as you can create a new one under the same or similar name. The immutability of a blockchain is exactly what makes the technology secure and attractive for certain applications.
With a soft fork, the party stays together but not everyone has a map.
As opposed to a hard fork, in which only the nodes which have upgraded to the new software protocols can observe newly validated blocks, in cases where protocol changes are implemented that leave even nodes running the old protocols able to see newly minted blocks on the same blockchain is a soft fork. While a majority of nodes still need to upgrade in order to maintain the security of the blockchain, Soft forks allow developers to make some changes to the blockchain without splitting the community in two.
To illustrate the difference between a Soft Fork and a Hard Fork think of the way an MMO rolls out its updates. Patches may be rolled out which allows players to delay their update and continue to play online, accessing the same game as everyone else even if their game doesn’t have all of the most recent updates — you’re still connected to the same game as everyone else. This would be a Soft Fork.
On the other hand, think of a World of Warcraft private server with its own ruleset — in this case, you’re playing by radically different rules that are completely separate from the original WoW — the way a hard fork creates a brand new chain that doesn’t interact with the previous one whatsoever.
And that, in simple terms, sums up how forking works in Blockchain. The nitty-gritty is substantially more complicated, but now you’ll know what someone means by a blockchain fork in a discussion surrounding crypto or other blockchain-related tech.
Got any more blockchain or crypto questions? Feel free to reach out to us in the comments below or take a stroll through our blockchain archives.