Homework on Soft and Hard Forks - Questions

  1. A soft fork is backward compatible, allowing earlier versions with the update.

While a hard fork is NOT backward compatible. any blocks coming after the activation of the software update will have to follow the new rules to be valid.

  1. A change in consensus.

  2. it would end up dividing the community and resources. while eroding trust.

1 Like

1. What is the difference between a softfork and a hardfork?
With a softfork the previously valid blocks become invalid (i.e. increasing the blocksize from 0.5MB to 1MB). Nodes that don’t update the new version can still contribute to the network as they will recognize the new blocks as valid, meaning soft fork is backward compatible.

In a hard-fork previous invalid blocks become valid. A succesfull hard-fork requires all nodes to adopt the new version. An example of a fully supported hardfork is ETH 2.0 in which a solution will be put in place to burn coins on the old chain, and create new coins on the new chain. If not all nodes update then blockchain is split in two versions. Both share the same transaction history and still acknowledge the previously (pre-fork) mined blocks. That’s why you can spend your UTXO’s on both chains (i.e. bitcoin > bitcoin cash).

2. What are some of the reasons why you would do a hardfork?
When there’s a minority that doesn’t agree with the direction of the blockchain and they want to have something drastically changed (i.e. blocksize, mining-algorithm etc.). This leads to a hardfork where one part of the community keeps the old standards and a fork version which implements some big changes. In my opinion the blockchain with the most hashing-power is the “winning” project in this case :wink:

3. What are some of the risks with performing a hardfork?
When not all the nodes adopt the new version of the blockhain this is leading to a split in the protocol as well as in the community. When both versions are strongly supported the hash power will be split and will drop on both chains, making them more vulnarable. Also there is a risk of bugs on the new chain when big changes are implemented to quickly. There’s also the risk that both version of the blockchain will seize to exist.

1 Like

A hard fork is an expansion of the rule-set, meaning that previously invalid blocks become valid according to the new rules. In regards of software you can also call it a backward-compatible update.

Soft-forks are compression of the rule-set, so the new rules still conform to the old rules. This can only be possible by stricter rules (reduced possibilities). What was previously allowed is not allowed any more. Who ever follows the new rules also automatically follows the old rules. For the blockchain this means that previous valid blocks become now invalid (according to the new rules).

In general a hard-fork reduces restrictions leading to new or more possibilities. The side-effect of this is that more possibilities lead to increased complexity and reduces security. If you are somehow in software development you know that there are principles that programmers follow to increase security, maintainability and reduce dependencies. A favorite example are the SOLID principles, which are just restrictions.

One of the reasons for a hard-fork can be that there is no consensus in the changes. One way to handle this situation is to agree that you do not agree and each party continue following their own rules. You can also call this diversification.

For the blockchain itself it means a reduction of power. The power (here hash-rate) is split up, leading to weaker network security. There is deconcentration of power for the complete network but a concentration of power in single spots or parties/groups. The ones that had more power now become more powerfull. More power on specific spots may lead to missuse of that power. So it becomes easier for those who want to cheat that have more power and weakens the ones that have less power.

I understand a little more now than when I originally answered the question, and I am still very new. But is it not fair to say that that the emergence of hard fork will generally produce more stale blocks, as nodes have not yet upgraded to the new version of the protocol software continue to produce blocks that will be invalid? And is this not more challenging than an accidental fork than just happens when valid blocks are completed simultaneously - but are then quickly resolved by the next completed block?

I am not a developer (obviously) and I am more interested in the market implications for all of this. For example: let’s say I am just an ordinary person (not involved in crypto) and I decide to obtain a little bitcoin and try to purchase something with it. Its a really exciting moment. Later I discover that my transaction was deemed invalid because some “node” (remember - I don’t know what a node is, I am just trying to buy something with this new strange currency) had not updated to the latest set of rules.

Is this going to give me confidence as an ordinary consumer - the type of consumer who will need to adopt Bitcoin if there is to be a future?

By the way I work for a Belgian company and in normal times I am there quite often.

  • What is the difference between a softfork and a hardfork?
    A hard fork makes previously invalid block valid
    A soft fork makes previously valid blocks invalid
  • What are some of the reasons why you would do a hardfork?
    You would chose a hard fork if there was a change in consensus
  • What are some of the risks with performing a hardfork?
    The split in the community will reduce the hashpower reducing the strength of the network

Hard fork makes all previous invalid blocks valid and soft fork makes all previous valid blocks invalid.

To update the consensus rules when it seems like beneficial for whole network or when a security flaw was discovered. For example segwit update when size of the blocks was increased in order to get more transactions into one block.

With hardfork update to avoid the fork to happened the whole network would have to update. We don´t live in a perfect world so this to happened is almost impossible so that mean that the blockchain would be split into two – the old rules version and the new rules version. Also the hashpower will split because some miner will and some won´t update.

  1. Both hard and soft forks are updates.
  • Hard forks are updates that makes previously rejected blocks accepted for now on by a quantity of miners.
  • Soft forks are updates that make previously accepted blocks rejected now on by no less than 100% of the miners ; unless it is less than 100% of the minors that have updated, in which case, the update resolves itself as a hard fork.
  1. The reason why you would want to do a hard forks is that you found other miner like you that would enforce a new rule or reject new rules by not performing an update at all.

  2. Some of the risks you take when performing a Hard Fork is, whether you are actively or passively performing it, you might fail to incentivise correctly a secure portion of the users of the blockchain, therefore it won’t be no demand for your conservative intent toward current rules. It’s also a risk to lose time and money by trying to implement an update that not every miner having found incentives in there part of the majority expectations which are coming in a democratic pondered process.

  1. difference is that soft fork is an update where ruleset becomes more strict whereas hardfork makes ruleset to allow more blocks to be valid.
    With hard forks there is always a split inevitable, 2 different chains will run in paralel.
    With soft fork, if majority of the network agrees on update, there is no split, one chain continies to run and is approved as valid even by the nodes that didn´t agree with the update.

  2. when there is an update in discussion but not entire community agrees on the development.In order for everyone to be happy with the outcome, hard fork might happen - new currency with new chain will be created and each node can deside for itself which way to continue.

  3. split of the community, less nodes thus less hashrate and less validation points for each chain

Hi Fabrice, Yes, I agree that my answer on reflection does look lame. It is perhaps because I wasn’t really grasping the soft fork theory. With a soft fork; would it be an option for the nodes to choose whether they adopt a soft fork whilst still using the old rules at the same time? I believe that I have grasped the hard fork and my comment about permanence doesn’t make sense now. Therefore, with a hard fork is it correct to state that if the hard fork was to fix a security problem like Segwit, then the network can either choose to adopt the fork or remain on the old chain? Is it also correct to state that a hard fork could also be the creation of another rule which creates another currency?

1 Like
  1. Soft fork does not cause a split in chain and hard fork does.
    Soft fork is a contraction in the consensus rules and hard fork is expansion of consensus rules

  2. If you want to increase the size of block contents.
    If you want to create a new, better currency

  3. The risks are reduced network security for the old because some miners leave the old chain to mine
    the new chain.

  1. A Soft Fork is a contraction of a defined rule set, which would make previously valid blocks, invalid
    (i.e. if a smaller block size were implemented, e.g. from <=1MB to <=500kB, any blocks greater than 500kB would be ignored by the network.
    A Hard Fork is an expansion of a defined rule set, which would make previously invalid blocks, valid
    (i.e. if a larger block size were implemented, e.g from <=1MB to <=2MB, both rules would be included in generating a new block.

  2. A hardfork may be accomplished to give miners a democratic choice, where it would be determined by the nodes to participate in the newer / ‘forked’ network, or stay with the previous one. It also provides a clear update to the future of the particular blockchain.

  3. A major risk of a hard fork would be if miners were extremely split with any new rules, which could leave almost 50% divide in consensus, which could lead to security vunrability in the hash rate of each chain.

  1. What is the difference between a softfork and a hardfork?
    The difference between a softfork and a hardfork is a softfork decreases the block size and makes previously valid blocks become invalid and a hardfork increases the block size and makes invalid blocks become valid.

  2. What are some of the reasons why you would do a hardfork?
    Some reasons why you would do a hardfork are that the update is clear and it supports democratic ideologies.

  3. What are some of the risks with performing a hardfork?
    Some of the risks with performing a hardfork are that it splits the chain and the community while reducing the has power, which weakens the security of the network.

  1. What is the difference between a softfork and a hardfork?
    A Hardfork will occur when update of consensus rules expand the acceptable parameter of a transaction. This will split the chain without 100% of the network nodes updating.
    A Softfork is a tightening of the consensus rules. The chain only needs 50% nodes updated or greater to maintain the chain.

  2. What are some of the reasons why you would do a hardfork?
    There may be a difference in opinion or future vision in a community and they may wish to Fork off and create a new chain. One of the best examples is the hardfork of BTC and BCH. The community was divided over scaling issues and block size.

  3. What are some of the risks with performing a hardfork?
    Some risks may be in the security of the network with less hash power. With splitting a chain comes a divided community and the proposed fork may not have the support.

[1.] The difference between a softfork and a hardfork?
A Softfork is when the ruleset has become restrictive as oppose to a Hardfork where the ruleset has become more relaxed.

[2.] Some of the reasons why you would do a hardfork?

To give users/miners a choice to which split in the network they want to continue with.
To create a new cryptocurrency, e.g. Bitcoin Gold (BTG) ; Date: October 2017 at block height 491407
To correct a security risk

[3] Some of the risks with performing a hardfork?

Splits the miners between the two separate blockchains, thereby making each chain more susceptible to the 51% attack procedure.
Inflation of currency. A holder of the original cryptocurrency may end up with extra coins later from the newly created split chain.

  1. Hard fork updates make previously invalid blocks valid whereas soft fork updates make previously valid blocks invalid. Hard forks causes the chain to split; one chain continues under the old set of rules and the other under the new set of rules. The soft fork doesn’t result into a split of the chain but continues under the new set of rules only.
  • Clear set of rules
  • Create a new currency
  • Hash power is split, which reduces security
  • Split of chain
  • Split of community
1 Like

Ohhhhh Ok perfect, Thank you!

1 Like
  1. What is the difference between a softfork and a hardfork?
    A hard fork makes invalid blocks valid, A soft fork makes valid blocks invalid so basically the opposite.

  2. What are some of the reasons why you would do a hardfork? To upadte the rules of the blockchain to either make the blockhight bigger or to make a new crypto all in all say “bitcoin cash”

  3. What are some of the risks with performing a hardfork? There are risk that the rest of the community dont want to update therefor the blockchain splits into two gruops causing identity crisis. Hashpower split and security issues.

  1. A Hardfork ads new rules (like expands the capacity limit of the block) and makes previously invalid blocks valid. Soft does the opposite.
    2.to create an update to the blockchain, creating a new coin (bitcoin cash, bitcoin sv)
  2. the hash power splits lowering security
  • What is the difference between a softfork and a hardfork?
    A soft fork ive heard described as an optional update but i feel that to be inaccurate as its non democratic you are participating in the update whether you choose to or not, so no options there. Where a hard fork is more an option or democratic in the sense that you can choose not to update, buy better hw to meet new req. or buy the new coin resulted in the split or not.
  • softfork does not split chain but cause some previously valid blocks to become invalid. With Hardforks previously invalid blocks become valid cause a chain split and a new currency (when fork is successful)
  • What are some of the reasons why you would do a hardfork?
  • big update, shift in community ideas for example 16mb blocksize with bcash
  • What are some of the risks with performing a hardfork?
  • lose value potentially if you are now getting bcash instead of bitcoins
    splitting community, causing confusion among buyers sellers and miners during disputes/updates forcing them to choose to update to new chain or not
  1. Softfork is an update that makes previously valid blocks invalid whereas hardforks is an update that makes previously invalid blocks valid.

  2. Happens when consensus rules for a block need to be changed to allow a new currency

  3. You need 100% of the network to avoid having a fork otherwise there will be a split in the chain and community.

1 Like