Author

Topic: Fork November: Ledger wallet in "Legacy" or "Segwit" to get free coins? (Read 11322 times)

newbie
Activity: 9
Merit: 0
  • Some people here say, that for a replay of a transaction on the other side "someone else" need to take the transaction and broadcast it on the other side.
    This is not true.
    With the upcoming fork, the legacy chain and the Segwit2x chain broadcast their transactions to the same network. So, whenever you send a transaction (does not matter on which side), the transaction will always find a way to the nodes of the other chain (they are in the same network, they share the same transaction pool and so on). This causes always a replay of any transaction sent to the network.
  • The only save way to split the coins I know is with a time locked transaction.
    The idea here is, that after a split both chains will have a different hash rate. So it is very unlikely that they find new blocks with the same speed. The chain with more hash rate will find blocks faster than the one with less hash rate.

    Let's assume the chain splits at block height 1000 (I know the current block height is higher, but just as example).
    This means, that from block 1000 on, the blocks will look different.
    Lets say with hash rate of Chain A they will find blocks every 20 minutes, Chain B find blocks every 40 minutes. After 6 hours Chain A created 18 blocks (block height 1018) and Chain B created 9 blocks (block height 1009).

    Now comes the magic part.
    You create a transaction with the bitcoins you want to split and send them to a new address you created before (important, you need to send to an address you control the private key!!). The transaction should have the nLocktime Parameter set to the block height of the longer chain. In this example, set the nLocktime to 1018. This means, that this transaction is only allowed to add to a new block if the block height of the chain is equal or higher than 1018.
    Chain A has height 1018, so if you payed enough transaction fee, the transaction should be put into one of the next blocks.
    Chain B has height 1009, so this transaction with the locktime 1018 will not be mined into the next blocks. It will wait in the transaction pool until Chain B reaches height 1018.
    When this transaction got one confirmation on Chain A, you create a second transaction to a different address you created (also your own address), but this time without time lock.
    The second transaction will be picked up by Chain B and put into one of the next blocks. This makes the first unconfirmed transaction invalid on Chain B. The second transaction itself is invalid on Chain A, because the Bitcoins were already used in the first transaction.
    If everything was working fine, you should have your coins on a new address on Chain A and another new address on Chain B.
  • There is a chance, that this coin split might not work the first time.
    For example, if your first transaction did not get confirmed, before the second chain reach the nLockTime block height. In this case, you just wait again, until the two chains have a different height (maybe 10 to 20 blocks difference), and try again (that's the reason why you should always do this split and send the coins to your own addresses, so you can repeat in case it did not work the first time).

I hope that it is understandable what I wrote there  Smiley

One challenge is to create this nLocktime transaction, as I don't know any "easy" way to create them. Wallets usually don't support to create them directly...


Kogs, I see what you're getting at, but is it really necessary to timelock the transaction?  Assuming you're sending the coins to an address only you have the private key for, then the worst case if a replay occurs is that your coins get moved to an address you control and you could just start over, right?  Could you not just send the transaction, then once it arrives at its destination in one chain, safely send the same coins to a different address using the client for the other chain?  It's a race, and whoever wins will just ignore the second attempt as a double-spend.

Let me know if I missed something here.

ps. Sorry to revive an old post but I wanted to reference the original message.
full member
Activity: 196
Merit: 122
I've been in crypto not for long; in the beginning of september i bought some BTC, and put it on a Ledger.

My ledger asked me to choose between a segwit or legacy account, and i chose Segwit because word is that it's faster en has lower fees.
So now my balance shows up whenever i open my wallet as "Segwit", but when i choose "Legacy" the balance says 0 BTC.

With the upcoming fork in november, people are saying BTC holders get free coins of the newly created fork.

And I am wondering if it matters if the BTC wallet on the Ledger is in Legacy or Segwit mode to get these free new coins?
Because if it does,  i should transfer my BTC.

If searched the net like crazy, but nowhere i can find the answer to this...  Undecided


If i'm not mistaking, it shouldn't matter... Both legacy and segwit wallets use the same underlying blockchain (segwit was a soft fork). So, in case of a new hardfork, it shouldn't matter if you used a segwit or a legacy wallet, all transactions for both wallets were recorded on the same blockchain, and after the fork those transactions should be visible in the forked coin's wallet... Unless i'm missing something here.
Oh i see do you mean all the transaction was recorded in blockchain or in the other form of chain? I think this novermber fork for segwit is can help to make transaction much smoothly and lessen the delays of transaction also it will lessen the transaction fees in every chain wallet.
member
Activity: 392
Merit: 41
This text is irrelevant
I've been in crypto not for long; in the beginning of september i bought some BTC, and put it on a Ledger.

My ledger asked me to choose between a segwit or legacy account, and i chose Segwit because word is that it's faster en has lower fees.
So now my balance shows up whenever i open my wallet as "Segwit", but when i choose "Legacy" the balance says 0 BTC.

With the upcoming fork in november, people are saying BTC holders get free coins of the newly created fork.

And I am wondering if it matters if the BTC wallet on the Ledger is in Legacy or Segwit mode to get these free new coins?
Because if it does,  i should transfer my BTC.

If searched the net like crazy, but nowhere i can find the answer to this...  Undecided









It do not even matter were your bitcoin is at the time of the hardfork but you should know that even if your coins is in the online or offline or even exchangers site you will still get a free coins of the new coins after the splitting. This has happened during the last hardfork and I believe that the same thing will happen again.

However if your funds are held by online service it is up to that service to release your funds. Some services will say (we don't support this fork, therefore you will only get bitcoins). To avoid this sort of frustration transfer it to  some wallet you can access with your private key.
member
Activity: 392
Merit: 41
This text is irrelevant
I've been in crypto not for long; in the beginning of september i bought some BTC, and put it on a Ledger.

My ledger asked me to choose between a segwit or legacy account, and i chose Segwit because word is that it's faster en has lower fees.
So now my balance shows up whenever i open my wallet as "Segwit", but when i choose "Legacy" the balance says 0 BTC.

With the upcoming fork in november, people are saying BTC holders get free coins of the newly created fork.

And I am wondering if it matters if the BTC wallet on the Ledger is in Legacy or Segwit mode to get these free new coins?
Because if it does,  i should transfer my BTC.

If searched the net like crazy, but nowhere i can find the answer to this...  Undecided


You don't have any "account" in BitCoin. All you have is your private key and transactions that says "This money can be spent by someone who is in possession of this private key (i.e. can produce signature)." So instead of thinking that you have some money, you should shift your understanding to thinking "there are money that I can spend if I have a key". And by spending you should mean "I hand right to spend this money to someone else who owns his key". Your money isn't on your PC or on anybody's pc - they are scattered all over blockchain and stays there. It does not matter what software you use to broadcast transaction - your money will remain there.

After had fork nothing will change with existing blockchain - it will remain identical. Another, identical blockchain with slightly different rules of transactions will be created. It will have exactly same history and identical spendable funds in it that you (using your private key) can spend. The only difference is if you spend your funds in one chain it will remain unspent in another (at least if some sort of replay protection will be implemented).

This is essentially what fork is from user perspective.
newbie
Activity: 28
Merit: 0

There's a much simpler way to look at it.
You've got a girlfriend who has an identical twin sister. Both your girlfriend and her sister have secrets and motivations you are only dimly aware of. They have a habit of sharing each other's clothes.
You need to be very, very careful.


I like this image.

If you play this well, you'll get a pretty high reward !

legendary
Activity: 2926
Merit: 1386
Wow, this sounds waaaay to complicated for me to risk.

I think I'm just gonna keep my coins in legacy, and not touch the "2x"-coins until that team decides to implement replay protection.
I hope exchanges will reject their coin until they make it safe.

Or maybe Ledger will design a ready made application to safely split/send the 2x coins while keeping your BTC wallet untouched.

There's a much simpler way to look at it.

You've got a girlfriend who has an identical twin sister. Both your girlfriend and her sister have secrets and motivations you are only dimly aware of. They have a habit of sharing each other's clothes.

You need to be very, very careful.

Smiley

For Trezor a few weeks ago they advised everyone move from a legacy to a "New Style (Segwit)" account in order to get the benefits of the new style, such as faster transactions and lower fees. I read that as true but not accommodating all the possible variations of split forks.

Thus for Trezor it seems reasonable all coins should be on legacy, non segwit accounts.
full member
Activity: 980
Merit: 115
I've been in crypto not for long; in the beginning of september i bought some BTC, and put it on a Ledger.

My ledger asked me to choose between a segwit or legacy account, and i chose Segwit because word is that it's faster en has lower fees.
So now my balance shows up whenever i open my wallet as "Segwit", but when i choose "Legacy" the balance says 0 BTC.

With the upcoming fork in november, people are saying BTC holders get free coins of the newly created fork.

And I am wondering if it matters if the BTC wallet on the Ledger is in Legacy or Segwit mode to get these free new coins?
Because if it does,  i should transfer my BTC.

If searched the net like crazy, but nowhere i can find the answer to this...  Undecided









It do not even matter were your bitcoin is at the time of the hardfork but you should know that even if your coins is in the online or offline or even exchangers site you will still get a free coins of the new coins after the splitting. This has happened during the last hardfork and I believe that the same thing will happen again.
member
Activity: 70
Merit: 10
Ok wow, I am confused too all. In regards to the previous split did any software wallet or online wallet handle it more gracefully as in a quicker resolution? I am thinking with the legacy and segwit options on Ledger it might be better if I store elsewhere during the hard fork.
Considering my balance is small also, so less risk than someone that has alot.
member
Activity: 86
Merit: 26
I found some confusing answers here and also some not 100% correct answers.

For the upcoming Segwit2X fork (if they will not add replay protection in the last minute before forking) here are some points to mention.

  • Have your Bitcoins on addresses where you control the private key. If they are on a legacy address or on a Segwit address does not matter
  • You will have to split the coins on your own in any case if you don't want to lose the coins for one side
  • Some people here say, that for a replay of a transaction on the other side "someone else" need to take the transaction and broadcast it on the other side.
    This is not true.
    With the upcoming fork, the legacy chain and the Segwit2x chain broadcast their transactions to the same network. So, whenever you send a transaction (does not matter on which side), the transaction will always find a way to the nodes of the other chain (they are in the same network, they share the same transaction pool and so on). This causes always a replay of any transaction sent to the network.
  • The only save way to split the coins I know is with a time locked transaction.
    The idea here is, that after a split both chains will have a different hash rate. So it is very unlikely that they find new blocks with the same speed. The chain with more hash rate will find blocks faster than the one with less hash rate.

    Let's assume the chain splits at block height 1000 (I know the current block height is higher, but just as example).
    This means, that from block 1000 on, the blocks will look different.
    Lets say with hash rate of Chain A they will find blocks every 20 minutes, Chain B find blocks every 40 minutes. After 6 hours Chain A created 18 blocks (block height 1018) and Chain B created 9 blocks (block height 1009).

    Now comes the magic part.
    You create a transaction with the bitcoins you want to split and send them to a new address you created before (important, you need to send to an address you control the private key!!). The transaction should have the nLocktime Parameter set to the block height of the longer chain. In this example, set the nLocktime to 1018. This means, that this transaction is only allowed to add to a new block if the block height of the chain is equal or higher than 1018.
    Chain A has height 1018, so if you payed enough transaction fee, the transaction should be put into one of the next blocks.
    Chain B has height 1009, so this transaction with the locktime 1018 will not be mined into the next blocks. It will wait in the transaction pool until Chain B reaches height 1018.
    When this transaction got one confirmation on Chain A, you create a second transaction to a different address you created (also your own address), but this time without time lock.
    The second transaction will be picked up by Chain B and put into one of the next blocks. This makes the first unconfirmed transaction invalid on Chain B. The second transaction itself is invalid on Chain A, because the Bitcoins were already used in the first transaction.
    If everything was working fine, you should have your coins on a new address on Chain A and another new address on Chain B.
  • There is a chance, that this coin split might not work the first time.
    For example, if your first transaction did not get confirmed, before the second chain reach the nLockTime block height. In this case, you just wait again, until the two chains have a different height (maybe 10 to 20 blocks difference), and try again (that's the reason why you should always do this split and send the coins to your own addresses, so you can repeat in case it did not work the first time).

I hope that it is understandable what I wrote there  Smiley

One challenge is to create this nLocktime transaction, as I don't know any "easy" way to create them. Wallets usually don't support to create them directly...

Don't know if Ledger wallet is able to do it?
legendary
Activity: 1624
Merit: 2509
Wow, this sounds waaaay to complicated for me to risk.

I think I'm just gonna keep my coins in legacy, and not touch the "2x"-coins until that team decides to implement replay protection.
I hope exchanges will reject their coin until they make it safe.

Or maybe Ledger will design a ready made application to safely split/send the 2x coins while keeping your BTC wallet untouched.

A workaround already has been Posted
After the fork you have to Send your coins from your unspend Outputs (on both chains) to newly generated addresses (also on both chains).
This way an attacker can't replay the Transaction from one Chain to another.
legendary
Activity: 1288
Merit: 1087
wait for ledger themselves to say something. there's no point in listening to anyone else's opinion on this. if there is something that works then they'll implement it.

and as far as i know not one single exchange, wallet provider or any other service has come out with a concrete plan about how they're going to accommodate this. it's not looking like a straightforward hark fork with replay protection at present.
full member
Activity: 224
Merit: 100
If I am not wrong both segwit and legacy wallets have the same blockchain system
full member
Activity: 190
Merit: 100
All care to know is, will this fork nonsense stop in the future or are we going to have this shit every quarter?!
sr. member
Activity: 490
Merit: 389
Do not trust the government
15 ) This now empty wallet, is the one that you should move to the btc1 client or whatever other fork to access your coins

And when you sent your coins in step 14 someone just took that transaction, along with all the others, and replayed it on the other network, just because he can. Now that wallet is empty on both blockchains. You see, it is not that "simple" when there is no replay protection.
newbie
Activity: 6
Merit: 0
Wow, this sounds waaaay to complicated for me to risk.

I think I'm just gonna keep my coins in legacy, and not touch the "2x"-coins until that team decides to implement replay protection.
I hope exchanges will reject their coin until they make it safe.

Or maybe Ledger will design a ready made application to safely split/send the 2x coins while keeping your BTC wallet untouched.
legendary
Activity: 868
Merit: 1006
No need to do that. Segwit2x is not disabling segwit.

Right, so when a fork also has segwit and you have your coins in the format that begins with 3 (not sure how this is called) or the bc1 format, you will receive the coins just OK on the other chain in the same addresses. Well this is good to go, but for long term storage and to receive coins of forks that may not have segwit i think its better to store them in legacy format. For example I think Bitcoin Gold has no segwit.


No, that will probably confuse the btc1 client. You should make and have a backup of your wallet.dat before you moved your coins and use that backup with the btc1 client after the fork.

Well I didn't exactly mean move, I meant to make a copy and paste it on the other folder. Let's see if this is the fixed full version:

1 ) Get all of your coins in legacy format addresses (the ones that begin with 1 that is) but if the fork supports segwit then you are good to do with segwit addresses too
2 ) These keys must be ideally in a full node of the legacy chain (so Bitcoin Core will do)
3 ) Wait for the split to happen
4 ) Split day is here, you received the same amount of coins you are holding on the forked chain (in this case segwit2x chain, but Bitcoin Gold chain or whatever also when it happens)
5 ) Make a backup of your wallet.dat elsewhere on another folder in several places just in case
6 ) Shut down Bitcoin Core and delete your wallet.dat
7 ) Open Bitcoin Core again and now you have a brand new empty wallet
8 ) Create new receiving addresses (use coin control to know how many addresses you will need to retain privacy)
9 ) Put these addresses in a .txt file
10 ) Close Bitcoin Core
11 ) Now rename this wallet.dat to emtpywallet.dat or something
12 ) Put back the wallet.dat that actually has your coins
13 ) Run Bitcoin Core again
14 ) Send your coins to the created addresses
15 ) This now empty wallet, is the one that you should move to the btc1 client or whatever other fork to access your coins
16) Open btc1 client and once btc1 client is synced you will see the coins, now you are free to send them to an exchange and dump them for the real BTC
17) Now close btc1 client and open Bitcoin Core again with the wallet.dat where you moved the coins
18) Create receiving addresses there and send your free BTC coins from the exchange where you dumped 2xcoin for BTC
19 ) Profit!!!

wow this gave me an headache, but I think its correct.

staff
Activity: 3458
Merit: 6793
Just writing some code
Ok so from what I've gathered and please someone confirm if this is correct, this is how you get ready for a hardfork:

1 ) Get all of your coins in legacy format addresses (the ones that begin with 1 that is)
No need to do that. Segwit2x is not disabling segwit.

6 ) Your wallet.dat is now empty
7 ) Move this empty wallet.dat into a full node client of the forked chain
8 ) Once you sync it, your coins will show up there
No, that will probably confuse the btc1 client. You should make and have a backup of your wallet.dat before you moved your coins and use that backup with the btc1 client after the fork.
legendary
Activity: 868
Merit: 1006
Ok so from what I've gathered and please someone confirm if this is correct, this is how you get ready for a hardfork:

1 ) Get all of your coins in legacy format addresses (the ones that begin with 1 that is)
2 ) These keys must be ideally in a full node of the legacy chain (so Bitcoin Core will do)
3 ) Wait for the split to happen
4 ) Split day is here, you recieved the same amount of coins you are holding on the forked chain (in this case segwit2x chain, but Bitcoin Gold chain or whatever also when it happens)
5 ) You move all of your coins to other addresses in the legacy chain
6 ) Your wallet.dat is now empty
7 ) Move this empty wallet.dat into a full node client of the forked chain
8 ) Once you sync it, your coins will show up there
9 ) Now you are in full control of the coins on both chains and you can send your segwit2x/BCash/Gold/whatever fork coins into an exchange and dump for free real BTC
10 ) Profit!!!
legendary
Activity: 3612
Merit: 5297
https://merel.mobi => buy facemasks with BTC/LTC
Yeah, I read it again, you were correct. Smiley
The whole thing where OP called segwit2x "segwit" was confusing I probably thought you were talking about the other one or read it wrong, I don't remember by now. Sorry for calling you out when you were correct Cheesy

As to further comment on your post I replied to earlier, if I understand everything correctly here, S2X will accept the witness data from this Segwit network. It wouldn't make sense for them to implement new and/or different segwit protocol.

no worries, this stuff gets pretty confusing Wink
As for the rest of your post: thanks for the clarification... I haven're read up on the S2X fork (yet), so this information is pretty usefull to me.
sr. member
Activity: 490
Merit: 389
Do not trust the government
I don't think there was any confusion Wink
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.

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, the seller can replay your transaction on chain B, and steal your funds...

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...

Yeah, I read it again, you were correct. Smiley
The whole thing where OP called segwit2x "segwit" was confusing I probably thought you were talking about the other one or read it wrong, I don't remember by now. Sorry for calling you out when you were correct Cheesy

As to further comment on your post I replied to earlier, if I understand everything correctly here, S2X will accept the witness data from this Segwit network. It wouldn't make sense for them to implement new and/or different segwit protocol.
legendary
Activity: 3612
Merit: 5297
https://merel.mobi => buy facemasks with BTC/LTC
Hmm, that's 2 different answers.... so there is obviously confusion over this...
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

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
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.

newbie
Activity: 6
Merit: 0
You will be able to move them and use them, however, you might not be able to move them separately, in which case, you kind of have to abandon one of them. .....
The truth is that it isn't just a possibility, it is near certainty. I said it might be possible to split the coins, but not by just sending them and hoping. Since, someone, somewhere will probably replay all the transactions. However, it might be possible to split them with other methods, that will not be 100% safe and the exact method will depend on the hashrate of both chains after the fork.

Ok, thanks for making this all clear.
You probably saved me from losing Bitcoins!  Wink
At the same time i wonder how many non technical Bitcoin investors will be duped here. It will give crypto a bad rep once again  Undecided
sr. member
Activity: 490
Merit: 389
Do not trust the government
You say it's not safe to get the free coins.
But you also say: if one has the private keys (like people with their coins on a ledger), you will get them automatically?
And you also mention: we will never be able to use them.

Every point you make is a contradiction to the previous  Huh

They are not a contradiction Cheesy

The point I was making is that you will definitely get the coins if you have your private keys. They will be on both blockchains and only you will be able to move them with your private keys. You will be able to move them and use them, however, you might not be able to move them separately, in which case, you kind of have to abandon one of them. Sorry if I wasn't clear enough.

I'm reading about this replay protection thing, or the lack of, and i'm beginning to see the problem now, i think

So if my newbie brain is getting this right:
Bitcoin core has no replay protection
Bitcoin S2x will have no replay protection.

If you have coins on both chains, and you send coins on one chain, there is a possibility you loose the same amount of coins on the other chain?

If i understand this right, this is a serious problem when holding both Bitcoin core and Bitcoin s2x...   Angry

The truth is that it isn't just a possibility, it is near certainty. I said it might be possible to split the coins, but not by just sending them and hoping. Since, someone, somewhere will probably replay all the transactions. However, it might be possible to split them with other methods, that will not be 100% safe and the exact method will depend on the hashrate of both chains after the fork.
legendary
Activity: 1197
Merit: 1001
I'm also reading different opinions and decided to play it safe about Segwit2x and keep the coins in Legacy mode.
You know, it's annoying to move coins here and there but if the new fork bring at least the same value like BCH, it's worth it.
legendary
Activity: 2758
Merit: 6830
I'm reading about this replay protection thing, or the lack of, and i'm beginning to see the problem now, i think

So if my newbie brain is getting this right:
Bitcoin core has no replay protection
Bitcoin S2x will have no replay protection.

If you have coins on both chains, and you send coins on one chain, there is a possibility you loose the same amount of coins on the other chain?

If i understand this right, this is a serious problem when holding both Bitcoin core and Bitcoin s2x...   Angry

TLDR: When you send a transaction, your transaction may be broadcasted in one chain, and be picked up by the other, making you spend your coins on both chains by mistake.

Quote
An attacker, or anybody in general, could pick up your broadcasted transaction on one chain, and relay it to a node on another chain. Since the transaction is valid on both chains, both nodes would accept it.
Source: https://themerkle.com/what-is-a-bitcoin-replay-attack/
newbie
Activity: 6
Merit: 0
I'm reading about this replay protection thing, or the lack of, and i'm beginning to see the problem now, i think

So if my newbie brain is getting this right:
Bitcoin core has no replay protection
Bitcoin S2x will have no replay protection.

If you have coins on both chains, and you send coins on one chain, there is a possibility you loose the same amount of coins on the other chain?

If i understand this right, this is a serious problem when holding both Bitcoin core and Bitcoin s2x...   Angry
legendary
Activity: 1806
Merit: 1164
The safe play is to hold your bitcoin in a legacy account in a Trezor or Nano S hardware wallet. Both handled the BCH hard fork gracefully so no reason not to expect the same if SegWit2X occurs. Trezor did warn after the BCH hard fork that they will no longer publish timelines as they were pressured hard to give Trezor owners BCH as soon as possible. They did but were not happy about being rushed. Can't blame owners though they wanted to sell while price was high.
newbie
Activity: 6
Merit: 0
Oh man, this keeps getting more and more confusing.


However, it doesn't have replay protection, so getting free coins will never be a safe process.

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.

You say it's not safe to get the free coins.
But you also say: if one has the private keys (like people with their coins on a ledger), you will get them automatically?
And you also mention: we will never be able to use them.

Every point you make is a contradiction to the previous  Huh
sr. member
Activity: 490
Merit: 389
Do not trust the government
Hmm, that's 2 different answers.... so there is obviously confusion over this...
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

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.
legendary
Activity: 3612
Merit: 5297
https://merel.mobi => buy facemasks with BTC/LTC
Hmm, that's 2 different answers.... so there is obviously confusion over this...
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
newbie
Activity: 6
Merit: 0
Hmm, that's 2 different answers.... so there is obviously confusion over this...
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?
legendary
Activity: 1204
Merit: 1028
I've been in crypto not for long; in the beginning of september i bought some BTC, and put it on a Ledger.

My ledger asked me to choose between a segwit or legacy account, and i chose Segwit because word is that it's faster en has lower fees.
So now my balance shows up whenever i open my wallet as "Segwit", but when i choose "Legacy" the balance says 0 BTC.

With the upcoming fork in november, people are saying BTC holders get free coins of the newly created fork.

And I am wondering if it matters if the BTC wallet on the Ledger is in Legacy or Segwit mode to get these free new coins?
Because if it does,  i should transfer my BTC.

If searched the net like crazy, but nowhere i can find the answer to this...  Undecided











As far as I know, your bitcoins must be held on the legacy format in order for you to receive coins in the case of a network split. This is yet another reason to oppose hardforks. It is insanely annoying that you must be moving your coins around from segwit format, to legacy format every time a hardfork happens, if you want to receive free coins (and who doesn't).

And not only that, but you should move your coins to a different wallet, then once the wallet is empty on the legacy chain, you can export these private keys (or ideally if you are running a full node, just copy-paste the wallet.dat file on the folder of the full node of the fork's client because you want to avoid exporting and import private keys as much as possible).

So yeah, it is an annoying process, and if you don't know what you are doing, you can screw up badly. Some people were confused enough to send BTC into BCash addresses and lost their money. It is a shame that so many innocent people get screwed because of this. Not everyone is bright, we have to be realistic, most people aren't technically literate enough to deal with these things.
legendary
Activity: 3612
Merit: 5297
https://merel.mobi => buy facemasks with BTC/LTC
I've been in crypto not for long; in the beginning of september i bought some BTC, and put it on a Ledger.

My ledger asked me to choose between a segwit or legacy account, and i chose Segwit because word is that it's faster en has lower fees.
So now my balance shows up whenever i open my wallet as "Segwit", but when i choose "Legacy" the balance says 0 BTC.

With the upcoming fork in november, people are saying BTC holders get free coins of the newly created fork.

And I am wondering if it matters if the BTC wallet on the Ledger is in Legacy or Segwit mode to get these free new coins?
Because if it does,  i should transfer my BTC.

If searched the net like crazy, but nowhere i can find the answer to this...  Undecided


If i'm not mistaking, it shouldn't matter... Both legacy and segwit wallets use the same underlying blockchain (segwit was a soft fork). So, in case of a new hardfork, it shouldn't matter if you used a segwit or a legacy wallet, all transactions for both wallets were recorded on the same blockchain, and after the fork those transactions should be visible in the forked coin's wallet... Unless i'm missing something here.
newbie
Activity: 6
Merit: 0
I've been in crypto not for long; in the beginning of september i bought some BTC, and put it on a Ledger.

My ledger asked me to choose between a segwit or legacy account, and i chose Segwit because word is that it's faster en has lower fees.
So now my balance shows up whenever i open my wallet as "Segwit", but when i choose "Legacy" the balance says 0 BTC.

With the upcoming fork in november, people are saying BTC holders get free coins of the newly created fork.

And I am wondering if it matters if the BTC wallet on the Ledger is in Legacy or Segwit mode to get these free new coins?
Because if it does,  i should transfer my BTC.

If searched the net like crazy, but nowhere i can find the answer to this...  Undecided








Jump to: