Carteras HD

Carteras jerárquicas determinísticas (HD Wallets)

BIP 32: Hierarchical Deterministic Wallets

Una cartera jerárquica determinística (o "cartera HD") es una cartera que genera todas sus claves y direcciones a partir de una única fuente.

Básicamente, una cartera HD permite generar miles de millones de claves privadas usando una sola seed. Entonces, siempre que recuerdes la seed, podrás recuperar siempre las mismas claves y direcciones. Eso las hace mucho más amigables que las carteras antiguas, que generaban y almacenaban las claves privadas individualmente.

La parte más interesante de las carteras HD es que puedes generar nuevas claves públicas sin tener que generar al mismo tiempo sus claves privadas.

Casi todas las carteras modernas (desde 2013) son jerárquicas determinísticas.

¿Cómo funcionan las carteras HD?

El proceso, en cuatro etapas:

  1. Frase mnemónica → Seed. Al crear la cartera, recibes una frase mnemónica de 12 o 24 palabras. Es la fuente de la seed (un número grande).
  2. Seed → Clave extendida maestra. La seed pasa por la función HMAC-SHA512 para crear la clave extendida maestra (xprv/xpub).
  3. Derivación de claves hijas. La clave extendida maestra deriva claves hijas, que derivan más hijas, formando un árbol.
  4. Rutas de derivación. Cada clave tiene su ruta de derivación única a partir de la clave maestra (por ejemplo, m/84'/0'/0'/0/0).
HMAC-SHA512

HMAC-SHA512

Se usa al derivar claves extendidas.

semilla o (clave privada/pública + índice de 4 bytes)

0 bytes

"Bitcoin seed" o chain code

0 bytes
HMAC-SHA512

HMAC-SHA512(datos, clave)

0 bytes
Claves extendidas

Chaves Estendidas

Derive una clave extendida hija a partir de una clave extendida padre.

Clave Extendida Padre
Tipo
0 bytes 0 bytes

El número de índice de esta hija con respecto al padre

0d
Tipo de índice
Clave Extendida Hija 0 bytes 0 bytes 0 bytes

Una clave privada extendida es la clave privada más el chain code.

Una clave pública extendida es la clave pública más el chain code.

Nunca use una clave privada generada por un sitio, ni introduzca su clave privada en un sitio. Los sitios pueden guardar fácilmente la clave privada y usarla para robar sus bitcoins.

Beneficios