In simple terms: A hard fork is when a single cryptocurrency splits in two. It occurs when a cryptocurrency’s existing code is changed, resulting in both an old and new version.
With a hard fork, the two versions of the software are going to be incompatible.
Meanwhile, a soft fork is essentially the same thing (a new version of the software), but the result is two compatible versions of the software and only one coin (aka token).
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 token), but a hard fork creates two incompatible blockchains/tokens, and a soft fork creates two compatible versions of the software and retains one token.
SegWit is an example of a Bitcoin soft fork, both SegWit and non-SegWit software uses 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.
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, for example, 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. 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 (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.
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.
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. 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.
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.