I guess the safest would be to move my Bitcoins to the Legacy format then, just to make sure i can get the free coins.
I saw this video of how to split for bitcoin cash.
https://www.youtube.com/watch?v=Z7_0m9aZrMo
I guess this is what BBZorton means with moving the new coins to a different wallet, right?
I think that this is what BillyBobZorton means, yes.
The thing is, bitcoin cash was a hard fork. This basically means that at a certain block height, bitcoin cash nodes started enforcing a new set of consensus rules. Bitcoin cash blocks could no longer be validated by non-bitcoin cash nodes. The end result is 2 completely different chains.
Up untill block x, both chains contain exactly the same blocks, and exactly the same transaction history, but starting from block x+1, each chain has it's own blocks and it's own (unique) transaction history. "core" nodes can not validate BCH blocks and vice versa.
Since both are now completely different crypto coins, but share the same transaction history, if you had 1 BTC before the chain split, you automatically have 1 BTC on the bitcoin blockchain and 1 BCH on the bitcoincash blockchain after the split.
Segwit was a soft fork, this means there is no chain split. Basically, legacy nodes get a stripped down version of exactly the same blocks as segwit nodes. So both have the same transactions in their blockchain, and exactly the same transaction history.
So, theoretically, if a new hardfork would occur on a chain during a softfork at height y, all previous transactions up untill this height would be in both chains, this would include transactions generated by both segwit and non-segwit wallets (legacy nodes don't receive the witness data, they see the transactions as anyone-can-spend outputs and redeems). Offcourse, i do not know if the chain that forks off has wallets and nodes that know how to handle historic transactions made by segwit wallets. I have no idear if they'll fork from the chain from a legacy node or from a segwit node... If they fork from a legacy node, they'll have blocks with segwit transactions but without witness data... I have no idear how they would handle those.
Conclusion : we need Achow101, DannyHamilton or somebody with more technical in this thread
![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif)
You are confusing between Segwit and Segwit2x. Segwit soft fork already happened, there was no split there, as there are no splits in a soft fork.
What we are having in November is a Segwit2x hard fork, also known as S2X. However, it doesn't have replay protection, so getting free coins will never be a safe process. As soon as you send your coins to one address, someone will replay that transaction on the other network just because it costs nothing to do so. This will make users completely ignore one chain as they can't safely coexist in the overlapping user base.
In order to get free coins on the other chain, which you might never be able to use, you will have to own your private keys for your addresses. That is all. So unless you use an online wallet, you will have coins on the other chain.
I don't think there was any confusion
![Wink](https://bitcointalk.org/Smileys/default/wink.gif)
The OP asked if he had to chose "legacy" or "segwit" wallets on his hardware wallet in order to get "free" coins after the segwit2x fork.
I then proceeded explaining that bitcoin cash was a hard fork, it now has it's own blockchain. I explained that segwit was a softfork, so both "legacy" and "segwit" wallets share the same chain.
So, i explained that when the segwit2x hard fork would happen, it did not matter if you chose "segwit" or "legacy" as your wallet type in your hardware wallet. After the segwit2x hard fork, transactions generated by both the "segwit" and "legacy" wallet's unspent outputs *should* be spendable on both the old chain, as they will be spendable on the segwit2x chain.
This is what i wanted to convey, and i think it's still valid....
However, you are completely right about the replay protection. I haven't dug into segwit2x, but if it doesn't have proper replay protection, you have to be carefull.
There are ways to circumvent the problem tough...It's not even hard to do:
how to avoid replay attacks:
you have a wallet, containing the private keys to spend unspent outputs spendable by address X. there are 2 unspent outputs spendable by you.
At a certain block height, there is a hard fork. You now have 2 unspent outputs on chain A and 2 unspent outputs on chain B.
IF you buy a pack of cigarettes using the unspent outputs on chain A and fund the seller's address directly, the seller can replay your transaction on chain B, and steal your funds... He can export his private key from his wallet on chain A and import it on a wallet on chain B...
However, if you create a NEW wallet on chain A, and a NEW wallet on chain B, then spend your 2 unspent outputs on chain A to fund an address generated by your new wallet on chain A, and do the same for chain B (spend all unspent outputs on chain B to fund an address from YOUR new wallet on chain B) the risk is gone...
Why? Because the cigarette seller has a wallet on chain A. You fund his address by using the unspent outputs in your NEW wallet. If the seller replays this transaction on chain B, it will not work because on chain B, there are no unspent outputs to spend.. The new walllet on chain A should have completely different addresses than the new wallet on chain B, unless you were *dumb* enough to generate an SPV wallet and used the same seed phrase to generate the new wallet on chain A and B... But i hope nobody will make that mistake.
![](https://ip.bitcointalk.org/?u=http%3A%2F%2Fwww.mocacinno.com%2Fscreencaps%2Freplayprotection.png&t=670&c=MJkD4tvGDxIS9Q)