0

I have a question regarding BIP-32 and keys.

Imagine a scenario in which a user creates a new Bitcoin wallet with a seed phrase. He then generates a new address and sends 1 BTC to this address.

Under the covers, my understanding is that a master private/public key will be created from the seed phrase. Then, a child key is created under the parent key for the address.

Now, suppose this user completely loses their seed phrase / master keys, BUT they somehow have a copy of the child key pair that contains their Bitcoin.

Is it possible to recover their Bitcoin from that child key alone? If so, what is the process? Are individual child keys just the same as normal (non BIP-32) key/pairs?

Thanks!

3
  • It looks like we couldn't make parent key from child key (ref: bitcoin.stackexchange.com/a/37489/107554)
    – Cloud Cho
    Apr 17, 2021 at 7:04
  • I thought about this after I posted the question, but do we need the parent key to sign a TX, or is that done with the child key already? If a TX is already signed using the child key, there must definitely be a way to recover funds from the child key directly.
    – Tanner.R
    Apr 17, 2021 at 7:19
  • I don't think we could do all transactions even we signed in.
    – Cloud Cho
    Apr 17, 2021 at 21:30

1 Answer 1

1

Under the covers, my understanding is that a master private/public key will be created from the seed phrase. Then, a child key is created under the parent key for the address.

That's correct.

Now, suppose this user completely loses their seed phrase / master keys, BUT they somehow have a copy of the child key pair that contains their Bitcoin.

Is it possible to recover their Bitcoin from that child key alone? If so, what is the process? Are individual child keys just the same as normal (non BIP-32) key/pairs?

Key derivation is not part of the protocol. It is simply an approach wallets use to avoid the need to store backups of every separate key generated. Old wallet software (2009-2013 era) didn't use BIP32 at all.

BIP32 is just used to turn parent keys into child keys, and then those child keys are used for signing. As far as the protocol is concern, the parents don't exist.

So the process is exactly the same with or without: you sign directly with the child key. If you have that child you, you can sign, regardless of where it came from.

3
  • 1
    Perfect, this is exactly what I wanted to know. Thank you!
    – Tanner.R
    Apr 18, 2021 at 0:48
  • Parent Key absent, do you mean Child Key has same security level with Parent Key or practically accepted even having lower security?
    – Cloud Cho
    Apr 19, 2021 at 18:37
  • All secp256k1 keys that are properly generated (from actual randomness, or using BIP32 from a secure seed) have around 128 bits of security. Apr 21, 2021 at 20:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.