Bitcoin Security Info: Why to Never Sell Forked Bitcoin
Imagine the situation in which Bitcoin just got forked. Now everyone has two versions of bitcoin associated with their wallet. It seems tempting to sell the one which seems worthless in the future but is currently still traded for a reasonably amount of money.
The problem is called "the replay attack." Here’s how the attack works: when you sell you have create and broadcast a transaction to sell your forked coins. This transaction is signed with your private key. The big issue is that this transaction doesn't say which version of Bitcoin it's for. The person who buys your forked coins can take that exact same published transaction and broadcast it on the original Bitcoin network. Since the transaction is signed correctly, the original Bitcoin network accepts it, and your original coins get transferred to the buyer too. You just lost your original Bitcoin by accident.
There is a solution to it, but that's not in your hands. Both chains (not only one) need to have a marker which makes transactions unique between different chains. For now just think of it like adding a special watermark to a check for one bank that the other bank won't accept. This "marker" is a technical change that the developers of the forked coin must build into their system. It makes it so any transaction for the new coin is automatically rejected by the original Bitcoin network. If this is the case, you need to make a code analysis before you sell the bitcoin fork.
Some people think you can taint your UTXOs, but this is not protecting you at all from the replay attack. The idea of "tainting" is to make a small test transaction first to somehow separate your coins, but that test transaction itself can be replayed, so it doesn't work.
Even sending the bitcoin which you want to keep to a brand new wallet first doesn't protect you from the replay attack!! The attacker just replays that transaction too, and now both sets of your coins are in your new wallet, still stuck together.
nprofile1qqsvxq03xdev3uxehjqcdkr5lfzl5vawmcf7vm6ps73m6ghwg8y4k2spz4mhxue69uhk2er9dchxummnw3ezumrpdejqz9nhwden5te0dehhxarj9eekcmm5dpujuamfdcq9v6rc (nprofile…v6rc) craigraw (nprofile…egyh)
Could you build in checks and warnings for known forks without replay protection?
