BIP 32: Hierarchical Deterministic Wallets
Author: Pieter Wuille Status: Final Type: Standards Track Created: 2012-02-11
Abstract
BIP 32 describes hierarchical deterministic wallets (HD wallets), which allow a tree of key pairs to be computed from a single seed value using a deterministic algorithm. Users only need to back up this single seed to recover all their keys.
Motivation
Before HD wallets, Bitcoin wallets generated random key pairs independently. This meant:
- Users needed to back up after generating every new address
- Key pools could be exhausted, leading to potential fund loss
- No structured way to organize keys for different purposes
Key Concepts
Master Key Generation: A single 128-256 bit seed is used with HMAC-SHA512 to generate a master private key and master chain code.
Child Key Derivation: From any parent key, child keys can be derived using:
- Normal derivation — child public keys can be computed from parent public key
- Hardened derivation — requires parent private key, providing additional security isolation
Key Path Notation: Keys are identified by derivation paths like m/0'/1/2, where m is the master key and each number represents a child index.
Significance
BIP 32 is arguably one of the most important BIPs ever written. It became the foundation of modern Bitcoin wallet architecture and was extended by:
- BIP 39 — Mnemonic seed phrases (human-readable backup)
- BIP 43 — Purpose field for multi-account structure
- BIP 44 — Multi-account hierarchy for deterministic wallets
Nearly every modern Bitcoin wallet uses HD key derivation based on BIP 32.