Steemit Crypto Academy [Beginners’ Level] | Season 3 Week 4 | Blockchain Forks
Hello again!
Welcome to the 4th week of season 3 of the Crypto Academy. In week 2, we time traveled a bit to the past as we talked about the Genesis Block. It was an easy concept that was clearly understood by most people.
This new week we are going to be talking about something a bit tougher. I want us to try something before we proceed;
Copy this hash
000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26fGo to https://www.blockchain.com/explorer/, paste and search.
Notice that there are two blockchains with the same hash.
This hash is the Genesis Block Hash for Bitcoin. If we explored the two blockchains separately, we would see similar data but with different crypto denominations.
But how?
How can two different blockchains have the same block (the Genesis block in the case)?
Well that question brings us to the world of Forks. So what are Forks?
That's exactly what we are going to find out in this lesson. Let's begin...
What is a Blockchain Fork?
Nothing is built perfect from the onset. Not even the mighty “unhackable” blockchain technology. Somehow, people will always be dissatisfied with anything and that’s why there are always improvements and new versions of a product.
Just like any other network or software, blockchains require upgrades to be able to accommodate ever growing human expectancies. These upgrades come in the form of Forks where the blockchain protocol is changed.
Forks on a blockchain can occur anywhere and at anytime because the code is open source. Developers can choose to add changes to a blockchain protocol after miners have agreed to said change. However, the new rules only have meaning if they are adopted by the full node users of the network. This is because of the decentralized nature of blockchains.
When a blockchain is undergoing a fork, the cryptocurrency of that chain normally sees great volatility due to uncertainty among the investors. However, if the fork is achieved successfully, it could be beneficial to the whole community.
There are two basic types of Blockchain forks namely; Hard Forks and Soft Forks.
Hard Forks
What is a Hard Fork?
A Hard Fork is a type of Fork that results in the splitting of the blockchain into two different chains. One chain would be a continuation of the original protocol while the other would follow new rules. The different chains share a common history but move parallel to each other post-fork.
Note: When I say post-fork, I mean the situation after the fork.
In this type of fork, the nodes that update to the new protocol will consider blocks from the previous chain as invalid while old nodes will consider new blocks as invalid as well. Also, blocks that were previously regarded as invalid could become valid. In short, the fork changes the consensus protocol so much that the new software becomes incompatible with the old one. So, this type of fork is regarded as Backward-Incompatible. Considering this, any node that wants to run on the new chain would have to upgrade to that network.
Hard forks result in the creation of a new currency on the new blockchain so formed. Since the new chain has a common history with the old, holders of coins on the old blockchain would likely have coins on the new blockchain too.
Bitcoin Hard Forks
Bitcoin has had its ups and downs. The journey for a scalable original cryptocurrency has led to a number of Forks on the Bitcoin Blockchain the most successful of which is the Bitcoin Cash hard fork.
In 2017, Bitcoin Cash broke off from the original Bitcoin Chain having its currency depicted as BCH. The aim of Bitcoin cash was to increase the Block size to accommodate more transactions. The nodes that accepted the new protocol upgraded to Bitcoin Cash and started to run on that blockchain. These nodes could no longer validate Bitcoin Transactions as they no longer recognized the rules of that chain.
Other Bitcoin hard forks include Bitcoin Gold, Bitcoin Unlimited,etc.
Soft Forks
What is a Soft Fork?
A Soft Fork is a type of Fork that brings actual upgrade to a blockchain network. What I mean is that unlike a Hard Fork, this type of fork improves the original blockchain without causing a split in the direction of the chain. There is a common history and a common direction post-fork.
A Soft fork does not require nodes to upgrade to the new protocol to be able to operate on the network. Upgraded nodes and old nodes can still effectively work together to create blocks on the chain. Blocks created with the new rules are still regarded as valid by old blocks. Considering this, this type of fork is regarded as Backward-compatible.
A Soft Fork normally occurs when most or all the miners agree to the intended upgrade.
Bitcoin Soft Works
Straight to the point, let us talk about Segregated Witness. Segregated Witness (SegWit) is a bitcoin soft fork that was implemented to reduce the size of a Bitcoin Transaction by changing the format that these transactions come. This would increase the number of transactions that can be contained in a block.
This Soft Fork was implemented in 2017. The irony is that the announcement of this upgrade led to the Bitcoin Cash Hard Fork because a part of the community did not like the idea.
Just like any soft fork, the blocks from this upgrade are seen as valid by old nodes.
Another Bitcoin Soft Fork is the Taproot which is supposed to be implemented by November. This particular Soft Fork is supposed to improve the privacy of the Bitcoin blockchain.
Differences between Hard Forks and Soft Forks
As we can see, there are clear differences between the two types of Forks. Let’s go ahead and highlight some of these differences;
Hard Fork | Soft Fork |
---|---|
Results in a complete split of the blockchain | There is no complete split and one blockchain remains |
A new currency is created | No new currency is created |
Results in repetition of block heights | There is no repetition of block heights |
It is backward incompatible | It is backward compatible |
Reasons for blockchain Forks
Blockchain Forks happen for several reasons which include;
To fix bugs on a network and improve security: Like I said earlier, no blockchain is built perfect from the get go. Sometimes bugs are discovered during stress tests and otherwise. These are addressed by forks so that they are not exploited by hackers.
To improve the scalability of the blockchain: This is a clear reason for forking on a blockchain. Forks are necessary for increasing block size or reducing the block time of a blockchain for the purpose of improving scalability. Bitcoin has undergone series of Forks because of this particular reason. More relatable, we have probably heard that Ethereum plans to switch its Consensus protocol to Proof-of-Stake. This would happen by a Hard Fork of the original chain.
To reverse theft: There have been instances when coding errors were exploited by hackers and coins were stolen from crypto wallets. A hard fork can solve such a problem making it seem like it never happened if it is done at a block prior to the theft. Recall that a hard fork results in holders of the original currency having currencies on the new blockchain. This was the case of Ethereum after the infamous DAO Attack. Back in 2016, some Ether was stolen on the Ethereum Blockchain. To reverse the effects of the hack, a hard fork was proposed but not everyone agreed to it. The forked chain continued with the name Ethereum while the old chain was renamed Ethereum Classic. Investors on the new Ethereum Network were able to receive their Ether back while those on the old chain continued with the coin ETC.
To settle disagreements: Sometimes there are disagreements on a blockchain that can lead to a break-off chain of the original chain. There might be intended ideas or policies that not everyone would agree to. Just like the case of Ethereum, the community that voted against the Fork remained as Ethereum Classic where the hack occurred. Bitcoin cash is also another example of this reason because they did not accept the idea of SegWit. Another example of this situation is the Steem Blockchain. Which brings us to the next sub-topic...
Steem Hard Fork
Steem has experienced a major Hard Fork on its blockchain. Some of you might not know it but there was a tiny disagreement on the blockchain once upon a time.
You see the thing is that on every decentralized setting there are bound to be different views. When the integration of TRX on the Steem blockchain was announced, there were two sides - those that were all in and those that did not fancy the idea. A series of events eventually led to the forking of the Steem Blockchain to create the branch, Hive
Hive is a blockchain that powers the the Hive Blog. Hive Blog is a decentralized social media blogging platform just like Steemit. The currencies on Hive Blog are HIVE and Hive Backed Dollars (HBD) with the influence token known as, you guessed it, Hive Power (HP).
Here are screenshots of the two different platforms;
The similarities are so uncanny. You can go ahead and visit the site https://hive.blog and compare it to Steemit.
Let’s check out some similarities on the Block Explorers. Starting with Steem, we will go back to the Genesis block as we learned the previous week.
Note the highlighted parts of the block. The mining time is 17:05 UTC+1 (Nigerian Time)
Now to check Hive, we go to https://hiveblocks.com/
Next, we search for the Genesis Block by searching "1".
The Block data comes up. We notice that the Mining date and time are similar to that of Steem. Even the seconds are precise. The little cake most likely indicates when the blockchain was born.
To view more click on "Show raw virtual op data"
The data comes up.
We can see that the miner @initminer is similar with that of the Steem. Also, the number of vests are the same.
Now let us check Block 5000 on both blockchains;
We can see that Timestamps are similar and the miner is @steemit63 for both chains.
These similarities prove that no matter how far apart or distant we are, we all share a common history that cannot be changed.
Conclusion
Due to the decentralized nature of blockchains, no single person or entity can make managerial decisions on the network. The diverse nature of man makes it difficult to satisfy the needs of everyone at once. Forking, however, makes it possible for different groups of people to have their own decentralized community without interfering with others.
Blockchains go through the process all the time for various reasons. A hard fork would cause the creation of a new cryptocurrency on a different chain while a soft fork would just lead to improvements on the original chain.
In general, forks are necessary if a blockchain is to expand and overcome any issues.
Homework
1.What is a Fork? (In your own Words)
2.Explain in details what a Hard Fork is with examples (Can be of any blockchain).
3.Explain in details what a Soft Fork is with examples (Can be of any blockchain).
4.What are the differences between Hard Forks and Soft Forks?
5.Explain the following Bitcoin Forks and explore the blockchain where necessary. Indicate if they are hard forks or soft forks;
- Bitcoin Cash
- Segregated Witnesses
6.Write on the Steem and Hive Hard fork and show similarities in their Genesis Blocks(Provide screenshots).
Note: All Screenshots should have your username as a watermark on it.
Rules/Guidelines
- This Task will run until 24th July 23:59 UTC.
- Your article should be at least 300 words long.
- Make sure you post this assignment in the Steemit Crypto Academy Community.
- Use the hashtags #awesononso-s3week4 and #cryptoacademy among your first 5 hashtags and tag me @awesononso.
- Plagiarism and content spinning is not tolerated in the Academy. Repeat offenders will be blacklisted and banned from the academy.
- All outsourced images should be copyright free and properly referenced.
- Only students with a minimum of 125SP and a reputation of 50 are eligible to participate. You should also not be powering down.
My Comment section is open for any questions or suggestions.
Thank you.
@awesononso - your post title may be wrong... Summary ?
It was an mistake. I have corrected it. Thank you.
Hello professor here is my entry:
https://steemit.com/hive-108451/@offia66/steemitcryptoacademy-beginners-level-or-season-3-week-4-homework-for-professor-awesononso-or-blockchain-forks-by-offia66
Hello professor @awesononso this is my homework task
https://steemit.com/hive-108451/@culzee/crypto-academy-season-3-week-4-homework-post-for-professor-awesononso-topic-blockchain-forks
Hola profesor @awesononso, quiero comenzar aqui a realizar mis tareas, que debo hacer? necesito alguna presentacio o alguna etiqueta? o simplemente presento la tarea y listo? ya lei la clase anterior Block Genesis, espero su respuesta.
si cumples con los requisitos establecidos para el nivel creo que no hay problema alguno, solo publique su tarea y siga las instrucciones de que da el profesor.
si no cumple con los requisitos debe hacer los logros y las tareas fijas para poder ser elegible.
Si cumplo más de 125 SP, mas de 50 de reputación y ya culmine mis logros, entonces realizare esta tarea para presentarla, muchas gracias amigo @g0h4mroot por la respuesta.
Hola amigo debes cumplir con los requisitos que se describen en la tarea para el nivel básico y luego realizas tu post con la asignación de la semana
Hola amiga muchas gracias, ya estoy trabajando en la tarea.
hello dear profesor, this is my homework for this week, thanks!
https://steemit.com/hive-108451/@g0h4mroot/steemit-crypto-academy-beginners-level-or-season-3-week-4-or-blockchain-forks-for-the-cryptoprofesor-awesononso-by-g0h4mroot
Good Night professor: My homework https://steemit.com/hive-108451/@isgledysduarte/steemit-crypto-academy-beginners-level-or-season-3-week-4-or-blockchain-forks-homework-post-for-awesononso
A really good lection.
Hello Professor @awesononso ,
This is My Entry for homework post for this lecture.
Thank you.
Hello Professor @awesononso. Please sir, here is the link to my assignment:
https://steemit.com/hive-108451/@whileponderin/crypto-academy-season-3-week-4-homework-post-for-professor-awesononso-topic-blockchain-forks
Hola profesor, mi tarea de la semana.
https://steemit.com/hive-108451/@maralop16/steemit-crypto-academy-beginners-level-or-season-3-week-4-or-blockchain-forks-or-maralop16
Thank you Professor @awesononso. The lecture really opened my eyes to many things.
Below is the link to my homework.
https://steemit.com/hive-108451/@msquaretk/crypto-academy-season-3-week-4-or-homework-post-for-professor-awesononso-blockchain-forks
Thank you.