0

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:

  1. Send a small amount of B2X from coinbase.com to my wallet
  2. In my wallet, select a server on the segwit2x branch. I should see the transaction from (1).
  3. Create a new wallet
  4. Send all coins, including the new tainted coin, to an address in my new wallet
  5. 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.

1 Answer 1

1

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"?

Yes, if a transaction only exists on one blockchain, it is by definition only valid on that blockchain, so any other transaction which spends from it is also only valid on that chain.

Is this necessary, or are my BTC coins immune to replay by virtue of already having been spent?

The latter, since your outputs have already been spent on the B2X chain, any replay of your BTC transaction would be rejected as a double-spend there, so you can safely just spend your BTC normally.

Now that I have a wallet for each chain, will they remember which chain they belong to?

I assume that would be the case, but I'm not familiar with the wallet so I can't answer this.

I'm unsure what you mean in your last point, send which transaction back to coinbase?

2
  • In my original scenario, I was talking about sending from one of my Electrum wallets to a new Electrum wallet. I could decide instead to send from my Electrum wallet directly to coinbase.com. Commented Nov 8, 2017 at 5:22
  • 1
    In that case yes, I believe that would work equally well, as long as the B2X transaction you send includes the taint your bitcoins will be safe. Commented Nov 8, 2017 at 5:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.