At the time of this article (10/6/17), Bitcoin has successfully survived a fork, and another one is on the way. This will give us an explanation of how "forks" work, what happens to your Bitcoin, what you should do in order to take advantage of the process, and a difference between "Hard Forks" and "Soft Forks".
How Does a Fork Work?
If you recall how the Blockchain works, the graphic above should give insight on how "blocks" are connected to build the Blockchain. We're going to take this idea and simplify each block with just a square and the block number in it:
For the first 1000 blocks, the Bitcoin rules stay the same concerning block size, how transactions are handled, etc. Let's say at Block #1003, there is the dreaded HARD FORK that splits Bitcoin into two different chains (we will learn about soft forks at the end of this). Chain 1 is the traditional rules while Chain 2 wants larger block sizes. Let's take a look at what happens after a few blocks are propagated on each side of the Fork:
Looking at this, we have a split in the Blockchain at the time of Forking. If you have a basic understanding of how the blocks work, we simply have two chains, each with the coins belonging to their respective owners. More on this in the next section.
What Happens to My Bitcoin?
As long as you own the private keys to your Bitcoin, you will experience the best possible benefit from a fork. If you had 0.3 Bitcoin on the original Blockchain before the split, you would have 0.3 Bitcoin on both chains. If you decide to buy Bitcoin at Block 1003, you would only have the Bitcoin on that particular chain.
Let's build a theoretical event where Bitcoin is undergoing a fork. Here are three examples to help illustrate some possible scenarios:
- Josh had 1.5 Bitcoin on his hardware wallet since Block #1000. Since he controls his private keys via a hardware wallet, his private keys can be used to spend Bitcoin on either chain after the split. In fact, he wants to take his Bitcoin on the "new" chain and sell them so he can buy more of the original Bitcoin. He uses his private keys to sign a transaction on the new chain to sell the Bitcoin. He actually had to download a wallet compatible with the "new" chain and import his private keys in order to do this. With the money he made from selling "new" chain Bitcoins, he is able to buy another 0.1 "original" Bitcoin, making his total number of Bitcoin 1.6 Bitcoin on the "original" chain. On the "new" chain, he has 0 Bitcoin.
- Jessica hears about Bitcoin during Block #1004. She goes to her favorite Bitcoin exchange and buys Bitcoin. The exchange she buys it from does not accept the "new" chain as a valid Bitcoin. Jessie sees that she only has Bitcoin on the "original" chain.
- Joey has 4 Bitcoin sitting on a software wallet on his phone. Not aware of the fork going on, he decides to move all of his Bitcoin from his software wallet to a hardware wallet. This happens on Block 1003. When Joey sees that his old software wallet has no Bitcoin in it, he deletes the application from his phone an deletes all backups of his private key since it has a zero balance. Three days later he hears about the Fork, and learns that his coins on the "new" chain require his software wallet private key. Joey has locked himself out of accessing his "new" chain Bitcoin and cannot do anything with it.
In a way, this Fork is almost like creating a parallel reality where the Blockchain's rules are kept the same in one situation and altered in the other. Luckily, our private keys allow us to sign messages in either reality.
What Should You Do to Secure and/or Manage Both Coins Before a Fork
If you hear of a Fork coming, be sure to do the following:
- Get your Bitcoin OUT OF AN EXCHANGE
This is by far the most important thing to keep in mind. In a custodial account, you do not control the private keys of your Bitcoin; an exchange holds these keys. At the time of a Fork, the exchange has private keys that control both sides of the chain.
- Watch out for REPLAY ATTACKS on forks
When Bitcoin forks, there is a very important distinction if the fork disables a "replay attack". If we have BitcoinA going through a fork and we get BitcoinB from it, you would receive coins on both forks as long as you control the private keys for coins received before the forked block. Many users see the temptation to sell either BitcoinA or BitcoinB so they can buy more of the side they support. If there is no replay protection, a person selling BitcoinA to an exchange (or other individual) could have coins from both the A and B side sent simultaneously. This is possible since your private keys work on both chains, and when you "send" BitcoinA, a malicious actor could take that announced message and "replay" it on BitcoinB's side. This would result in you sending both BitcoinA and BitcoinB since the exact same "send Bitcoin" announcement is compatible with both sides.