If you’re concerned about the Bitcoin Cash hard fork that’s upcoming, you shouldn’t necessarily be, because you have plenty of time to get ready and more than one option on how to prepare. As journalists we are generally neutral on the subject of the fork — this article is intended for informational purposes only, not to take a side.
First, for the uninitiated, we should explain a couple terms.
A “hard fork” is when mining (and, necessarily, client) nodes no longer agree on the rules of a protocol but continue to share the blockchain or permanent ledger of transactions previously made on the shared network. Technically a hard fork exists after one block of the new, protestant chain has been mined, but in reality a hard fork chain must survive much longer than that for the community and the world at large to consider it viable.
A hard fork is not the same thing as a software fork, where the code is simply used to build a different product with minor or major modifications. Everything from Dash to Litecoin Cash is technically a software fork of Bitcoin.
The best example of a hard fork is the Bitcoin Cash fork away from Bitcoin Core last year. Up until blocks mined in August 2017, the Bitcoin Cash blockchain is identical to the Bitcoin blockchain, but from that point on it became its own entity and gradually has developed its own community, services, and now, of course, its own divisions.
A replay attack is when the transaction details from one blockchain can be used on the other. If it were to happen in Bitcoin Cash when the fork first happened, it would have happened like this: you make a transaction on one blockchain and then the receiver uses the details from that transaction in order to receive coins on the other chain from you — without your permission.
In the Bitcoin Cash fork that is upcoming — which is planned to result in at least two versions of Bitcoin Cash — there will be no native replay protection. With previous hard forks, failed or otherwise, replay protection was integrated by one development team or another. It is a serious matter as the heart of Bitcoin is user choice — there are no pull requests in Bitcoin, only “push” transactions.
When the fork happens, it is advisable to make no transactions at all right away. One should decide which version of Bitcoin Cash they are primarily going to use and keep their existing wallet on that chain.
Then, the user should install the other version, access their coins on that chain, and once they have accessed their coins on the chain they do not intend to use, they should sweep them all to a new address of their own on that chain. In this way, they will not be at risk of replay attacks because the coins are now held in different “accounts” or addresses between the chains. Failure to do this puts the user at risk of having their transactions replayed.
Unfortunately, with a lack of replay protection built into the new clients, you will have to do something if you want to secure the coins on the new chain. There is another option wherein you don’t care about the funds on either chain, and under this scenario you are free to simply leave things as they are — if someone replays a transaction you sent them on your preferred chain, you wouldn’t care anyway.
Users who are overly concerned and not technically sure they’ll be able to successfully migrate their coins themselves could simply send all their Bitcoin Cash to a cryptocurrency exchange that has explicitly stated that it will support the fork, where they will automatically be credited with the new versions. Then, if you want either coin or both, you can withdraw them once the fork has settled. Potentially, there could even be three versions of Bitcoin Cash, provided miner support is there for all of them.
Many other exchanges will do this, but Poloniex has committed to doing so and has also begun pre-fork trading of both new versions of the coin.
Images from Shutterstock