Crypto Academy / Season 3 / Week 4 - Homework Post for Crypto Professor @awesononso
Hi Steemians, this is my homework post for Professor @awesononso, on Blockchain Forks.
1.What is a Fork? (In your own Words)
From my understanding, a fork is a situation where a cryptocurrency or token project needs to make a technical updates to it's own code.
Put simply as any divergence in blockchain.
In otherwords, a Fork is a change to the software of the digital currency that either create two separate versions of the blockchain (Hard Fork) or upgrades the features/functionality of the existing blockchain (Soft Fork)
Blockchain fork are executed in any Crypto Technology Platforms.
A reasonable number of the miners has to agree to the new rules and also on what the valid block in the chain consist of.
2.Explain in details what a Hard Fork is with examples (Can be of any blockchain).
Hard Fork is a change in the blockchain protocol that is not backward compatible with the older version.
The participants will have to upgrade to continue in the participation and validation of new transactions.
While those who did not upgrade, will have to be separated from the network and will no longer participate in the new transactions. Consequently, there will be a permanent deviation from the blockchain.
However, as long as there is support in both chains, they will simultaneously exist, just as Professor @awesononso has demonstrated at the beginning of this lecture (BTC & BCH).
Example of Hard Fork; Bitcoin Cash (BCH).
3.Explain in details what a Soft Fork is with examples (Can be of any blockchain).
Soft Fork is where updated versions of the protocol are backward compatible with the previous versions.
It is easier to implement this since, only what most participants need to do is upgrade the software and all others, whether they have updated or not will continue to maintain compatibility with the network.
however, the functionality/efficiency of the non-upgraded participants will be affected.
A good example of a Soft Fork is the Pay to Script Hash (P2SH):
It is a soft fork that led to the multi-signature addresses on the Bitcoin network.
4.What are the differences between Hard Forks and Soft Forks?
Differences Between Hard Fork and Soft Fork.
Hard Fork | Soft Fork |
---|---|
Permanent divergence. | It's just an upgrade and it still maintains one blockchain. |
The previous versions will no longer be compatible with the new version. | Software protocol keeps it backwards compatible. |
Executed on majority consent (at least 90-95% approval from the miners). | Executed on any majority consent (more than 51% approval). |
Previous valid blocks/transactions will turn invalid. | The new code change follows the new rules and also honor the old rules. |
Requires users to make a choice between the previous chain and the newer one. | Still maintains the old chain. |
5.Explain the following Bitcoin Forks and explore the blockchain where necessary. Indicate if they are hard forks or soft forks;
It was designed to process transactions faster and cheaply.
It took the 1mb block size that the Bitcoin has and increased it to 8mb.
It was launched in August 2017 and is still alive today.
It is a good example of Hard Fork.
It is an upgrade to the Bitcoin network, it was activated in August 2017.
It aims to solve several transaction issues such as Bitcoin scalability and malleability.
How Segregated Witness Works.
The idea is to bring about a change to how blocks are structured. They are large 4mb blocks that consist of a base transaction block and extended block.
Segwit block moves the digital signature and other data know as witness outside of thebase transaction block.
The witness information/data will still be transmitted but, it is placed inside the extended block.
The base transaction block will include information about the sender and the receiver. The witness data is left blank.
This makes it possible for more transactions to fit in the 1mb base transaction block.
While the extended block(which is the extra 3mb) will contian the entire witness data that isnot mandatory in the base transaction block.
The new block format Segwit introduces achieve two major goals.
It moves the digital signature outside of the base transaction block. This way, if someone changes the transaction signature on the transaction, it will not affect the transaction ID.
This in effect solves transaction malleability problem.It shrinks down the base transaction data. The witness data is up to 65% of the transaction size so, moving it out of the base transaction block will allow for more transaction to fit in that 1mb block.
Segregated Witness is a good example of Soft Fork.
6.Write on the Steem and Hive Hard fork and show similarities in their Genesis Blocks(Provide screenshots).
Steem and Hive Hard Fork.
Steem, a decentralized network was acquired on the year 2020 by Tron.
The Steem community responded by launching Hive with Hard Fork 0.23 on March, 2020, which of course is based on steam blockchain code.
Some Similarities Between Steem and Hive
Steem. | Hive. |
---|---|
Uses Steem as basic token, Steem-Backed Dollar and Tron as reward tokens and Steem Power for voting witness. | Has Hive and Hive-Backed Dollar. |
It's tokens are in many exchange platforms. | It's tokens are available in few exchange platforms. |
Similarities Between Steem and Hive Genesis Block
Steemworld
Block ID:
0000000109833ce528d5bbfb3f6225b39ee10086
Witness Signature:
204f8ad56a8f5cf722a02b035a61b500aa59b9519b2c33c77a80c0a714680a5a5a7a340d909d19996613c5e4ae92146b9add8a7a663eef37d837ef881477313043
Timestamp: 2016-03-24, 17:05:00
Block ID:
0000000109833ce528d5bbfb3f6225b39ee10086
Witness Signature:
204f8ad56a8f5cf722a02b035a61b500aa59b9519b2c33c77a80c0a714680a5a5a7a340d909d19996613c5e4ae92146b9add8a7a663eef37d837ef881477313043
Timestamp: 2016-03-24 16:05:00
There similarities are overwhelming, which is a confirmation of the Hard Fork on the Steem blockchain to create Hive.
Conclusion
Both Soft Fork and Hard Fork depends on the ability of the miners or participants to reach consensus on whatever issue it is.
However, I feel it's better to upgrade the platform (soft fork) in order to maintain the original integrity of the said project and if a substantial change/deviation is to be made, it will be better on a new project.
Though, I understand that there certain situations where Hard Fork is the only option.