Bitcoin Forum
May 21, 2024, 10:28:12 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: HD (bip32) paper wallet + mobile phone balance monitoring and address generation  (Read 2560 times)
thinkloop (OP)
Newbie
*
Offline Offline

Activity: 41
Merit: 0


View Profile
September 23, 2014, 01:20:28 PM
Last edit: September 23, 2014, 02:39:56 PM by thinkloop
 #1

Hi,

I'd like to setup an HD (hierarchically deterministic bip32) cold paper wallet for receiving funds only, and be able to monitor the total balance, and generate new receive addresses, from my mobile phone. From what I understand, after generating an HD wallet, all that is needed to be recorded/printed are the "private key" and "master public key". Is this correct?

I was planning on generating my wallet at bip32.org. Is this a production-ready reference implementation? When I generate a wallet there, it is not clear to me which of the resulting properties are the ones I need to save. I do not see a property named "master public key", for example.

Once I have my keys generated, I will print two documents, one with both the "private key" and "master public key" on it, and a second with just the "master public key". The document with the "private key" will be heavily guarded, while the document with the "master public key" will also be guarded, but less so, since it does not allow spending of Bitcoin, it *only* reveals the total balance of all generated addresses. Is this correct?

Now that the paper wallet is generated and secured, I would like to transfer some funds to it and monitor the balance using my mobile phone. I need to install an app that understands how HD wallets work, give it my "master public key", and request it to generate a new receive address. I send some coin to that address, and the app subsequently displays the new balance using the already provided "master public key". Is this right? Any android app recommendations for this setup?

Best,
Baz
RustyNomad
Sr. Member
****
Offline Offline

Activity: 336
Merit: 250



View Profile WWW
September 23, 2014, 02:44:35 PM
 #2

All you need to keep safe for a HD wallet is the seed i.e. the 12 or 24 words you are given when you create the wallet.

No need to save any private keys and or a Mater Key (Electrum).

With the seed you will be able to recover your complete wallet i.e. all keys ever created in that wallet on which you received funds.
btchris
Hero Member
*****
Offline Offline

Activity: 672
Merit: 504

a.k.a. gurnec on GitHub


View Profile WWW
September 23, 2014, 05:37:10 PM
Last edit: September 23, 2014, 05:58:35 PM by btchris
 #3

I'm sorry, but this reply is providing more problems than solutions. Hopefully someone more knowledgeable on the state if BIP32 software will come along and help...

Re bip32.org: I'm not familiar with them, but I took a quick look. They are producing BIP32 brain wallets, which is something you really don't want.

Re terminology / printouts: you'll want to save your "master extended public key" on one sheet, and your "master extended private key" on the other. Because the master extended public key can be derived from the master extended private key, you don't need to have both on the private sheet. It's up to you if you want to encrypt your master extended private key, but if you do, you should make sure it's encrypted using the BIP38 standard (simply because it's a standard likely to be supported by many wallets).

Although you shouldn't use bip32.org to create them, just for the sake of completeness: your master extended private key is next to the label "BIP32 Extended Key", and your master extended public key can be found by choosing "Info: m" next to "Derivation Path", and then looking next to "Derived Public Key"

Unfortunately, there's a lot I can't answer, e.g.:
  • Easy and secure way to generate a BIP32 paper wallet (and not a brain wallet)
  • BIP32 mobile app that's not in beta (there are several that are still in beta testing)
  • BIP32 mobile app that supports a watching-only wallet

If you have an iPhone, you might want to look at breadwallet. I don't know anything about it, but I do see that it's apparently not in beta, and it supports BIP32. I don't know if it supports watching-only wallets.

Good luck....
btchris
Hero Member
*****
Offline Offline

Activity: 672
Merit: 504

a.k.a. gurnec on GitHub


View Profile WWW
September 23, 2014, 05:49:04 PM
 #4

One other note regarding bip32.org: if you have a good source of randomness, it's probably safe to use this page. Please read and follow the advice here first: https://en.bitcoin.it/wiki/Paper_wallet#Producing_safe_paper_wallets

For ideas on a good source of randomness, this thread talks about good ways to shuffle a deck of cards to get good randomness out of it: https://bitcointalk.org/index.php?topic=682842.0. Don't come up with your own scheme to create randomness, though. There are many things which seem random, like mashing on a keyboard, which have very poor entropy.
thinkloop (OP)
Newbie
*
Offline Offline

Activity: 41
Merit: 0


View Profile
September 23, 2014, 09:24:23 PM
 #5

I'm sorry, but this reply is providing more problems than solutions. Hopefully someone more knowledgeable on the state if BIP32 software will come along and help...

Re bip32.org: I'm not familiar with them, but I took a quick look. They are producing BIP32 brain wallets, which is something you really don't want.

Re terminology / printouts: you'll want to save your "master extended public key" on one sheet, and your "master extended private key" on the other. Because the master extended public key can be derived from the master extended private key, you don't need to have both on the private sheet. It's up to you if you want to encrypt your master extended private key, but if you do, you should make sure it's encrypted using the BIP38 standard (simply because it's a standard likely to be supported by many wallets).

Although you shouldn't use bip32.org to create them, just for the sake of completeness: your master extended private key is next to the label "BIP32 Extended Key", and your master extended public key can be found by choosing "Info: m" next to "Derivation Path", and then looking next to "Derived Public Key"

Unfortunately, there's a lot I can't answer, e.g.:
  • Easy and secure way to generate a BIP32 paper wallet (and not a brain wallet)
  • BIP32 mobile app that's not in beta (there are several that are still in beta testing)
  • BIP32 mobile app that supports a watching-only wallet

If you have an iPhone, you might want to look at breadwallet. I don't know anything about it, but I do see that it's apparently not in beta, and it supports BIP32. I don't know if it supports watching-only wallets.

Good luck....

Great info btchris! It was a valid point for RustyNomad to have brought up as the site is built around the passphrase, I should perhaps find an alternate generator, or just use a random uid as the passphrase, and forget about it, since I'm writing/printing the private key anyway. I'm still on the hunt for a JS hd wallet generator and hd watcher android app.

Rubber Ducky
Newbie
*
Offline Offline

Activity: 29
Merit: 0


View Profile
September 23, 2014, 10:37:20 PM
 #6

wallet32 is a bip32 android wallet that I've heard good things about. You should see whether it allows you to add an extended public key as a watch only "account". So this solves the problem of android wallet.

But as far as generating the actual bip32 master private key goes you are going to face problems. You see the standard for the seed is supposed to be bip39 but there don't seem to be any wallets out there that support it for offline generation. bip32.org uses its own concoction for converting passphrase/mnemonic to seed.

If you can live without an android wallet I suggest using electrum. It's not hd and it doesn't support bip39 but it has a system for offline wallets and it is tried and tested.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!