Hard Forks and Soft Forks in Bitcoin, Ethereum, and Other Cryptocurrencies
- With a soft fork, the two versions of the software are meant to be compatible.
- With a hard fork, the two versions of the software are meant to be incompatible.
So both fork types create two different versions of the software (and therefore two different versions of the blockchain and two different versions of the coin AKA token), but a hard fork is meant to create two incompatible blockchains/tokens, while a soft fork creates two compatible versions of the software and token.
SegWit is an example of a Bitcoin soft fork meant to create two compatible versions of the software that share a single asset. Both SegWit and non-SegWit software use the same exact Bitcoin. The SegWit blockchain follows non-SegWit rules, and thus the non-SegWit software recognizes transactions done with SegWit activated software. SegWit is backwards compatible.
Bitcoin Cash is a Bitcoin hard fork that was meant to create two different assets with value. After the fork occurred, Bitcoin Cash and Bitcoin became two totally different cryptocurrencies from the activation block forward. You can’t send Bitcoin Cash to the Bitcoin Blockchain or vice versa, the chains are not compatible [note the developers had to add code to ensure the two chains weren’t compatible; see the information on replay attacks below].
With that covered, it is important to note that not every hard fork is meant to create a new coin with value.
Ethereum’s Byzantium hard fork is an example of a hard fork meant to create two incompatible blockchains, but only one token with value. Byzantium was a mandatory upgrade to the Ethereum software. With Byzantium the old software (the old blockchain and the token on it) was not meant to be used after the activation block. After Byzantium, there was still only one Ethereum. Given this, it was important for Ethereum users running their own “nodes” (versions of the software) to update to the new software before the fork to ensure they were accessing the new chain.
One last note, ultimately we are talking about software here. And that means the specifics of each fork comes down to code.
Quick rules for forks: If you want to ensure you have access to a fork, be in a wallet where you control your private keys (and then follow these steps for claiming a fork). If you are running a node (the full version of the software; the type where you download the blockchain), you MUST update your client before the fork. In all other cases, you don’t have to do anything and the custodian of your wallet will take care of everything in most cases (although you will want to verify with them by staying tuned to their blog, twitter, etc).
On Airdrops: A fork is when a coin splits in two. An airdrop is when coins are sent to an existing wallet for any reason. Although you might hear the two words used interchangeably in casual conversation, an airdrop is different than a fork. Learn about airdrops.
The Expected Results of a Fork
With all the above in mind, to use the words of Coinbase when discussing a User Activated Soft Fork, and too add a few of our own notes, the result of a given soft fork or hard fork would generally be:
- One blockchain becomes dominant, resulting in the other blockchain having low community adoption and/or value (I say “and/or” here because some forks like SegWit and Byzantium don’t effectively result in two different tokens, thus there is only a difference in adoption of the software and not value of the tokens).
- Both blockchains are adopted, co-existing and operating independently of one another with roughly equal community adoption and/or value (SegWit is like this, as of 2018 many users still run non-SegWit nodes).
- Both blockchains are adopted, but one is favored. One of the two chains becomes or remains the dominate chain in terms of adoption and value (but the other chain maintains a reasonable level of community support and value; Bitcoin Cash and Ethereum are great examples of this).
Any of the above cases can occur with a given fork, but the 3rd option is the most common and thus the expected outcome over time with hard forks that create new cryptocurrencies.
Again, Bitcoin Cash (a Bitcoin fork) and Ethereum (a fork of what we now call Ethereum Classic) are good examples of the expected outcome of hard forks that are meant to create two assets with market value. Both chains exist, but one is more popular and generally maintains a higher value.
Meanwhile, a soft fork like SegWit is generally meant to be the second case and a hard fork like Byzantium is always meant to be the first case.
So, bottom line, when you find out a coin is “forking”… make sure to understand what type of fork it is!
As a casual user you won’t have to do anything unless it is a hard fork that creates two different incompatible blockchains/coins with value like the Bitcoin Cash fork.
However, if you are a miner, or if you generally run your own crypto software, you’ll need to keep up-to-date to ensure you are running the right version of the software.
How to be in for the fork: If you want to get “free coins” from an upcoming hard fork that is meant to produce two assets with value, you need to take very specific steps. See how forks work and how to get “free coins” from forks.
Why forks produce free coins: A blockchain is a ledger of transactions (and is where the ownership of coins is recorded). Anyone who held coins before a fork, and during the fork, therefore will necessarily have coins on both chains after the fork has occurred. With hard forks that create new assets (and with airdrops and other “giveaways”), there is generally a snapshot date, where a snapshot of the ledger is captured. The snapshot happens at a block number, the block number is important with forks, the calendar date is only important for understanding when the block number occurred. Thus, in general, if one wants to “be in for the fork,” and thus get “free coins” they must have their transaction added to the ledger before the “snapshot block” occurs. It is not necessary to hold the original coin after the snapshot has occurred.
In more technical terms: A fork is a code change, like “a fork in the road” but for code. In cryptocurrency, a soft fork is a minor change to the software that is not necessary for all nodes (computers running software) to update to. For example, with SegWit, both SegWit activated nodes and non-SegWit nodes can use the same Bitcoin network (because SegWit was designed to be backwards compatible). Meanwhile, a hard fork is a term that describes a major change to the blockchain protocol that can fundamentally change the way a crypto network works (it can roll back transactions, it can change the way mining works, etc). This can be used to keep the same coin with major changes to the blockchain or to create a new coin. A hard fork requires all nodes (all computers that connect to the cryptocurrency’s network) to upgrade to the latest version of the software if they want to use the new coin or blockchain, to maintain the existing protocol if they want to use the old coin or blockchain, or to run two separate versions of the software if they want to do both. Hard forks make the old chain and new chain incompatible.
The result of a coin “forking off” to form its own blockchain or currency is that there are two of everything. Two different coins, with two different ledgers (from X block forward), with two different sets of code, both originating from the same platform and blockchain. In cases like Segwit, everyone ideally updates to the new software, but even if they don’t the system still works; Bitcoin is still Bitcoin, the update is optional (see a Segwit explainer). In cases like Bitcoin Cash, two different coins and blockchains-from-x-block-forward run starting at a given block and the two chains are not compatible.
HODLing your private keys: When a cryptocurrency forks, you want to be holding that cryptocurrency in a digital wallet where you control your private keys and not an exchange or third party wallet as a general rule of thumb. The reason for this is because exchanges and third party wallets have to do a lot of work to credit their users, where a person who owns their private keys can do this work themselves! Your keys, your coins. Use a third party platform, and you are dependent on them to credit you for the fork.
Choosing the right third party service: Some exchanges and third party wallets are better than others when it comes to forks. Each for is different, but the Binance cryptocurrency exchange for example has a solid history of crediting users for forks.
Examples: For examples and explanations of forks, see What the Bitcoin Cash fork means for Bitcoin holders, Bitcoin Fork FAQ, Update on Bitcoin Cash, our page on Bitcoin Gold, and our page on how to claim Bitcoin SV.
TIP: For a visual of a hard fork, see Investopedia’s Hard Fork page.
What happens if I am a miner or node operator and I do not participate in the upgrade? In general, if you don’t upgrade your client before the fork you will be stuck on an incompatible chain following the old rules and you will be unable to send ether or operate on the post-upgrade network.
How are Hard Forks and Other Forks Created?
In general, any update to a coin’s software (at least those that are democratically controlled like Bitcoin) requires some form of consensus.
Creating a fork that updates the existing software that everyone is currently using requires majority support (consensus) from coin holders (more technically “nodes”) connected to the coin’s network. Those nodes have to agree to the update and then update their software accordingly. This consensus can in-practice come first and foremost from miners and mining pools rather than a general population of users, because they tend to control many nodes. See Consensus rules on Bitcoin.org for more details.
With the above noted, forks only really require consensus in terms of an update being adopted. In terms of just creating a hard fork or soft fork (not adopting it), anyone can copy and paste a coin’s code and change it, and thus create a hard fork or soft fork to potentially be adopted.
In other words, any developer with the necessary skills could decide to fork Bitcoin or create a unique copy of Bitcoin (hence all the actual and potential Bitcoin forks). That is the “easy,” part. The hard part is getting support from miners, users (who have to not only download and configure a wallet but use and trade the coin), and exchanges.
Without support from miners and users, there is no functioning blockchain (hence the term “User Activated Fork”.
Without support from exchanges, there is likely little to no value for the new token.
Thus, a single cryptocurrency with a single blockchain (like Bitcoin) experiences a proper “hard fork” (like Bitcoin Cash or Bitcoin Gold) when the code is 1. changed to create a new coin, but also 2. embraced by enough miners, users, and exchanges for there to be a viable, functioning, alternative.
A fork such as this can occur for any reason, either to innovate (as is the case with Bitcoin Cash), to repair the damage done by a hack (as is the case with Ether), or simply because consensus could not be built for a soft fork (as was a bit the case with Bitcoin Cash and was almost the case with SegWit2x).
TIP: When the majority votes on a change (like the soft fork SegWit), but a minority opposes the majority vote… they may create a hard fork (like Bitcoin Cash).
Can anyone fork a coin? Anyone can go to GitHub, grab the code of a coin (for example Bitcoin), and then do the development work needed to update the software. However, not anyone can get enough miners to mine the new coin, enough users to update their software or download wallets for the coin, and/or enough exchanges to list it. Then, even if they can, getting anything close to the same valuation as the original coin is an uphill battle. So “yes, anyone can fork a coin in-theory… but there are a lot of barriers in-practice.” There have been very few successful forked coins in the history of cryptocurrency. In practice, forks of all sorts require some form of consensus building to be effective. Even ones that are effective tend to have a lower valuation than the original coin. One of the only exceptions I can think of is Ether vs. Ethereum classic (where Ether, the hard fork, has a higher valuation and more users / miners).
FACT: Not every fork will result in owners of a cryptocurrency getting “free coins,” however when a legit hard fork occurs that creates a new cryptocurrency, this is the case. For example, Bitcoin holders received one “free” BCH (Bitcoin Cash) for each BTC (Bitcoin) they owned. That is obviously an absurdly good deal (although one risks the original asset’s price dropping in “split” events like this). Technically one can create a new version of a coin and choose another distribution method, for example, they can do an airdrop or sell the new coin on the open market. 
TIP: Read about The Birth of BCH: The First Crazy Days of “Bitcoin Cash” or Ethereum’s Byzantium Hard Fork to get a better idea of the different types of hard forks and their implications.
TIP: There are other types of forks as well (forks in general, soft forks as noted above, git forks, [insert Bubba Gump reference]). Any divergence in the blockchain is a fork; the qualifying terms describe the details of the divergence regarding both code and the intent behind the fork.