Author

Topic: How to Create SegWit P2SH Addresses with Electrum: A Beginner's Guide (Read 511 times)

full member
Activity: 434
Merit: 246
I'm not entirely convinced that forcing an Electrum generated seed in as a "BIP39" seed is a good idea. It has the potential to cause confusion and issues should a user attempt to migrate to another wallet at a later date. If they try and use this seed in a *true* BIP39 wallet (As stated, there is no guarantee BIP39 import support will stay), they'll find the seed is rejected. Purposely ignoring "errors" simply because you can is never a good idea.

On the flip side, it is possible that if a user tries to restore their wallet in Electrum, and have forgotten that they used this little "hack"... if they select "I already have a seed" and then enter the seed... they won't get a "Checksum Failed" message and are likely to think "Oh, it's just a 'normal' Electrum seed"... click "Next" (without selecting BIP39) and then end up wondering why the wallet shows zero balance and zero history.

Even taking precautions like marking the written seed backup as "BIP39" might cause problems... imagine the confusion when they enter the seed at a later date, tick BIP39, and it says "Checksum Failed"!!?! Shocked

Personally, I think you should use an Electrum Seed as an Electrum seed and a BIP39 seed as a BIP39 seed...

Thanks for the words of caution. These details go beyond my current understanding of this matter, but I kind of get it where the danger lies. I will edit my original post to include a link to your reply, so the users with limited experience might be warned.
legendary
Activity: 3682
Merit: 1580
Thanks for the insight HCP. I've edited the guide on my site to advice users to make a soft copy backup instead.
HCP
legendary
Activity: 2086
Merit: 4361
A decent tutorial... and I appreciate the effort made to document it with screenshots.

However, with regards to this:
11. Check "BIP 39 seed":
https://imgur.com/96LaFz9

12. Notice how it says "BIP 39 (checksum: failed)". Never mind that, continue despite the warning:
https://imgur.com/ivxQG40

13. Enter the seed you recorded earlier and click on "Next":
https://imgur.com/dGQCP5Y
I'm not entirely convinced that forcing an Electrum generated seed in as a "BIP39" seed is a good idea. It has the potential to cause confusion and issues should a user attempt to migrate to another wallet at a later date. If they try and use this seed in a *true* BIP39 wallet (As stated, there is no guarantee BIP39 import support will stay), they'll find the seed is rejected. Purposely ignoring "errors" simply because you can is never a good idea.

On the flip side, it is possible that if a user tries to restore their wallet in Electrum, and have forgotten that they used this little "hack"... if they select "I already have a seed" and then enter the seed... they won't get a "Checksum Failed" message and are likely to think "Oh, it's just a 'normal' Electrum seed"... click "Next" (without selecting BIP39) and then end up wondering why the wallet shows zero balance and zero history.

Even taking precautions like marking the written seed backup as "BIP39" might cause problems... imagine the confusion when they enter the seed at a later date, tick BIP39, and it says "Checksum Failed"!!?! Shocked

Personally, I think you should use an Electrum Seed as an Electrum seed and a BIP39 seed as a BIP39 seed...
member
Activity: 137
Merit: 10
I totally agree. However, Windows is not an open source system. So, one could never know if there's something inherently wrong with it security-wise from the very beginning.

You are right with windows being closed source and being more susceptible to exploits.
But just because the operating system you use is open source, this does NOT mean that everything running on your system is open source.
There is still closed source code running on your machine (Any driver, firmware, bios, etc...).

Until you can eliminate all of these risks by building your system completely by your own, you will have to trust the manufacturer, regardless of the OS.

Yes, but in terms of probability, Windows is way more unsafe than a simple Linux.
legendary
Activity: 1624
Merit: 2481
I totally agree. However, Windows is not an open source system. So, one could never know if there's something inherently wrong with it security-wise from the very beginning.

You are right with windows being closed source and being more susceptible to exploits.
But just because the operating system you use is open source, this does NOT mean that everything running on your system is open source.
There is still closed source code running on your machine (Any driver, firmware, bios, etc...).

Until you can eliminate all of these risks by building your system completely by your own, you will have to trust the manufacturer, regardless of the OS.
full member
Activity: 434
Merit: 246
Each operating system is just as secure as you construct it.
Each system can be exploited. But the measurements you take to secure your network defines the overall security of your system.
I totally agree. However, Windows is not an open source system. So, one could never know if there's something inherently wrong with it security-wise from the very beginning.
legendary
Activity: 1624
Merit: 2481
I'm doing this step-by-step guide on my Windows computer, which is probably not the best operating system to keep your wallet on in terms of security.

Many beginners do use Windows, so this guide might actually be beneficial to them. However, you should definitely switch to a more secure OS, for example, to a linux distribution. I have no idea, though, if this would work on a linux Electrum wallet.

While it is true that linux systems are less targeted by malware (about 95%+ of malware is written for windows) it is wrong to assume
that there are un- and/or secured operating systems.

Each operating system is just as secure as you construct it.
Each system can be exploited. But the measurements you take to secure your network defines the overall security of your system.
full member
Activity: 434
Merit: 246
bitcoinelectrum.com is not the official electrum site. it's just a site i put up to avoid having to repeat myself when answering questions here and on other electrum forums. so please edit that in your post.
Corrected. Thanks for letting me know.
legendary
Activity: 3682
Merit: 1580
bitcoinelectrum.com is not the official electrum site. it's just a site i put up to avoid having to repeat myself when answering questions here and on other electrum forums. so please edit that in your post.
full member
Activity: 434
Merit: 246
This is a beginner's guide into creating Bitcoin P2SH SegWit Wallet by using Electrum.

I don't even know if this is the right board for this guide, but I'm going to give it a try.

Before joining this forum, I didn't know I could use SegWit addresses or how to create them, but it turned out all I needed was my current Electrum wallet (version 3.0.5) and a little bit of tweaking.

I'm doing this step-by-step guide on my Windows computer, which is probably not the best operating system to keep your wallet on in terms of security.

Many beginners do use Windows, so this guide might actually be beneficial to them. However, you should definitely switch to a more secure OS, for example, to a linux distribution. I have no idea, though, if this would work on a linux Electrum wallet.

This guide is based on this bitcoinelectrum.com post.

I've added some steps and screenshots for easier navigation.

Here it goes:

1. Open Electrum and click on "File --> New/Restore"":

https://imgur.com/hovUXzG

2. Give it a descriptive name and click "Next":

https://imgur.com/TbFgwyq

3. Choose "Standard Wallet":

https://imgur.com/fAduOkt

4. Select "Create a new seed":

https://imgur.com/4WULP9e

5. Now it will ask if you want a Standard or Segwit wallet.

The way I understand it, you should choose "Standard". This might be puzzling, because after all you want a Segwit address. But if you chose "Segwit" here, you would end up using the so-called "full-SegWit" bech32 implementation, which is not yet supported by many important parties. Therefore, here you want to create a more compatible BIP49 implementation, a so called P2Sh address.

So, choose "Standard":

https://imgur.com/2P8C8sC

6. Save your wallet generation seed on paper (and/or memorize it if you can!?).

7. At this point, once you have your seed, stop with the wallet creation procedure, close Electrum and open it again.

8. Start Electrum again. Repeat steps 1-3.

9. Instead of choosing "New seed", now choose "I already have a seed":

https://imgur.com/O3Qz4F8

10. Click on "Options":

https://imgur.com/mASaFVU

11. Check "BIP 39 seed":

https://imgur.com/96LaFz9

12. Notice how it says "BIP 39 (checksum: failed)". Never mind that, continue despite the warning:

https://imgur.com/ivxQG40

13. Enter the seed you recorded earlier and click on "Next":

https://imgur.com/dGQCP5Y

14. On the next screen you will get a field called Derivation. It will be like this:

https://imgur.com/8y1BQcX

15. Change  m/44'/0'/0' to m/49'/0'/0' like this:

https://imgur.com/eFoTRGm

16. Encrypt your wallet by choosing a strong password:

https://imgur.com/Tsw0C7r

17. And finally, if everything went as it should, click on "Addresses". All of them should start with a 3. These are your Segwit p2sh addresses.

https://imgur.com/0A8E4HP

I hope nothing is wrong with this guide from a technical standpoint and that it could be useful for beginners.

Edit: Before using this method, you should be aware of the possible problems, thanks to @HCP!

Jump to: