Cómo funcionan las carteras HD en Bitcoin
Conceptos básicos de las carteras HD
Las carteras HD (Hierarchical Deterministic) son un avance esencial en la gestión de claves de Bitcoin. Gracias a ellas, es posible generar múltiples pares de claves públicas y privadas a partir de una sola semilla, simplificando copias de seguridad y mejorando la privacidad.
¿Qué hace una cartera determinista
En lugar de crear direcciones de manera aislada, una cartera HD sigue un algoritmo que deriva de forma determinista todas las claves. Esto significa que una misma semilla da lugar siempre al mismo árbol de claves, permitiendo recrear la cartera completa si se conserva la semilla original.
Principales ventajas
Respaldo único: basta guardar la semilla.
Privacidad mejorada: cada transacción puede usar una dirección diferente.
Estructura organizada: carpetas lógicas para cuentas, monedas o propósitos diversos.
Fundamentos de la derivación jerárquica
El estándar central para carteras HD es BIP32. Define cómo, partiendo de una clave maestra, se obtienen claves hijas mediante funciones criptográficas seguras.
Estructura de árbol de claves
La clave maestra (privada) y el código de cadena (chain code) generan un árbol donde cada nodo es un par clave privada clave pública. A partir de un nodo padre se derivan infinitos nodos hijos.
Tipos de derivación
Existen dos modos:
No hardened: la clave pública del padre y el índice derivan la clave pública hija. Permite conocer direcciones sin exponer claves privadas.
Hardened: usa la clave privada del padre y el índice (≥ 2³¹) para generar la hija. Aísla aún más la jerarquía, evitando ataques si la clave pública se filtra.
Comparativa de derivaciones
Característica No hardened Hardened
Índice máximo lt 2³¹ ≥ 2³¹
Seguridad Requiere clave pública Requiere clave privada
Exposición Más riesgo si se filtra la pública Aísla toda la rama
Frase semilla y BIP39
Para facilitar la recuperación, BIP39 propone una lista de palabras de 12, 15, 18, 21 o 24 ítems. Esa frase semilla codifica la entropía que genera la clave maestra de BIP32.
Proceso de generación
Se crea entropía aleatoria de 128–256 bits.
Se convierte en un conjunto de palabras según un diccionario estándar.
Se añade un dígito de comprobación (checksum) para detectar errores de escritura.
Se deriva la clave maestra y el código de cadena usando PBKDF2.
Rutas de derivación: BIP44, BIP49, BIP84
Más allá de BIP32, los BIP44, BIP49 y BIP84 estandarizan las rutas:
BIP44: m / 44 / coin / account / 0 / address_index
BIP49: igual que 44, pero direcciones P2WPKH-nested en el script de pago.
BIP84: direcciones nativas P2WPKH (bech32), ruta m/84/…
Ventajas y consideraciones de seguridad
Aunque las carteras HD simplifican la gestión, es crucial:
Proteger la frase semilla: es el único respaldo. Si se pierde o expone, se pierde el control o se compromete la cartera.
Usar derivación hardened para ramas sensibles, minimizando la superficie de ataque.
Verificar la fuente de la cartera: el software debe implementar correctamente los estándares BIP.
Uso práctico de una cartera HD
Al crear una nueva cartera HD:
Se genera la frase semilla (BIP39).
Se obtiene la clave maestra (BIP32).
Se eligen rutas según el tipo de cuenta (BIP44/49/84).
Se generan direcciones para recibir y enviar fondos, manteniendo la trazabilidad y privacidad.
En resumen, las carteras HD proporcionan un método seguro, organizado y fácil de respaldar para manejar múltiples direcciones y cuentas en Bitcoin. Comprender sus estándares (BIP32, BIP39, BIP44/49/84) es clave para su correcta implementación y uso.