Descripción general
BIP32 especifica un sistema para derivar un árbol de pares de claves criptográficas a partir de una sola semilla maestra. Conocidas como carteras deterministas jerárquicas (HD), este enfoque revolucionó la gestión de claves de Bitcoin al permitir a los usuarios respaldar todas las claves actuales y futuras con una sola semilla, y organizar las claves en jerarquías lógicas.
Árbol de derivación de claves
Semilla Maestra
│
└── Clave Maestra (m)
│
├── m/0 (Cuenta 0)
│ ├── m/0/0 (Cadena externa - direcciones receptoras)
│ │ ├── m/0/0/0 (Dirección 0)
│ │ ├── m/0/0/1 (Dirección 1)
│ │ └── ...
│ └── m/0/1 (Cadena interna - direcciones de cambio)
│ ├── m/0/1/0 (Dirección de cambio 0)
│ └── ...
│
└── m/1 (Cuenta 1)
└── ...
Cómo funciona
BIP32 utiliza una función de un solo sentido llamada HMAC-SHA512 para derivar claves hijas de claves padre. Cada derivación toma una clave padre, un código de cadena (entropía adicional) y un número de índice como entradas, produciendo una nueva clave hija y código de cadena. Este proceso se puede repetir indefinidamente, creando un árbol de profundidad arbitraria.
Derivación reforzada vs. normal
BIP32 define dos tipos de derivación de claves hijas:
- Derivación normal: La clave pública hija puede derivarse solo de la clave pública padre. Esto permite carteras de solo lectura usando claves públicas extendidas.
- Derivación reforzada (indicada con un apóstrofo, p. ej., m/44'): Requiere la clave privada padre, proporcionando un cortafuegos de seguridad para que el compromiso de una clave hija no conduzca a la derivación de claves hermanas.
Beneficios prácticos
Antes de BIP32, las carteras tenían que generar y respaldar cada clave individualmente. Perder una copia de seguridad significaba perder acceso a cualquier moneda recibida en nuevas direcciones. Las carteras HD resolvieron esto haciendo que todas las claves sean reproducibles de manera determinista a partir de una sola semilla, típicamente codificada como una frase mnemónica BIP39 para respaldo legible por humanos.