What is a "Hard Fork?!"
Introduction...
If you have invested any of your valuable time in the cryptocurrency space as of late, you have probably heard mention of the topic known as a “hard fork.” (Segwit2x ring a bell?) And although, the mention of a “fork” may initially spark a desire to chow down on some tasty grub, this well known and oft-mentioned term in the cryptocurrency community does not actually refer to food. Sorry to disappoint.
So what is a hard fork?
Let’s take a step back for a moment and review how cryptocurrencies operate, and to do that, we’ll use Bitcoin as an example.
How Bitcoin Operates...
Bitcoin is not a company. There is no CEO, there are no employees, there is no office. Bitcoin is run by a group of core developers who continue to work and devote their time and effort to the advancement of it’s fundamental technologies. There is a Bitcoin Foundation that pays this core group of developers and speaks on Bitcoin’s behalf in regards to governmental matters, however, this foundation in no way controls Bitcoin.
Bitcoin is also run on open source API. What this means is that anyone can actually view Bitcoins code, replicate it, and use it for their own intentions. There have been multiple altcoins that have taken this approach, ripped Bitcoin’s code, and launched as a new coin, separate from Bitcoin.
Bitcoin runs on a series of rules that are coded into it’s core technology. These rules are set in place in order to maintain the security and usability of Bitcoin and they are essentially the law of what is and what is not allowed to occur on the Bitcoin network. If I want to submit a transaction that is not verified by a miner using proof of work (the mining system Bitcoin uses), I am unable to do so because the Bitcoin rules will not see that as a valid transaction.
However, when the rules are followed and transactions are properly conducted, the history of those transactions are then stored in a community ledger and verified using blockchain technology. Each block in the chain contains multiple transactions that have been verified by Bitcoin miners and then added to the ledger. So, as more transactions take place and are verified with time, more blocks are then laid in the chain.
Hard Fork Example...
To better depict this idea, let’s consider the below image of a hopscotch court. In this image we have three blocks, laid down one after another, starting with the beginning, “1.” For the purpose of this example, we’ll call this new blockchain JumpyCoin.
As seen above, block #1 is the beginning of this new JumpyCoin blockchain. Within each block, 1, 2, and 3, there lies multiple transactions that have been completed in accordance to the rules of JumpyCoin code. As transactions are completed and placed into the ledger, JumpyCoin miners then verify each new block of transactions and then place them into the chain. Blocks 1, 2, and 3, in this image comprise the first three blocks of verified transactions that make up the JumpyCoin blockchain. If kept in this manner, as more and more transactions are completed, we will continue to see additional blocks laid down in this chain (4, 5, 6, 7, 8, etc.). However, because JumpyCoin, much like Bitcoin, is a decentralized cryptocurrency, and is maintained and advanced by a core group of developers rather than being operated as a company, it’s developers and/or possibly the community of JumpyCoin users may reach a time in which they see a need for an alteration of the JumpyCoin rules.
This could happen for a variety of reasons, ie. a desired increase to the network size, a desired change in how the coin is mined, a desired change in the coins core capabilities — just to name a few. For the purpose of this, entirely make believe, JumpyCoin example, let’s say the desired change by the community is to increase the size of the network, allowing for faster transaction processing speeds (cough Segwit2x cough).
Now, keeping in mind that there is no one central authority making directional calls for the future of JumpyCoin, but rather it is ran and operated by a community, we have to assume that a desired change to increase the size of the network may not be achieved as a unanimous decision amongst the community. At that point, the desired change turns into a division.
Now, we have a portion of the JumpyCoin community that would like to see an increase in network size and another portion of the community that thinks JumpyCoin is fine just the way it is. What do we do?
Time for a hard fork.
A hard fork is the result of opposing positions in a cryptocurrency community in regards to the underlining rules of how a coin should proceed moving forward.
In other words — It is a disagreement that results in a network split.
Let’s take a look at another picture, this time depicting a split in the blockchain.
We see here the start of the JumpyCoin blockchain that we saw in the previous example. Blocks 1, 2, and 3, remain the same, as those are the foundational blocks of the JumpyCoin network. However now, instead of continuing on with one singular chain, we see that the chain splits in two at blocks 4 and 5. This split in the blockchain, aka hard fork, represents an alteration of the underlying JumpyCoin rules which has resulted in two different chains. Along with the two different chains, we now have two entirely separate coins emerging from the foundations of the JumpyCoin blockchain. And although the two will always share the common roots from the beginning of their original blockchain, they can now operate completely independent from one another.
The portion of the community that did not want an increase in the network size continues to operate under the original set of JumpyCoin rules under the JumpyCoin name, while the portion of the community that branched off and did increase the size of the network now operates under those new rules and must operate as a new coin, ie. JumpyCoin2.
And that my friends, is a hard fork.
Congratulations @jkattt! You have received a personal award!
1 Year on Steemit
Click on the badge to view your Board of Honor.
Do not miss the last post from @steemitboard:
Congratulations @jkattt! You received a personal award!
You can view your badges on your Steem Board and compare to others on the Steem Ranking
Do not miss the last post from @steemitboard:
Vote for @Steemitboard as a witness to get one more award and increased upvotes!