INTRODUCTION.
It's indeed another week of learning. I always delight to read each week's presentations to improve my little knowledge about cryptocurrency, which is where the big businesses/establishments of this world is heading to. As it is often said; practice nake for improvement. Apart from reading the presentations, doing the homeytask is another interesting aspect of the learning that has greatly improved my knowledge. Though most times I fear doing the homework task, but on a second thought, I often tell myself "if I don't do the homework task, I won't be sure I learnt it."
Today I will be presenting my homework task on *Blockchain Fork.
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.
Prof. Awesononso.
Fork is defined variously as: "what happens when a blockchain diverges into two potential paths forward" "a change in protocol" or. a situation that "occurs when two or more blocks have the same block height"
Wikipedia
From the above two explanations, I then deduce my own explanation as a situation where a blockchain protocol undergoes a change or upgrade based on the need, which could be to accommodate the expectations of the miners or disagreement between the users.
This usually happened when the developers sense that something fundamental about a blockchain needs to change or upgraded. It could also be as a result of security breach like a major hack or a disagreement within the users. This can result in the creation of two versions of the blockchain where miners will use either the old one or the new one.
The option of using either the old one or the new depends on the type of fork that took place. There are two types of fork and each has it different kind of change. The next two subheadings discusses the two different types fork namely Hard Fork and Soft Fork.
This is one of the forks that happens on a blockchain. Whenever this type of fork occured or take place, it usually results in the splitting of the blockchain.
It changes the software and the nodes running on the previous version of the software will no longer be accepted rather it will become invalid on the new version thereby requiring those who want to mine on the new version to upgrade to the latest version of the software.
Screenshot
A hard fork is an irreversible divergence from the original version of the blockchain. In a situation where majority of the community do not have unanimous decision for the new version and decides to continue using the old version, the blockchain will split, creating a new separate currency that will still be using the variant of the old software.
Example of Hard Fork: What happened to ethereum some years ago is a typical example of Hard fork. One of their applications called the Decentralized Autonomous Organization (DAO) was hacked and many coins were stolen. They embark on a hard fork to reverse the effects. Although minority opposed the idea but both the developer and the majority went ahead. Those minority that oppose the idea and did not upgrade their software continue to mine. The majority that upgraded to the new chain, retained the original Ethereum symbol, while the minority that support the old chain were given the term Ethereum Classic.
Unlike the hard fork, the soft fork does not cause any split in the blockchain neither does the nodes see the block of the software as invalid. Basically, soft fork is just a software upgrade implementation which does not involve the update of the nodes to the new protocol for it to function, that is why it doesn't split.
Screenshot
In soft fork, the new rules are regarded as valid and followed, such new rules still create block on the chain which are accepted as valid by the old rules thereby making no room for splitting.
Example of Soft Fork: Typical example of a soft fork is when there is an adjustment in the block size like in the case of Segregated Witness. The main idea for SegWit was to increase the number of transactions that could be included in each block. This will be achieved by freeing up some space in each block that could be used to include a bigger number of transactions. The block public key and the signature associated with each transaction was removed from the block. It is to be sent separately through a different messaging channel. This makes it possible to double the number of transactions in each block.
As discussed above, these two types of forks are not the same in any way. Below is a tabular form that itemize their differences.
Hard Fork | Soft Fork |
---|---|
Loosing up some of the rules. | Tighting up some of the rules. |
Causes spliting of the blockchain. | No spliting of the blockchain. |
Backward incompatible with old versions. | Backward compatible with old versions. |
Result in creation of new currency. | The same currency is maintained. |
Causes repetition of block heights. | No repetition of block heights. |
Requires majority support from holders. | Requires majority of the network’s hash power. |
- Bitcoin Cash; This is a Hard Fork. Bitcoin was forked in 1st of August 2017 and it resulted to a split between Bitcoin (BTC) and Bitcoin Cash (BCH). This happened when Bitcoin developers wanted to make some important changes and a disagreement ensued as to whether SegWit was the best approach to increase the number of transactions processed per block. They were not able to come to an agreement concerning these.
Those who were not in agreement with SegWit, decided to implement a different solution consisting of increasing the maximum block size which create a new version of the same code with a few modifications. These group that implemented the change re-branded their blockchain as Bitcoin Cash, while the group that did not implement the change maintained the original name of Bitcoin. Reference
Like you stated at onset of your lecture for the week, the data of Bitcoin block and that of Bitcoin Cash block are almost the same especially in the aspect of date and time as shown in the above pictures.
- Segregated Witnesses; This is a Soft Fork. The bitcoin community debated for a while the best way to increase the transaction speed. Since a new block of transaction is mined every 10 minutes on average, they decided to increase the number of transaction that could be included in each block of transaction. For these process to work, the community proposed a solution called Segregated Witness (SegWit). The concept of this was to free up some space in each block that could be used to include a bigger number of transactions but the big question is how?
To achieve this, they decided to remove from the block, the public key and the signature associated with each transaction because both the public key and the signature occupy about 60% of the whole transaction size. These are to be sent differently through another messaging channel which made it possible to double the number of transactions in each transaction block. The separation/segregation of the signature/witness have birth to the name -Segregated Witness (SegWit).
This change in the protocol (Soft Fork) was implemented in a way that allowed blocks forged in the old fashion/format to recognise and process blocks in new fashion/format.
Screenshot
Mr. Justin Sun bought the social network site that runs on the Steem blockchain, Steemit. Soon after Mr. Justinn Sun’s TRON Foundation acquired Steemit – Steem’s most prominent dapp, key community members opposed acquisition of the ecosystem’s biggest dapp, Steemit. Then on March 20, the angered community members hard forked the Steemit protocol and relaunched under the name ‘Hive’ using its own blockchain, that duplicated over all tokens from Steem -a near-exact copy of Steemit. This hard fork is as a result of an ongoing struggle for control of the Steem blockchain.
Hive on it's own, is an open-source DPoS governance blockchain that is created by implementing a hard fork of existing Steem code. It is therefore a hard fork of the Steem blockchain and runs completely independently from the existing chain. Yet steem users can access Hive accounts by logging in to Hive with their Steem account credentials.
Similarities in their Genesis.
There are similarities in the Genesis of both Steemit and Hive.
Another similarities I figured out is found at the drop down page, the three (3) lines at the top right side of the page.
Steemit drop down page
Hive drop down page.
The formation is almost the same with these similar seven (7) provisions on the drop down page:
- (1) Welcome
- (2) FAQ
- (3) Night Mode
- (4) Stolen Account Recovery
- (5) Change Account Password
- (6) Vote for Witnesses
- (7) Proposals (Steemit or Hive)
CONCLUSION.
It is very clear from this class that an individual can never determine what happens in a given blockchain nor make the final decision for all users or community members. The ever growing nature of technology and the increasing knowledge cryptocurrency and blockchain makes provision for expansion and diversion. The influx of people in the world of crypto makes it necessary for limitless expansion and diversion.
Thanks to the provision of Forks! With forks, blockchain will be upgraded to meet the needs of the community members, in the case soft fork. On the other hand, a fraction of the community members may decide to diversify without interfering with the activities of other members, in the case of hard fork. The later makes it possible for new cryptocurrencies to come into existence. The more new cryptocurrencies come into existence, the more competition there will be, which makes it extremely important for developers to focus on making theirs more reliable and stable to withstand the competitive force in the market.
Written By: @aizeeck