Steemit Crypto Academy Contest / S4W4 - Blockchain Forks.

in SteemitCryptoAcademy2 years ago

Hello lovely community around the globe. Hope your are all Hale and hearty. Today i choose to write SEC task set by Cryptoacademy which is about Blockchain Forks. Let's begin:

IMG_20220923_110149.jpg

Using your terms to define what is a fork in general?

We know that blockchain is such a versatile technology that has attracted the attention of diverse domains of life and its use cases are rapidly increasing. Some of the well-known features of blockchain are security, transparency, accountability, auditability and decentralisation etc. For sustaining such a feature-rich technology there must be a well-defined set of rules to maintain the integrity of the technology.

To put it simply, for the smooth functioning of blockchain its operation must synchronise with the predefined set of rules or codes. Different operations of blockchain like verification of transactions, recording of transactions, block size, rewarding of miners etc are predetermined and executed through automated smart contracts

To keep the blockchain up to date and secure, at times developers may realise the need to bring some change in the protocol of the blockchain. If the proposed change is not acceptable to the developers ( miners or full nodes ) of the blockchain, it may result in the divergence of blockchains that's known as the forking of blockchains. So the point to understand here is that, forking results when developers do not reach a consensus on the recommended protocol change.

Keeping aside the type of forking, if we only try to focus on forking in general then we may understand it as a proposal to implement any change in the protocol of blockchain. Depending upon the extent of change in protocol, further course of blockchain may be determined by developers actions who may either acquire severance and form separate blockchain or continue with parent chain unchanged.

Using any blockchain example, explain what a Hard Fork is.

Hardfork in the blockchain is said to have occurred when the proposed amendments in protocol governing the blockchain are unacceptable to one group of developers and result in the formation of two separate blockchains. The amendments implemented grossly change the working of blockchains and lead to creation of a separate blockchain. So hardfork results in the formation of a new blockchain where as old blockchain also keeps on working. The developers who don't agree with the proposed change in code continue to work on original blockchain whereas those who support the change continue to work for a new blockchain formed.

Let's take an example of hard forks in Bitcoin. We know that Bitcoin follows the Proof of Work algorithm and block size of 1 megabyte and block creation time of about 10 minutes. The transaction throughput of BTC is about 3-7 transactions per second. For the sake of comparison, let me mention that the transaction speed of XRP is about 1500 TPS. So you can understand the difference in transaction speeds of these two well-known coins. The poor scalability of BTC has led to many hard forks from time to time. Some of the coins created due to the hard fork of Bitcoin are Bitcoin Cash Bitcoin Gold Bitcoin Classic, Bitcoin XT etc

In 2014, Mike Hearm launched a Bitcoin software update that aimed to increase the scalability of oin by increasing the block size from 1 megabyte to 8 megabytes. The miners who updated this new software diverged from BTC blockchain and formed a new Bitcoin XT blockchain. Due to several reasons, Bitcoin XT was abandoned by miners and it doesn't exist now.

Similarly, in 2016 Bitcoin classic was formed as a result of a ha ard fork that proposed to increase the block size from 1 MB to 2 MBs. Bitcoin Cash is another coin that was created in 2017 as a result of a hard fork that increased the block size to 8 megabytes without following Sagwit

It is not only the issue of scalability that can trigger hard forks but forking can also be proposed to resolve security breaches or strengthen the security, add new features to the blockchain, change in consensus algorithm etc. The point that I want to emphasize here is that any change that doesn't meet unanimous support from developers' community can trigger forking.

Using any blockchain example, explain what a Soft Fork is.

Soft forking of blockchain refers to minimal change in the code of Blockchain to incorporate some new features or improve the already existing features. The nodes that upgrade to the new version of the software can still communicate with older nodes, as a result, there is no divergence of blockchains and that's the reason we say that soft fork is backwards compatible. For the successful operation of a soft fork, it must be adopted by a majority of the nodes and not necessarily by all nodes.

Before giving an example of a soft fork from the crypto space, let's understand it out of the crypto sphere. Suppose you are playing a multiple-player game on your smartphone or laptop with your friends and an update is launched. It is seen that whether we upgrade or not, we will still be able to play the game but those who upgrade will have some new features added to their game. On the contrary, hard f ork can be understood as the upgradation of operating systems like UNIX to Linux. These are two different operating systems. Operations performed on UNIX are not compatible with Linux and vice versa

One simple example of a hard fork would be a reduction of blocksize. Suppose any blockchain which has a block size of 1MB plans to reduce its block size to 0.5MB. it means all the existing nodes can still validate the blocks without doing anything. If the majority of miners only validate blocks up to 0.5 MB then the soft fork would be successful but if the majority keep validating to 1 MB then the soft fork won't be successful or may result in a hard fork.

Let's take a more practical example from the crypto ecosystem. Segwit (segregated witness ) was developed in 2015 but implemented as a soft fork in the crypto ecosystem in 2017. This update proposed to remove the signature of witnesses from block data and keep only the transaction data in a block ao that more transaction data can be accommodated in a block that can in turn increase he number of transactions processed per second (scalability) on the Bitcoin network.

What are the differences between Hard Forks and Soft Forks?

Both the hard fork and so soft fork are done in good faith and intend to bring improvement to the blockchain. There are some gross differences between the Hard fork and Soft fork as mentioned below :

  • Hard fork proposes to implement new changes so much so that there are gross changes in the new and old operating system while as in soft fork minimum changes are planned.

  • Hardfork declares all the pre-fork nodes as invalid while soft fork doesn't. So softfork is backwards compatible whereas hard fork is not. Post hardfork nodes cannot communicate with prefork nodes while post-soft fork nodes can communicate with non-forked nodes.

  • For the success of a hard fork, all the nodes must upgrade to the new codes while in a soft fork only the majority of the nodes can upgrade.

  • Hardfork results in the formation of two separate blockchains and the creation of one new token for the new blockchain formed. Soft fork doesn't result in divergence of blockchains but the main blockchain keep on functioning as it was functioning pre-fork.

  • Soft fork can result in a hard fork if consensus doesn't develop however reverse is not true.
  • A hard fork can validate previously entered invalid transactions and can also invalidate previously entered valid transactions. So hard fork can validate or invalidate transactions. A soft fork cannot invalidate previously entered valid transactions but can only validate invalid transactions.

Explain the Steem and Hive Hard fork by showing the similarities/differences in their Genesis blocks.

Steemit was launched in 2016 as a Decentralised social media platform that would reward its users for content creation through its native token Steam and reward token Steam Backed Dollar (SBD) The platform kept working in this way till 2020 when the integration of steemit with Tron was announced. This merger of two networks was perceived as a hostile takeover and impingement of the decentralised functioning of Steemit by some developers. Despite all possible negotiations from both sides, consensus couldn't be developed on this step of integration of Tron with Steem and it resulted in a hard fork of Steem and gave rise to Hive.

Hive blockchain was created through hard fork 0. 23 on March 2020 as a decentralised blogging social media platform to reward users through native token Hive and governance token HBD (Hive backed Dollar). Hive developers claim that the hard fork resulted to prevent the spirit of a decentralised network and claim Tron integration as a corporate takeover of Steemit.

Let's look at genesis blocks of two platforms and interpret the data deciphered thereof :

IMG_20220923_101255.jpg

Steemit genesis block


IMG_20220923_102200.jpg
Hive genesis block


From the screenshots shown above, we can see that the genesis block of both networks is identical. We can see that transaction id, witnesses , timestamp etc are same. In hardforks, the newly created blockchains download the transaction history of old blockhain and therefore share common ancestory.

To understand this concept further let's take the example of the same block number mined after a hard fork. Let's say block number 61000000.

IMG_20220923_140247.jpg

source


IMG_20220923_141526.jpg

source
From the screenshots above, we can see that the said block of steem blockchain was created on 24/01/22 whereas huve was created on 17/01/22. Other details like witnesses, transactions Id etc are also different for both the blocks of the same number.

Conclusion

Forking blockchains involves a change in the code or software of blockchain to maintain the versatility of the technology in terms of features. Different blockchains have undergone working from time to time and implemented different protocols to maintain the integrity of the network. Hard forks have given rise to new blockchains and tokens whereas soft forks have sought to improve the blockchains without divergence.

Sort:  
Loading...

You explained in great detail whether it was a hard fork or a soft fork. I enjoy the content of your post and I am very happy to read it. You also explain the similarities and differences between Steem and Hive.

I also shared a post about blockchain Fork, if you have time please take a look and I'm very happy.

 2 years ago 

Thank you for the compliment . I shall surely visit your blog soon.

You understood in great detail what a hard and a soft fork is all about. I really admired the content of your post and I must say, I was very much happy to read it. Especially the similarities and differences between the hive and steem.

Good luck my friend.

 2 years ago 

I appreciate your time that you took to go through my post . I am pleased to hear that you find my write up easy to understand. Good luck

You were quite clear about the differences between a soft fork and a hard fork. The information in your piece is interesting, and I'm glad I got to read it. The parallels and differences between Steem and Hive are also discussed.

 2 years ago 

Nice to hear that you find my write up clear and easy to understand. I appreciate your time and engagement here .

 2 years ago 

From you post I have learned a lot about the Steem and Hive fork. I love everything that you have explained as regards to the questions that was asked. Best of luck to you.

 2 years ago 

Good to hear that you got to learn something from my post . I appreciate your time and efforts to interact here.

I am learning gradually from the content that you share . I couldn't understand all but still it was easy to understand.

 2 years ago 

I have shared my compilation post link in my blog . You can find beginner's task there . Go thriugh them one by one . You will get to learn basics .stay consistent in whatever you do

To keep the blockchain up to date and secure, at times developers may realise the need to bring some change in the protocol of the blockchain.

This is need of every softwares, every other things. To be get updated. So why not Blockchain need this, you definitely done a good job here by defining fork in easy ways.

You added difference between hard fork and soft fork very nicely. At last good post about forks by your side.

 2 years ago 

So why not Blockchain need this

Yes in case of softfork it is easy to understood on these lines but hardfork poses problem at times .

Thank you for your valuable feedback .

TEAM 4 CURATORS

Congratulations!
This post has been upvoted through steemcurator07.
We support quality posts anywhere and any tags.
Curated by : @deepak94

 2 years ago 

Thanks for your constant support .

 2 years ago 

Hardfork in the blockchain is said to have occurred when the proposed amendments in protocol governing the blockchain are unacceptable to one group of developers and result in the formation of two separate blockchains.

That's very true friend. Hard forks are a result of a group of developers and other people whose vision didn't align with the upgrade proposed and this causes split opinions and different chains at the end.

From the screenshots shown above, we can see that the genesis block of both networks is identical

Yes, after hard forks the two chains will have the same genesis block, this is just like we saying that the origin still remains the same even after they went their different ways. It's good to read your entry and I wish you good luck in this contest.

 2 years ago (edited)

Hello friend,

To keep the blockchain up to date and secure, at times developers may realise the need to bring some change in the protocol of the blockchain.

Yea friend this was the main aim why fork were created on Blockchain, no matter how good a project is always expected to keep developing to meet current standards

Thank you very much for sharing, please you can check my own entry here

wishing you success

 2 years ago 

no matter how good a project is always expected to keep developing to meet current

That's true .

Thank you for your valuable interaction .

Coin Marketplace

STEEM 0.18
TRX 0.13
JST 0.029
BTC 59269.62
ETH 3112.63
USDT 1.00
SBD 2.41