Author

Topic: Understanding split of the coins in a hardfork (Read 724 times)

staff
Activity: 3458
Merit: 6793
Just writing some code
So you are saying that if I copy my wallet.dat file on the Bitcoin ABC and send to the exchange I can risk losing my coins? what's the deal?
Yes. The replay protection is opt in, so if you naively send the coins, then you are not opting in to their replay protection. You can split your coins to avoid transaction replay though and that can also be done without using Bitcoin ABC's replay protection.

Do I need to send the coins into another address that I control (an address generated in the Bitcoin ABC client) then send to the address in the exchange?
Yes.

what is exactly the method to get protected from the replay risk?
There are three methods that I know of that you can use. The first two are Bitcoin ABC's opt-in replay protection, and the last one would work with any chain split.

The first method is to make a transaction on the Bitcoin ABC chain that sends all of your coins on that chain to another address in your wallet. This transaction would use their newly-defined sighash type which is invalid and unknown to the non-ABC chain. Once that transaction has confirmed, send the coins on the non-ABC chain to yourself as you would normally.

The second method is to make a transaction on the non-ABC chain which includes an OP_RETURN output with the string
Code:
Bitcoin: A Peer-to-Peer Electronic Cash System
The ABC chain will reject transactions with such outputs until they reach block 530,000. Once that transaction has confirmed on the non-ABC chain, send your coins to yourself on the ABC chain as you would normally.

The third method is to use transaction lock times. On the chain that is longer, create a transaction which has a sufficient fee to be confirmed in the next block or two and has a locktime of the current block height. Once that transaction confirms, on the shorter chain send your Bitcoin to yourself as you would normally. Note that this method requires on chain to be several blocks longer than the other chain.

There is actually a fourth method that uses RBF, but I don't know how well that would work since Bitcoin ABC removed all RBF logic.

Note that all of these transactions must be transactions back to yourself. That way if you made a mistake and a transaction is replayed, you won't lose any coins.
legendary
Activity: 1372
Merit: 1252
Is there no risk in a replay attack on btc when you transfer bcc?
No, there is risk of a replay attack. Currently Bitcoin ABC's replay protection is entirely opt-in, so if you don't try to replay protect your transactions, they can be replayed on both chains.

Why are they calling it Bitcoin ABC and Bitcoin Cash? what's up with the two names?
Because Bitcoin ABC was the original name and the name of the client. Then ViaBTC went ahead and started calling it Bitcoin Cash.

Also is nChain related to this?
I wouldn't be surprised if they were.

Anyway, so from what I understood, I just need to get a Bitcoin ABC node synced, then copy my wallet.dat from Core there, then my BCC will show up there. I can directly send them to an exchange to dump? I heard ViaBTC and Bittrex are 2 exchanges that will allow the pairs thus far.
Yes. You can even just copy Bitcoin Core's datadir entirely instead of syncing a Bitcoin ABC node from scratch.

So you are saying that if I copy my wallet.dat file on the Bitcoin ABC and send to the exchange I can risk losing my coins? what's the deal?

Do I need to send the coins into another address that I control (an address generated in the Bitcoin ABC client) then send to the address in the exchange? what is exactly the method to get protected from the replay risk?

Also it's good to know I don't need to download the entire thing again.
staff
Activity: 3458
Merit: 6793
Just writing some code
Is there no risk in a replay attack on btc when you transfer bcc?
No, there is risk of a replay attack. Currently Bitcoin ABC's replay protection is entirely opt-in, so if you don't try to replay protect your transactions, they can be replayed on both chains.

Why are they calling it Bitcoin ABC and Bitcoin Cash? what's up with the two names?
Because Bitcoin ABC was the original name and the name of the client. Then ViaBTC went ahead and started calling it Bitcoin Cash.

Also is nChain related to this?
I wouldn't be surprised if they were.

Anyway, so from what I understood, I just need to get a Bitcoin ABC node synced, then copy my wallet.dat from Core there, then my BCC will show up there. I can directly send them to an exchange to dump? I heard ViaBTC and Bittrex are 2 exchanges that will allow the pairs thus far.
Yes. You can even just copy Bitcoin Core's datadir entirely instead of syncing a Bitcoin ABC node from scratch.
sr. member
Activity: 285
Merit: 251
Is there no risk in a replay attack on btc when you transfer bcc?
legendary
Activity: 3122
Merit: 2178
Playgram - The Telegram Casino
Why are they calling it Bitcoin ABC and Bitcoin Cash? what's up with the two names? Also is nChain related to this?

"Bitcoin ABC" appears to be the name of the wallet and "Bitcoin Cash" is the name of the currency. Both are the rebirth of Bitcoin Unlimited (BTU).

Anyway, so from what I understood, I just need to get a Bitcoin ABC node synced, then copy my wallet.dat from Core there, then my BCC will show up there. I can directly send them to an exchange to dump? I heard ViaBTC and Bittrex are 2 exchanges that will allow the pairs thus far.

That's how it should work in theory, yes.
legendary
Activity: 1372
Merit: 1252
People are speculating about the up and coming Bitcoin Cash, also known as Bitcoin ABC (are they the same thing? I think they are).
Bitcoin ABC and "Bitcoin Cash" are the same thing.

Let's call this BCC.
Lets call it Bitcoin ABC.

This is considered a hardfork right?
Yes.

Anyway so from what I've understood, when a fork happens, if you own the private keys, you will receive exactly the same amount of coins in your wallet, on the other chain.  This is why it's very important that you must own the coins by the time the fork day happens, or else you will be at the mercy of exchanges listing or not the forked token.
You won't be receiving any coins on the other chain. What you will have is a wallet which has exactly the same state (same transactions) as your wallet on the other chain.

My question is: If im keeping my coins in Bitcoin Core, how do I access the Bitcoin Cash tokens?
You can't. Bitcoin Core cannot understand the consensus rules that Bitcoin ABC will be deploying. It is a hard fork, so whoever wants to use that fork needs to upgrade their software. The only way you can spend Bitcoin ABC coins is to use the Bitcoin ABC client.

I have tried to find an answer and im confused. Some claim that the wallet.dat files will be compatible with the Bitcoin Cash full node, so you open it there and it will work. I think this will not work.
Because the Bitcoin ABC client is based off of Bitcoin Core, you can simply copy the wallet.dat file into a data directory you are using for Bitcoin ABC and be able to use your wallet from there. They are not incompatible.

If so, how does it work in detail? I want to be able to dump these damn BCC tokens to get some free BTC.
Just copy your wallet.dat file into a data directory that you are using for Bitcoin ABC. Then you will need to split your coins. You can read about how to split your coins here: https://bitcoin.stackexchange.com/questions/56867/bitcoin-cash-replay-protection/56874#56874

Why are they calling it Bitcoin ABC and Bitcoin Cash? what's up with the two names? Also is nChain related to this?

I was calling it BCC because that's the token they want, and it's funny since they are now fighting with another coin that has the BCC token taken (BitConnect)

Anyway, so from what I understood, I just need to get a Bitcoin ABC node synced, then copy my wallet.dat from Core there, then my BCC will show up there. I can directly send them to an exchange to dump? I heard ViaBTC and Bittrex are 2 exchanges that will allow the pairs thus far.
staff
Activity: 3458
Merit: 6793
Just writing some code
People are speculating about the up and coming Bitcoin Cash, also known as Bitcoin ABC (are they the same thing? I think they are).
Bitcoin ABC and "Bitcoin Cash" are the same thing.

Let's call this BCC.
Lets call it Bitcoin ABC.

This is considered a hardfork right?
Yes.

Anyway so from what I've understood, when a fork happens, if you own the private keys, you will receive exactly the same amount of coins in your wallet, on the other chain.  This is why it's very important that you must own the coins by the time the fork day happens, or else you will be at the mercy of exchanges listing or not the forked token.
You won't be receiving any coins on the other chain. What you will have is a wallet which has exactly the same state (same transactions) as your wallet on the other chain.

My question is: If im keeping my coins in Bitcoin Core, how do I access the Bitcoin Cash tokens?
You can't. Bitcoin Core cannot understand the consensus rules that Bitcoin ABC will be deploying. It is a hard fork, so whoever wants to use that fork needs to upgrade their software. The only way you can spend Bitcoin ABC coins is to use the Bitcoin ABC client.

I have tried to find an answer and im confused. Some claim that the wallet.dat files will be compatible with the Bitcoin Cash full node, so you open it there and it will work. I think this will not work.
Because the Bitcoin ABC client is based off of Bitcoin Core, you can simply copy the wallet.dat file into a data directory you are using for Bitcoin ABC and be able to use your wallet from there. They are not incompatible.

If so, how does it work in detail? I want to be able to dump these damn BCC tokens to get some free BTC.
Just copy your wallet.dat file into a data directory that you are using for Bitcoin ABC. Then you will need to split your coins. You can read about how to split your coins here: https://bitcoin.stackexchange.com/questions/56867/bitcoin-cash-replay-protection/56874#56874
legendary
Activity: 1372
Merit: 1252
People are speculating about the up and coming Bitcoin Cash, also known as Bitcoin ABC (are they the same thing? I think they are). Let's call this BCC. This is considered a hardfork right?

Anyway so from what I've understood, when a fork happens, if you own the private keys, you will receive exactly the same amount of coins in your wallet, on the other chain.  This is why it's very important that you must own the coins by the time the fork day happens, or else you will be at the mercy of exchanges listing or not the forked token.

My question is: If im keeping my coins in Bitcoin Core, how do I access the Bitcoin Cash tokens?

I have tried to find an answer and im confused. Some claim that the wallet.dat files will be compatible with the Bitcoin Cash full node, so you open it there and it will work. I think this will not work.

If so, how does it work in detail? I want to be able to dump these damn BCC tokens to get some free BTC.
Jump to: