Tell me if this is a valid / secure idea to split my coins in my wallet after a hard fork without replay protection (e.g. segwit2x).
I have read the question here, but I want to clarify how to use it with my wallet (Electrum, but probably similar for other wallets). My plan is basically to use the "taint" method, using coinbase.com to provide the "tainted" coins.
I have some pre-fork bitcoin on coinbase.com, so after the fork I'll be entitled to some BTC and B2X. I also have some pre-fork bitcoin in my own wallet. My plan is this:
- Send a small amount of B2X from coinbase.com to my wallet
- In my wallet, select a server on the segwit2x branch. I should see the transaction from (1).
- Create a new wallet
- Send all coins, including the new tainted coin, to an address in my new wallet
- Change to a server on the non-segwit2x branch. I should see that my balance is unspent.
Done.
Now my new wallet will contain only coins valid on B2X, because the transaction in (4) would not be valid on BTC. My old wallet will contain only coins valid on BTC, because they've already been spent on B2X.
coinbase.com claim their sends have replay protection: "You can safely send any BTC or B2X from Coinbase without worrying about replays on the other chain."
Does this imply that the coins I get in (1) can be used as a "taint"?
I could repeat the procedure, sending a small amount of BTC to my old wallet, and sending this plus all my coins to a new address in the same wallet, to make sure any transactions using them are not replayable on the B2X branch. Is this necessary, or are my BTC coins immune to replay by virtue of already having been spent? Even if a transaction I did on BTC could be replayed on B2X, I wouldn't care, because my value on B2X is now in a different address. I'd like to skip this step to avoid the transaction fee.
Now that I have a wallet for each chain, will they remember which chain they belong to? If I use automatic server selection, then if I get the wrong server my wallet will show a balance of 0. This is more of an annoyance than an actual danger, because I can always manually select the server. Just wondering.
As an alternative to (3) and (4), I might just send this transaction directly back to coinbase.com to exchange the B2X. Should this modified procedure also work as I intend?
I know there are other methods, but I have my reasons for not preferring them, such as fiddliness or utilizing features not supported by my wallet.