That's actually pretty great! I have been trying to read up on this but it's pretty confusing for us non technical folks. I'll wrap my head around it one of these days. Once I do I'll start to try and use the bech32 addresses just to get used to them and go from there.

No. Old addresses can exist alongside Segwit addresses in the same wallet.dard way of doing it, it has alot of fail safety built into the design. It should be fine (Disclaimer: I don't use Electrum wallet)

Thanks for all the info. Very informative.I installed electrum 3, and have now moved some to a new Bech32 (bc1?) address, how can I generate new address in the same electrum 3 wallet but w/ the old standard format? I want to send some over to the same wallet but can't because unsupported by it. I've sort of looked around and dont see it.

Edit--- Just thought of it, would this be just sweeping private keys from wallet?

I'm not really familiar with Ruby but is it that easy to modify this to get the ability to generate SegWit vanity addresses?

It's easy to loop through the calculation of the address until you match some vanity string but bear in mind it's only a BIP16 P2SH -looking address. Only the creator of the address would know it's a segwit output until it is spent.

You may want to create a native BIP173 P2WPKH segwit address to make it obvious it's a segwit output from the start.However BIP173 is only a draft afaik even if it is already supported by Electrum.

so I created a new Segwit wallet with Electrum and the address start with "bc1"... since it's not widespread yet, can anyone recommend a Windows desktop (or Android) wallet who's addresses start with a "3" (since its kinda backward compatible?)

so I created a new Segwit wallet with Electrum and the address start with "bc1"... since it's not widespread yet, can anyone recommend a Windows desktop (or Android) wallet who's addresses start with a "3" (since its kinda backward compatible?)

Samourai wallet is the best option to go. You can generate both normal and SegWit (with '3') addresses for receiving and you can also send to Bech32 addresses (bc1) or, you have Trezor too (If you want to invest in a hardware wallet).

There are 2 different Segwit address formats. They are P2SH (starting with a "3") and bech32 (starting "bc1")

P2SH can be sent to by people using older Bitcoin software with no Segwit support. This supports backwards compatibility

People sending from newer Bitcoin software that have Segwit and bech32 can send to the new address type that starts "bc1"

People sending from newer Bitcoin software that have no Segwit probably cannot send to the new address type that starts "bc1"

So, if people send you BTC from old software, give them the Segwit addresses that start with "3". If people send you BTC using new Segwit Bitcoin software, give them the Segwit addresses that start with "bc1".

If you don't know if someone has the newer bech32 software or not, there's no need to worry, their software will simply refuse to send the transaction, so no harm can be done.

You won't get the Segwit fee reduction unless you spend from one of these addresses

The addresses starting "3" are normal addresses. They already exist in the Bitcoin blockchain now. The difference is that the Bitcoin script permits a wide variety of options, in this case, using Segwit in a way that old Bitcoin software can handle (obviously old software has no clue what Segwit is, it didn't exist back then, this method works around that)

The addresses starting "bc1" are not normal addresses. They are brand new, and only work with Segwit

With addresses starting "bc1", it doesn't matter if you USE UPPER CASE. or if you use lower case. bc1bech32segwitaddressescanbeupperorlowercase is the same address as BC1BECH32SEGWITADDRESSESCANBEUPPERORLOWERCASE, neither your wallet software or the blockchain will care

There are no guarantees. Bitcoin isn't like going to Walmart (where a price is the only price you can get), it's like going to an auction house. The miners control whose transactions they include in blocks, and they can do it any way they like, even totally crazy ways that lose them money.

But, you could expect to pay fees of ~50% less than non-Segwit transactions, for a regular transaction where you pay from just one address to one address (with one change address). Why? Sort of complicated, but I can explain if you like.

4) If i upgrade from 2.9.3 to 3.0 will i have old addresses or it will swipe them?

No. Old addresses can exist alongside Segwit addresses in the same wallet.

If you're nervous about this, just use a new wallet for all Segwit transactions. But Electrum's approach to wallet specs is flexible enough to allow it, and also the standard way of doing it, it has alot of fail safety built into the design. It should be fine (Disclaimer: I don't use Electrum wallet)

I also have a question regrading segwit. Although I keep my "old" wallet with non segwit address, I've also created a new one that has native segwit addresses (the bech32 P2WPKH type, so addresses starting with bc1). I was aware that I would probably not be able to send or receive from non segwit addresses, but I decided to go for this option anyway, since I heard they are more efficient, so I preferred them over the "transitional" P2SH addresses.

My question is, will I be able to send/receive coins between my bech32 P2WPKH, and the P2SH addresses?

The thing is that segwit adoption is taking a lot of time, so I'm afraid that the "transitional" P2SH addresses get more "popular", and it will take a while for me to be able to really use my bech32 P2WPKH addresses.

I was aware that I would probably not be able to send or receive from non segwit addresses, but I decided to go for this option anyway, since I heard they are more efficient, so I preferred them over the "transitional" P2SH addresses.

My question is, will I be able to send/receive coins between my bech32 P2WPKH, and the P2SH addresses?The thing is that segwit adoption is taking a lot of time, so I'm afraid that the "transitional" P2SH addresses get more "popular", and it will take a while for me to be able to really use my bech32 P2WPKH addresses.

Bech32-type addresses are more efficient, yes. But you don't have any problems with sending/receiving to/from any address.You can send/receive to/from any address you wish. Everything will work as before.

The problem with the slow adoption is that some wallets/exchanges/service provider won't allow you to enter a BTC address starting with bc1..simply because they have a check-function to make sure you enter a "valid" btc address.And as soon they check your address is neither starting with 1.. nor with 3.. they will give you an "wrong format" error.

This is just a problem of the exchanges/wallets/...This has nothing to do with bitcoin/segwit itself.

Bech32-type addresses are more efficient, yes. But you don't have any problems with sending/receiving to/from any address.You can send/receive to/from any address you wish. Everything will work as before.

The problem with the slow adoption is that some wallets/exchanges/service provider won't allow you to enter a BTC address starting with bc1..simply because they have a check-function to make sure you enter a "valid" btc address.And as soon they check your address is neither starting with 1.. nor with 3.. they will give you an "wrong format" error.

This is just a problem of the exchanges/wallets/...This has nothing to do with bitcoin/segwit itself.

Ok, I got it. I thought that was strange as well, since segwit came out of a soft fork, so I actually expected that the "old addresses" would still be compatible with the segwit ones, but I then heard things about those compatibility issues, and I wasn't fully understanding them. So it's all software related, so we just need to wait for wallets to be updated. I heard that the new version of Bitcoin Core wallet due to complete by May 1, should help solving these "problems".

Ok, I got it. I thought that was strange as well, since segwit came out of a soft fork, so I actually expected that the "old addresses" would still be compatible with the segwit ones, but I then heard things about those compatibility issues, and I wasn't fully understanding them.

Nested Segwit (starting 3) will work anywhere, all wallet software understands it. It's only the bc1 addresses that won't work backwards compatibly, and that's kind of irrelevant seeing as there aren't many wallets that use bc1 addresses. So it's all software related, so we just need to wait for wallets to be updated.

Best advice is to use nested 3-starting addresses for Segwit now, because they're completely backwards compatible for all services and wallets. So there's no need to wait for others to wait to update, you can use Segwit now backwards compatibly.

It's only the bc1 addresses that won't work backwards compatibly, and that's kind of irrelevant seeing as there aren't many wallets that use bc1 addresses.

Best advice is to use nested 3-starting addresses for Segwit now, because they're completely backwards compatible for all services and wallets. So there's no need to wait for others to wait to update, you can use Segwit now backwards compatibly.

You seem to confuse the meaning of backwards compatibility.Bech32 addresses are backwards compatible.This means: - Transactions between legacy and bech32 addresses are compatible. - "Old" nodes do "understand" those transactions from/to bech32 addresses- There aren't any (network-)problems with bech32.

Wallets/Exchanges/Online service provider not accepting bech32 yet is due to not upgraded software (non-network related).This has nothing to do with backwards compatibility. They just didn't update the software to accept those addresses.

Wallets/Exchanges/Online service provider not accepting bech32 yet is due to not upgraded software (non-network related).This has nothing to do with backwards compatibility. They just didn't update the software to accept those addresses.

Are there any known reasons for the time it's taking for wallets to update their software in order prevent all these problems and confusions related to segwit? I was considering updating to segwit as well, but I'm delaying this step because I would like to use electrum, and from what I've read they use the bech32 addresses, but they seem to be the only ones doing it (maybe there are more, but definitely not the majority).

I heard that coinbase, an exchange that I use when I need to cash out some coins, is finally going to update to segwit. I have no idea what type of addresses they will be using. But since they are updating to segwit, does this mean that even if they use the P2SH I will be able to make transfer to them if I use the bech32 addresses from electrum?