Homework on Soft and Hard Forks - Questions

A hard fork makes previously invalid blocks valid and soft fork makes previously valid blocks invalid.

It doesn’t necessarily have to split the chain. A hard fork upgrade can be a very stable upgrade if everyone agrees on the update. Technically if only 5% don’t agree it would be a split chain, but it would in my eyes still be a successful update. The difference is that a hard fork may or may not cause a chain split, whole a soft fork never will. A soft for is an optional update, you don’t have to accept it in order to continue being a part of the network.

Great to see that you added Español. I am sure it will help someone. Very nice that you got very detailed in your answers. Keep it up. We appreciate that you answered in your native language as well.

Great recent example! :fire: :fire: :fire:

I am a bit confused by your answer. Think of it like this. Let’s say we want to upgrade the bitcoin block to 2mb. Since this is expanding the rules it will be a hard fork. If you tried to make a 2mb block before the update it would be invalid. That’s why we say hard forks make previously invalid blocks valid.

True. A soft forks makes previously valid blocks invalid. The longest chain always wins but in this case there wouldn’t be a chain split. You can always mine a block with a size less than 1mb and everyone will accept it.

@CSquared @rbrownlow

A hard fork does not necessarily have to split a chain. If everyone upgrades the update will be successful. And if no one upgrades the chain would continue as before, without a chain split.

But why would you do a hard fork? Sometimes you might want to expand some rules, leading to a hard fork. The best and most popular example is to increase the block size.

A hard fork does not have to be negative. The chain may not split if everyone or at least the majority agrees. If there is a hard fork which fixes a big bug I am sure everyone would accept it.

Only if people are split between the upgrade. If most people accept the upgrade the chain will not split, or if everyone declines of course. Imagine a hard fork which doubles the bitcoin supply to 42 million. No one would accept it most likely and thus no chain split would occur.

1 Like

Correct. One of the examples it expanding the block size. It would make previously invalid blocks valid now.

Wrong. If you don’t update you stick with the old chain. You can choose either to accept the new update or not.

Nice answers. You pointed out the 50% soft fork for an upgrade and a 100% hard fork update to avoid the chain split. A hard fork chain split could also be avoided if 0% of nodes accept the new update. Keep up the great work. :slight_smile:

1 Like
  1. A soft fork acts like a contraction in the consensus rules, making previously valid blocks; invalid. A hard fork acts like an expansion of the consensus rules, making previously invalid blocks; valid.

  2. You may do a hard fork to create a clear consensus moving forward.

  3. You could have a separation between hash power - reducing security and a separation of the community.

1 Like
  1. What you explained is a temporary chain split when two miners find a block at an approximately same time. A soft fork never causes a chain split, not even temporarily as it makes previous valid blocks invalid. A contraction of rules may or may not be accepted by the nodes. Its up to them if they want to upgrade.

  2. Reducing a block size will not cause a hard fork but rather a soft fork. Remember a soft fork makes previous valid blocks invalid. If we reduced the block size to 500kb and you accepted the upgrade you would limit your blocks to 500kb which goes alongside the old rules of a block having a limit of 1mb. This example of a soft fork makes no sense but its just so you can grasp what a soft fork would be. An example of a hard fork would be increasing the block size to 2mb. This makes the previous invalid blocks valid. Since the old limit has been 1mb and if there is a disagreement between the nodes the chain would split.

2 Likes

What is the difference between a softfork and a hardfork?

  • A softfork comes from a contractaction of rule set, making previously valid blocks invalid. An hardfork comes from an expansion of rule set, making previously invalid blocks valid. A softfork doesn’t split the chain.
    A softfork requires at least 50% of network to update, only with that percentage of hashrate majority can ensure newer blockchain will grow, discarding the older blockchain with less PoW.
    An hardfork requires 100% of network to avoid the fork

What are some of the reasons why you would do a hardfork?

  • An hardfork is democratic, so who wants to upgrade will have an entirely updated blockchain and who doesn’t want to upgrade will keep growing the non updated blockchain.
    In an hardfork you’ll have a clear update, so if there is not 100% update che chain will be splitted, and updaters will have, maybe, a new chain with better rules.

What are some of the risks with performing a hardfork?

  • The risk is that if there is not 100% of upgrades at least a percentage of hashrate will be lost, that also reduces security. Chain will be splitted and so do community will be splitted.
1 Like
  1. A soft fork is an update that makes previously valid blocks invalid, and a hard fork makes previously invalid blocks valid.

  2. To have clear rules - democracy is choosing to do the update or not.

  3. Hash power is split as the chain split, causing the network to be weaker.

1 Like
  1. What is the difference between a softfork and a hardfork? Soft fork happens when previously valid blocks become invalid. and all nodes have not been updated with the change. A hard fork can happen when the block size is increased by an update and invalid blocks become valid and all of the nodes have not accepted the update. This creates the hardfork because multiple sizes are accepted with miners possibly creating extensions to complete the chain first for monetary reason
  2. What are some of the reasons why you would do a hardfork? to create a new currency, Clear update is needed.
  3. What are some of the risks with performing a hardfork? It can spit the chain, split the community, reduction in hash power. get a new currency
1 Like
  1. Hard Fork makes previously invalid blocks valid. Soft Forks make previously valid blocks invalid.
  2. If you want a new currency, if you want to split the chain or split the community, if someone doesn’t agree with proposed updates to the set of rules. It is sort of a democratic way to change a set of rules.
  3. Less hashing power which weakens security. Also split in the community.
1 Like
  1. A softfork makes valid blocks invalid and a hardfork does the opposite, making invalid blocks valid.

  2. A hardfork update is needed if an expansion of the consensus rules is required. Hardfork is also favorable if part of the community would like to remain using the old rules.

  3. Risks of a hardfork is the splitting of the chain which will split the hashing power and also split the community.

1 Like
  1. What is the difference between a softfork and a hardfork?
    A softfork happens by contraction of the given rule set and can be prevented as long as the new rules can be applied by more than 50 % of the network while a hardfork happens by expansion of the rule set and can only be prevented when 100 % of the network applies it.

  2. What are some of the reasons why you would do a hardfork?
    When in comparison a softfork would probably create more confusion. Also if it would be considered more democratic by the community.

  3. What are some of the risks with performing a hardfork?
    The chain and community get split. This inevitably also reduces the hashing power and therefore the security.

1 Like