Consensus Updates: Forks

This brings us to the two ways that blockchains can be updated: hard forks and soft forks.

Hard forks and soft forks refer not to forks as previously mentioned, where two blocks are produced at the same time, but to protocol forks.

Keep in mind that all miners operate independently, and it is not mandatory for them to update their protocols.

When a large group adopts protocol changes, then the blockchain will react in a couple different ways depending on the new protocol’s rules.

A hard fork results from a new protocol that does things not allowed in the old protocol.

An example is Bitcoin Cash, which increased the block size from 1MB to 8MB.

The nodes on the old, legacy Bitcoin protocol are going to refuse the new 8MB blocks, leading to a permanent fork as seen in the diagram.

These two forks would then theoretically continue forever as long as both chains have support, miners who continuously run that software.

Essentially, the hard fork is not backwards compatible.

In a soft fork, the rules of the new protocol are only restrained.

For example, if a new Bitcoin fork called Bitcoin Dollars were to reduce the block size to half a megabyte, then everything valid in the new protocol is still valid in the old protocol.

However, the old protocol’s blocks are no longer valid in the new protocol, meaning that a soft fork is backwards compatible but not forwards compatible.

As seen in the bottom picture, the new and old nodes will accept blocks from the new protocols, but the old nodes will never have their blocks accepted into the longest chain mined by the new nodes.

The new nodes then pressure the old nodes to adapt the new protocol, so that they’re not left behind.

Before every fork, hard or soft, the entire community launches into debates about the future of Bitcoin.

Consensus Updates: BIPs