Claves extendidas

Claves que pueden derivar nuevas claves en una cartera HD

BIP 32

Una clave extendida (extended key) es una clave privada o pública que puede usarse para derivar nuevas claves en una cartera HD.

Puedes tener una única clave privada extendida y usarla como fuente para todas las claves privadas y claves públicas hijas de tu cartera. Además, una clave privada extendida tiene una clave pública extendida correspondiente, que puede generar solo las claves públicas hijas.

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.

Clave extendida maestra

La clave extendida maestra es la primera clave extendida de la cartera. Se crea pasando la seed por la función HMAC-SHA512 (con la clave "Bitcoin seed"). La función devuelve 64 bytes, que dividimos en dos mitades:

Juntos, la clave privada + el código de cadena (más algunos metadatos) forman la clave privada extendida (xprv).

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

Derivación de clave hija

Para derivar una clave hija, pasas la clave padre + el código de cadena + un índice (número de la hija) por HMAC-SHA512. El resultado se usa para crear la clave hija y el código de cadena hijo. Cambiando el índice, obtienes hijas diferentes.

Derivación normal vs. endurecida (hardened)

Hay dos tipos de derivación:

Dirección de la clave extendida

A partir de cualquier clave extendida, puedes derivar la clave pública hija y, a partir de ella, una dirección:

Clave Pública

Clave Pública

Calcule la clave pública a partir de una clave privada.

0 bytes

Clave Pública

Coordenadas
0d
0d

Una clave pública es solo un punto en una curva elíptica. La clave pública final son esas coordenadas en hexadecimal.

Compresión

La curva es simétrica en el eje x, así que la clave comprimida guarda solo la coordenada x y si la y es par o impar. La x-only se usa en salidas Taproot.

0 bytes

Nunca introduzcas tu clave privada en un sitio, ni uses una clave privada generada por un sitio. Los sitios pueden guardar fácilmente la clave privada y usarla para robar tus bitcoins.