Questions tagged [bip32-hd-wallets]

BIP32, or Hierarchical Deterministic Wallets. HD wallets are wallets that can be shared amongst different wallet implementation with or without the ability to spend coins.

https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki

Taken from the Github bip32 entry referenced in the usage guidelines:

The Bitcoin reference client uses randomly generated keys. In order to avoid the necessity for a backup after every transaction, (by default) 100 keys are cached in a pool of reserve keys. Still, these wallets are not intended to be shared and used on several systems simultaneously. They support hiding their private keys by using the wallet encrypt feature and not sharing the password, but such "neutered" wallets lose the power to generate public keys as well.

Deterministic wallets do not require such frequent backups, and elliptic curve mathematics permit schemes where one can calculate the public keys without revealing the private keys. This permits for example a webshop business to let its webserver generate fresh addresses (public key hashes) for each order or for each customer, without giving the webserver access to the corresponding private keys (which are required for spending the received funds).

However, deterministic wallets typically consist of a single "chain" of keypairs. The fact that there is only one chain means that sharing a wallet happens on an all-or-nothing basis. However, in some cases one only wants some (public) keys to be shared and recoverable. In the example of a webshop, the webserver does not need access to all public keys of the merchant's wallet; only to those addresses which are used to receive customer's payments, and not for example the change addresses that are generated when the merchant spends money. Hierarchical deterministic wallets allow such selective sharing by supporting multiple keypair chains, derived from a single root.

532 questions
12
votes
2 answers

Best Practices for hardened keys in HD wallets?

Essentially, I am seeking to know where in an HD wallet tree structure should hardened keys be used. For example: Shouldn't all child keys of the master extended key be hardened? Should all extended public keys that are shared have the immediate…
morsecoder
  • 14,168
  • 2
  • 42
  • 94
8
votes
3 answers

How can extended public keys generate child public keys without generating the child private key in HD wallets?

According to the documentation on bitcoin.org and the Mastering Bitcoin book, you can use an extended public key to create child public keys in HD wallets by combining the lefthand side of the hash output of the parent chain code + parent public key…
Seb
  • 121
  • 5
4
votes
3 answers

Default derivation paths

I'd like to know all of the default derivation paths used by both software and hardware wallets for bitcoin. According to https://iancoleman.io/bip39/?#english, the following are defaults: m/0'/0' (bitcoin core) m/0'/0 (Multibit) m/44'/0'/0'…
MrPuzzler
  • 233
  • 2
  • 6
4
votes
3 answers

is there a tool to produce addresses given a master public key?

I have master public key of my wallet and I want to generate addresses but without using my current wallet. Is there a tool that does that?
pan
  • 41
  • 1
  • 3
4
votes
4 answers

What current wallets support deterministic public addresses (BIP32)?

Just curious how many complete implementations of the bip32 standard exist.
optinator
  • 41
  • 2
3
votes
2 answers

Is it possible to determine the index of a bip32 address?

Let's assume that we only have the bip32 derived btc address, no private or public key. Is it possible to find out its index used for the bip32 generation?
cptproto
  • 33
  • 3
3
votes
1 answer

Deterministic keys with one-way operation

BIP 0032 "Security Implications" states One weakness that may not be immediately obvious, is that knowledge of a parent extended public key plus any non-hardened private key descending from it is equivalent to knowing the parent extended …
tuxcanfly
  • 395
  • 1
  • 6
2
votes
3 answers

Search Derivation Path for an Address

Has anyone written an utility or something able to search/identify which Derivation Path an Address belongs? For example, giving a mnemonic like "unaware open elite rabbit grunt spread session exotic legal satoshi trend electric" and Address…
user109087
  • 21
  • 2
2
votes
1 answer

Why does my BIP32 implementation throw different results than other web implementations? They also disagree with each other tho

I am implementing bip32 for my wallet as a project to learn Bitcoin. I am following this documentation: https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki Since I am not implementing bip39 yet, I am getting the master private key and…
Oscar Serna
  • 894
  • 1
  • 8
  • 13
2
votes
1 answer

HD wallet attack

I've been reading about HD wallet derivation key mechanism. I understood that if an attacker gets somehow a child's private key plus the chaincode used to derive that child' key, then he could calculate the parent's private key. How could that be…
dcfg
  • 404
  • 4
  • 15
2
votes
1 answer

Path notation for extended public key of hardened child?

Typical path notation for a BIP44 child private key would be something like: m/44'/0'/0' The public key is point(m/44'/0'/0') Where point is the ECC multiply function. Is there any better notation than this? It would not be right to use…
morsecoder
  • 14,168
  • 2
  • 42
  • 94
2
votes
1 answer

bip 32 wallet with openssl

i want to use a hierarchical deterministic (bip32) wallet but i'm a bit put off by a lot of the libraries which use different ecdsa libraries to the core bitcoind client. for example pycoin uses a natively implemented elliptic curve library,…
mulllhausen
  • 1,713
  • 2
  • 15
  • 33
2
votes
2 answers

How does HD wallet protect its master public key?

Hierarchy deterministic wallets have a master public key. I fully understand elliptic curve's concept regarding to the private and public keys. I also understand the concept that Maxwell described here to generate new public keys without knowing…
abeikverdi
  • 864
  • 8
  • 22
2
votes
1 answer

Is disclosing an index used for generating BIP32 addresses insecure?

I'm writing an e-commerce system that uses BIP32 to generate addresses. I was thinking of using the order number (which is shown to the user) to as the index for generating the address to pay to. Would doing this help someone trying to steal my…
Nick ODell
  • 29,396
  • 11
  • 72
  • 130
1
vote
1 answer

Bip39 tool - BIP32 Extended Private Key vs BIP32 Root Key

In the bip39 mnemonic tool there is three sections : Mnemonic : we input our words or a BIP39 seed and the tool compute for us the BIP32 Root Key Derivation Path: there is a BIP32 Extended Private/Public Key Derived Addresses Questions : 1- If i…
Guillaume Paris
  • 159
  • 1
  • 8
1
2 3