Bitcoin Forum
September 19, 2018, 07:37:16 PM *
News: ♦♦ Bitcoin Core users must update to 0.16.3 [Torrent]. More info.
 
   Home   Help Search Donate Login Register  
Pages: [1]
  Print  
Author Topic: Paper Deterministic Wallet (BIP32 - and BIP39?) - All Currencies  (Read 325 times)
Kruddler
Jr. Member
*
Offline Offline

Activity: 42
Merit: 8


View Profile
December 03, 2017, 09:25:21 PM
 #1

I'm sorry if this question has been asked before. I've been through dozens of forums posts looking for the answer to this. All I've gotten so far is 50%-75% answers. I know there's a a missing piece in my understanding somewhere, so please bare with me.

My goal:
-Create a wallet on a clean computer (perhaps a Linux live CD)
-The wallet must support many currencies. At least some of the main ones. BTC, BCH, ETH, ETC, BTG etc.
-It needs to create the seed with words (like Trezor - probably 24 words)
-Wipe the computer, or move to new computer
-Restore all my addresses, and allow for transferring money out of my wallet using the 24 word seed. (This is mainly for testing purposes).
-Laminate a piece of paper with the seed on it, put it in a vault and forget about it for a few years.

I bought a Trezor because I thought that this would allow me to do this. It does to an extent, but a) it doesn't support many currencies yet, but more importantly, the only way I can test the seed I have written down is to wipe the Trezor and restore on to that Trezor (or buy a second Trezor). In fact, this is what Trezor as a company recommended I do when I asked them how to test the seed. This has really left a bad taste in my mouth about Trezor. Computing 101 says that a backup is next to useless if you can't test that backup. How can we have any peace of mind that the seed works correctly? I can't believe that they are telling all their users that their money is safe as long as they write down the seed. Anything could go wrong.

Here's things I've tried to achieve my goal:
-Download tails Linux distro. I got Electrum working in here but, firstly I think that Electrum only supports BTC. Secondly, the current cut of tails only has version 2.? of Electrum which does not support the latest deterministic wallets.
-Download bitkey.io distro. This doesn't work at all. When I booted in to the distro, I got one dialog box telling me to pull the USB out and put another in, and then I just got one icon on the desktop that did absolutely nothing. I tried it on two computers. The GUI looks nothing like the screenshots. It's literally just an icon that does nothing.
-I've looked at Jaxx. It seems like it might be the solution... But, I haven't been able to get it running on a Live CD Linux distro yet. Any tips on that?
-I've looked at MyEtherWallet, but this seems to only be for ETH, and ETC. And, this website is diabolical. It prompts you about 10 times that it is not a bank just before you can read what the site actually does - which I still don't understand.

Here are some more threads on the topic:
https://bitcointalk.org/index.php?topic=2474568.0 (this seems to only be about bitcoin though)


1537385836
Hero Member
*
Offline Offline

Posts: 1537385836

View Profile Personal Message (Offline)

Ignore
1537385836
Reply with quote  #2

1537385836
Report to moderator
1537385836
Hero Member
*
Offline Offline

Posts: 1537385836

View Profile Personal Message (Offline)

Ignore
1537385836
Reply with quote  #2

1537385836
Report to moderator
Make a difference with your Ether.
Donate Ether for the greater good.
SPRING.WETRUST.IO
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1537385836
Hero Member
*
Offline Offline

Posts: 1537385836

View Profile Personal Message (Offline)

Ignore
1537385836
Reply with quote  #2

1537385836
Report to moderator
1537385836
Hero Member
*
Offline Offline

Posts: 1537385836

View Profile Personal Message (Offline)

Ignore
1537385836
Reply with quote  #2

1537385836
Report to moderator
Spendulus
Legendary
*
Offline Offline

Activity: 2002
Merit: 1047



View Profile
December 04, 2017, 01:59:51 AM
 #2

......
My goal:
-Create a wallet on a clean computer (perhaps a Linux live CD)
-The wallet must support many currencies. At least some of the main ones. BTC, BCH, ETH, ETC, BTG etc.
-It needs to create the seed with 24 words (like Trezor)
-Wipe the computer, or move to new computer
-Restore all my addresses, and allow for transferring money out of my wallet using the 24 word seed. (This is mainly for testing purposes).
-Laminate a piece of paper with the seed on it, put it in a vault and forget about it for a few years.
.....


Why should a method be 24 words, and why should it be applicable to a great variety of coins?

Your piece of paper could just as well have the various private keys, which would have no issue with recovery whatsoever.

And even better, no trust in third parties is required.
HCP
Hero Member
*****
Offline Offline

Activity: 728
Merit: 923

<insert witty quote here>


View Profile
December 04, 2017, 04:13:33 AM
 #3

I bought a Trezor because I thought that this would allow me to do this. It does to an extent, but a) it doesn't support many currencies yet, but more importantly, the only way I can test the seed I have written down is to wipe the Trezor and restore on to that Trezor (or buy a second Trezor). In fact, this is what Trezor as a company recommended I do when I asked them how to test the seed. This has really left a bad taste in my mouth about Trezor. Computing 101 says that a backup is next to useless if you can't test that backup. How can we have any peace of mind that the seed works correctly? I can't believe that they are telling all their users that their money is safe as long as they write down the seed. Anything could go wrong.
I'm really not sure what your mean by "anything could go wrong"? Huh It is demonstrably provable that the seeds are recoverable... I already mentioned in your other thread the numerous ways you can "test" your backup. The easiest being:

1. Create a new seed
2. Check the generated addresses
3. Wipe the device
4. Restore the seed
5. Check the generated addresses are the same as #2

Instead of step 3. and step 4. your other options are:

- Restore the seed to a 2nd device
or
- Use the Trezor commandline tool to do a "dry-run" recovery
or
- Use an "offline" copy of the BIP39 mnemonic code convertor (https://iancoleman.io/bip39/) set to "BIP44" to check your seed
or
- Restore your seed into an offline BIP44 compatible wallet

Or... to check that the Trezor generates the same stuff as everything else... why not create a dummy 24 word seed from the BIP39 code convertor... note down the addresses it generates... (you can even change the coin type to get addresses for other currencies as well)... and then you can simply restore THAT seed to your Trezor... and make sure it generates the same addresses. Then discard that seed, wipe the Trezor and start with a new clean seed (knowing that everything works as it should)


I'm just not sure why you think you can't check that your backup is OK? Huh  What would you need to be able to do that would make you satisfied that your backup was OK? Huh

Kruddler
Jr. Member
*
Offline Offline

Activity: 42
Merit: 8


View Profile
December 04, 2017, 04:32:50 AM
 #4

Why should a method be 24 words?

Sorry, it doesn't need to be 24 words. That just seems to be the standard.

why should it be applicable to a great variety of coins?

Your piece of paper could just as well have the various private keys, which would have no issue with recovery whatsoever.

Because Trezor does it, so I know it's possible. And because I'm trying to minimize the number of pieces of paper I have to lock away in a vault.
Kruddler
Jr. Member
*
Offline Offline

Activity: 42
Merit: 8


View Profile
December 04, 2017, 04:57:15 AM
 #5

I'm really not sure what your mean by "anything could go wrong"? Huh
I already mentioned in your other thread the numerous ways you can "test" your backup.

Yes. You are correct and I very much thank you for your help. I want to try what you recommended, but I'm paranoid beyond all comprehension. I'm too scared to try that kind of recovery on Windows because I have no idea if my machine has malware keyloggers installed or not. I'm also not skilled with Linux enough to run the Trezor command line tools on a Live CD distro. I've tried, believe me.

It is demonstrably provable that the seeds are recoverable...

It's the 'demonstrable' part I'm interested in. I need a demonstration.

Or... to check that the Trezor generates the same stuff as everything else... why not create a dummy 24 word seed from the BIP39 code convertor... note down the addresses it generates... (you can even change the coin type to get addresses for other currencies as well)... and then you can simply restore THAT seed to your Trezor... and make sure it generates the same addresses. Then discard that seed, wipe the Trezor and start with a new clean seed (knowing that everything works as it should)

Yes. This is what I want to do. The point of this thread is to be able to achieve the same thing without a Trezor. Where can I get a BIP39 code convertor? I'm guessing that I can use the library NBitcoin (https://github.com/MetacoSA/NBitcoin), but after looking at this code, I can't see any sample apps, so I'd have to build my own GUI for it. Which off the shelf apps can do this? Is there one that will run on Tails Linux? I've tried Electrum but it didn't work.

I'm just not sure why you think you can't check that your backup is OK? Huh  What would you need to be able to do that would make you satisfied that your backup was OK? Huh

That was the point of my other thread. At the moment, there are only the ways that you have suggested to check if my backup is OK. But, as mentioned, I'm too scared to try it it in Windows. However, this thread is not about Trezor. I want an alternative method that does not use Trezor.
HCP
Hero Member
*****
Offline Offline

Activity: 728
Merit: 923

<insert witty quote here>


View Profile
December 04, 2017, 06:58:17 AM
 #6

Then you just want the opensource javascript based BIP39 Mnemonic Code Convertor: https://iancoleman.io/bip39/

The source code (as linked at the bottom of the page) is here: https://github.com/iancoleman/bip39

You should be able to download and run it "offline" in any decent web browser.

As for Keyloggers... you know that Trezor has the "advanced recovery" mode that works on the same principal as the "secure pinpad" right? It displays "randomised" options on the Trezor screen and you click buttons labelled "?" on the computer screen. No typing required Wink

As explained here: https://blog.trezor.io/using-advanced-recovery-on-trezor-4af0eb53c3bb

I would consider that the safest way to test your seed with a Trezor on Windows.

Kruddler
Jr. Member
*
Offline Offline

Activity: 42
Merit: 8


View Profile
December 04, 2017, 11:36:08 AM
 #7

As for Keyloggers... you know that Trezor has the "advanced recovery" mode that works on the same principal as the "secure pinpad" right? It displays "randomised" options on the Trezor screen and you click buttons labelled "?" on the computer screen. No typing required Wink

As explained here: https://blog.trezor.io/using-advanced-recovery-on-trezor-4af0eb53c3bb

I would consider that the safest way to test your seed with a Trezor on Windows.

You are 100% correct and this is what I want to do. However, I cannot do this without wiping my device. And, if I've written the seed down incorrectly, I've just lost all my coin.


Yep. This looks like it generates addresses. That's straight forward. I can already to do that with Trezor.

But, that's only half the problem. Once I've generated the addresses and sent some coin to them. How do I restore from the seed? What tools are there to find the addresses, or xpubs in the block chain so I can then view my balances?
Thirdspace
Hero Member
*****
Offline Offline

Activity: 742
Merit: 580


Mixing reinvented for your privacy | chipmixer.com


View Profile
December 04, 2017, 12:30:47 PM
 #8

But, that's only half the problem. Once I've generated the addresses and sent some coin to them. How do I restore from the seed? What tools are there to find the addresses, or xpubs in the block chain so I can then view my balances?
I think the only way you can do this is by using electrum
you can import watch-only wallet in electrum by supplying xpubs
I'm not sure if there is other wallet or online explorer that can do only by xpubs
restoring the addresses from seed or privkey to monitor balances would simply contradict the idea of paperwallet

Kruddler
Jr. Member
*
Offline Offline

Activity: 42
Merit: 8


View Profile
December 04, 2017, 12:51:27 PM
 #9

I've tried with Electrum 2 but it doesn't work. I heard that Electrum three supports this but only for Bitcoin.

But this is the problem. If lose the device, I won't have the xpub. I will need to retrieve them. That's what I'm asking. How to retrieve from a seed.

It would only contradict it if you typed the seed on a compromised computer that is not air-gapped.
HCP
Hero Member
*****
Offline Offline

Activity: 728
Merit: 923

<insert witty quote here>


View Profile
December 04, 2017, 08:06:21 PM
 #10

You are 100% correct and this is what I want to do. However, I cannot do this without wiping my device. And, if I've written the seed down incorrectly, I've just lost all my coin.
Then you should have thought about this BEFORE you loaded your device with coins... Roll Eyes



Quote
Yep. This looks like it generates addresses. That's straight forward. I can already to do that with Trezor.

But, that's only half the problem. Once I've generated the addresses and sent some coin to them. How do I restore from the seed? What tools are there to find the addresses, or xpubs in the block chain so I can then view my balances?
Pretty much the same way you would if you were using a paper wallet. You're generating addresses which can be easily be checked on <insert block explorer for your currency>. Alternatively you import the addresses/xpubs  into <insert wallet of your choice for your currency> to create "watching only" wallets.



I've tried with Electrum 2 but it doesn't work. I heard that Electrum three supports this but only for Bitcoin.
Not sure what version you're using... but Electrum v2.9.3 definitely supports xpubs... as does ElectronCash v2.9.4 (for BCH)... there is also a litecoin version of Electrum. The BTG devs were supposedly working on an Electrum fork for Bitcoin Gold.

How did you try to import the xpub? From memory, it should be "File -> New\Restore -> Standard Wallet -> Use public or private keys -> [insert xpub]"



Quote
But this is the problem. If lose the device, I won't have the xpub. I will need to retrieve them. That's what I'm asking. How to retrieve from a seed.
Yes, you will... because https://iancoleman.io/bip39/ WILL give you the xpub from the seed.

Kruddler
Jr. Member
*
Offline Offline

Activity: 42
Merit: 8


View Profile
December 07, 2017, 08:44:01 AM
 #11


You are 100% correct and this is what I want to do. However, I cannot do this without wiping my device. And, if I've written the seed down incorrectly, I've just lost all my coin.

Then you should have thought about this BEFORE you loaded your device with coins... Roll Eyes

I didn't load it with many coins. But, I did load it with a few different types. And, as I've pointed out elsewhere, only some coins restored properly from Trezor -> Ledger Nano S. So, my fears were warranted.

Quote
Yep. This looks like it generates addresses. That's straight forward. I can already to do that with Trezor.

But, that's only half the problem. Once I've generated the addresses and sent some coin to them. How do I restore from the seed? What tools are there to find the addresses, or xpubs in the block chain so I can then view my balances?

Pretty much the same way you would if you were using a paper wallet. You're generating addresses which can be easily be checked on <insert block explorer for your currency>. Alternatively you import the addresses/xpubs  into <insert wallet of your choice for your currency> to create "watching only" wallets.

Yep. I get this now. Generating is the same thing as restoring. Because the addresses are "deterministic" they can be recreated again and again.

I've tried with Electrum 2 but it doesn't work. I heard that Electrum three supports this but only for Bitcoin.

Not sure what version you're using... but Electrum v2.9.3 definitely supports xpubs... as does ElectronCash v2.9.4 (for BCH)... there is also a litecoin version of Electrum. The BTG devs were supposedly working on an Electrum fork for Bitcoin Gold.

How did you try to import the xpub? From memory, it should be "File -> New\Restore -> Standard Wallet -> Use public or private keys -> [insert xpub]"
Quote

I didn't. I typed in my seed on Tails Linux.

Quote
But this is the problem. If lose the device, I won't have the xpub. I will need to retrieve them. That's what I'm asking. How to retrieve from a seed.

Yes, you will... because https://iancoleman.io/bip39/ WILL give you the xpub from the seed.

Yep. I see. This web page here is looking like the most promising option...
Pages: [1]
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!