Skip to content

BIP 32

Hierarchical Deterministic Wallets

Original title: Hierarchical Deterministic Wallets

Status
Deployed
Type / Layer
Informational / Applications
Author
Pieter Wuille
Assigned
Status verified
Source
github.com/bitcoin/bips/blob/master/bip-0032.mediawiki

Summary

Defines hierarchical deterministic ("HD") wallets: a tree of keypairs derived from a single seed. Earlier implementations generated keys at random, so a wallet had to be backed up again every time it consumed keys. BIP32 defines child key derivation functions built on HMAC-SHA512 over an extended key (a private or public key plus a 32-byte chain code), so that keeping the seed is enough to regenerate every key in the tree. Elliptic-curve arithmetic also allows public keys to be derived without the private keys, which enables watch-only sharing: the specification's own example is a web shop whose server generates a fresh receiving address per order while never gaining the ability to spend. Derivation comes in two forms — normal and hardened (index ≥ 2^31) — and the hardened form exists to prevent the failure mode where leaking a parent extended public key together with one child private key would expose the parent private key.

Why it matters

Nearly every wallet in use today stands on this specification. The familiar "one seed is the whole backup" model, hardware-wallet workflows, and watch-only monitoring all follow from this derivation tree. It is used together with BIP39 for seed generation and BIP44 / 49 / 84 / 86 for purpose-specific derivation paths.

Related BIPs

Related articles

This page carries a summary, not a translation. The original document is authoritative, and the metadata above — including Status — was transcribed from the bips repository on the verification date shown. Always consult the original when implementing or verifying.

Read the original on bitcoin/bips