Steemit Crypto Academy [Beginners’ Level] | Season 3 Week 4 | Blockchain Forks

in SteemitCryptoAcademy2 months ago (edited)

Teacher.png

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
    000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f

  • Go to https://www.blockchain.com/explorer/, paste and search.

  • Notice that there are two blockchains with the same hash.

Blockchain.PNG

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.
BTC Block.PNG

Data of Bitcoin Block 0

BCH.PNG

Data of Bitcoin Cash Block 0

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...

image.png

What is a Blockchain Fork?

image.png
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.

image.png

Hard Forks

image.png

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.

Hard Fork.png

A typical Hard Fork Structure


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.

image.png

Soft Forks

image.png

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.

Soft Fork.png

A typical Soft Fork Structure


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.

image.png

Differences between Hard Forks and Soft Forks

image.png

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 ForkSoft Fork
Results in a complete split of the blockchainThere is no complete split and one blockchain remains
A new currency is createdNo new currency is created
Results in repetition of block heightsThere is no repetition of block heights
It is backward incompatibleIt is backward compatible

image.png

Reasons for blockchain Forks

image.png

Blockchain Forks happen for several reasons which include;

  1. 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.

  2. 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.

  3. 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.

  4. 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...

image.png

Steem Hard Fork

image.png

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;
Steemit.PNG

Steemit Main Page


Hive blog.PNG

Hive Blog Main Page


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.

Steem Genesis block1.png

Steem Gen Vest.png

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".

Hive Home.png

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.

HIve cake page.png

To view more click on "Show raw virtual op data"


The data comes up.

Hive Block 1 vest.png

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;

Hve 5000.png

Hive Block 5000


Steem Block 5000.png

Steem Block 5000


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.

image.png

Conclusion

image.png
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.

image.png

Homework

image.png

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.

image.png

Rules/Guidelines

image.png

  • 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.

image.png

Cc:
@steemitblog
@steemcurator01
@steemcurator02

Sort:  

@awesononso - your post title may be wrong... Summary ?

 2 months ago 

It was an mistake. I have corrected it. Thank you.

Good evening Prof. @awesononso, this is the third time am sending this message, my post is almost 4 days old and has not been reviewed, others who posted after me have been reviewed.

Please what's the of fence on my post. We are all human being for Christ sake.

That's the homework

https://steemit.com/hive-108451/@promo-nigeria/steemit-cryptoacademy-season-3-week-4-or-or-blockchain-forks-or-or-homework-post-submitted-to-awesononso

 2 months ago 

Hello Professor @awesononso ,
This is My Entry for homework post for this lecture.
Thank you.

 2 months ago 

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.

 2 months ago 

Hello Professor @awesononso
This is my homework post for your lesson.
Thank you

Good evening my Professor Awesononso! I just completed my homework task. Here is the link to it https://steemit.com/hive-108451/@aizeeck/crypto-academy-season-3-week-4-homework-post-for-professor-awesononso-presented-by-aizeeck
I eagerly look forward to hear your corrections.
Thanking you in advance!

 2 months ago 

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.

 2 months ago 

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

 2 months ago 

Hola amiga muchas gracias, ya estoy trabajando en la tarea.

 2 months ago 

Hello professor @awesononso
👇
this is my entry

 2 months ago 
 2 months ago 

Hello professor @awesononso, my home work has been reviewed. My homework link

Thank you.

Buenas tardes profesor, mi tarea de la semana TAREA SEMANA 4 Bendiciones!

 2 months ago 

Hi Professor @awesononso 🙋

Please find my homework task here.

Thanks for your lesson. 🙏

Furthermore, find below twitter link 👇
Twitter

Twitter.JPG

 2 months ago 

hi professor @awesononso please check out my homework post - Blockchain Forks.
thank you

Hello, professor @awesononso, thank you for the lecture on blockchain forks. I gained a deeper understanding of the concept and can easily identify blockchain forks now. Attached below is my entry for the homework task, looking for to seeing your review....

https://steemit.com/hive-108451/@pangoli/steemit-crypto-academy-season-3-week-4-topic-blockchain-forks-by-professor-awesononso-homework-task-by-pangoli

 2 months ago 

Hello Prof. @awesononso

Here's my entry

Here is my homework my professor @awesononso
Link

 2 months ago 

¡Hola, Buenas tardes @awesononso Aqui nuestra entrada

Tarde pero seguro, aqui estoy y presento mi tarea @awesononso feliz semana

 2 months ago 

Hola profesor @awesononso, aca dejo mi tarea, disculpe que la publique en raya. Gracias por su tiempo y dedicacion.

https://steemit.com/hive-108451/@exerjsg/steemit-crypto-academy-beginners-course-season-3-week-4-blockchain-forks