Homework on Soft and Hard Forks - Questions
1. What is the difference between a softfork and a hardfork?
A soft fork is easier to implement, makes previously valid blocks invalid (effectively contracting the blockchain), requires a majority of the nodes in the network (>50%) to accept the change, if greater than 50% of the network nodes accept the change this results in a “no chain split” which in-turn forces nodes that did not agree to soft fork are forced to follow because the blockchain length will be driven by network nodes that accepted the soft fork because the network hash power is driven by the soft fork (new consensus rule set).
A hard fork is more difficult to manage, can lead to a fork in the chain resulting in the creation of a new currency (e.g. BTC / BCH). ALL nodes understand how to implement the change and can decide whether to follow this change so democratic. A splitting of the blockchain results in a reduction in network hash power because network node compute power transfers away from the original blockchain increasing both chains vulnerability to attack.
2. What are some of the reasons why you would do a hardfork?
To create a new currency (e.g. BTC / BCH). To expands the network by making previously invalid blocks valid, and because they are easier to understand & implement and enforce within the network.
3. What are some of the risks with performing a hardfork?
Can lead to a splitting of the blockchain because ALL network nodes can democratically choose to not accept the soft fork update (consensus rule set change). If ALL nodes do not accept the new consensus rule set the community becomes fractured leading to a fork and subsequent reduction in hash power because network compute power transfers away from the original blockchain increasing both chains (forked chain + original blockchain) vulnerable to attack.