Glosario / Direcciones y claves
Clave padre
También se conoce como Clave pública padre o Clave privada padre.
- ¿Qué es la clave padre?
- La clave padre está un nivel directamente por encima de otra clave en el árbol de una billetera HD, y cada clave extendida lleva cuatro bytes con la huella digital de su propia clave padre.
Se especifica en el BIP-32.
En BIP-32, la condición de clave padre es una relación, no un rango. La clave maestra es la única clave que no tiene clave padre, y deja constancia de ello con una huella digital de la clave padre formada por cuatro bytes cero y con una profundidad de 0. Todas las demás claves nombran a su clave padre en los bytes iniciales de su propia serialización, y así es como el software averigua dónde encaja una clave suelta.
Cómo funciona
Una clave padre se identifica por una huella digital y no por la propia clave. Se toma la clave pública comprimida de la clave padre, se calcula su hash con SHA-256 y después con RIPEMD-160, y se conservan los cuatro primeros bytes del resultado. Esos cuatro bytes ocupan una posición fija en la clave extendida de 78 bytes de la clave hija, justo después del byte de profundidad y antes del índice de la clave hija.
Cuatro bytes son 4.294.967.296 valores posibles, lo que convierte la huella digital en una etiqueta y no en una prueba. BIP-32 dice explícitamente que las huellas pueden colisionar y que las implementaciones no deben depender de ellas para la seguridad. Existen para que una billetera pueda clasificar rápidamente las claves en el árbol correcto, y cualquier comprobación real implica derivar la clave y comparar el resultado.
La clave padre también aporta los dos ingredientes que necesita una derivación: su código de cadena y su material de clave. Por eso las claves extendidas los llevan juntos. Si se entrega a alguien una clave pública padre sin el código de cadena, no se puede calcular a partir de ella ninguna clave hija en absoluto.
Dónde aparece
La huella digital de la clave maestra es el identificador que se encuentra con más frecuencia, porque tanto los descriptores como los dispositivos de firma la citan.
Un descriptor de salida la escribe entre corchetes delante de la clave extendida, como en wpkh([1a2b3c4d/84h/0h/0h]xpub.../0/*). La parte entre corchetes indica de qué billetera procede la clave y por qué ruta, de modo que un firmante que lea el descriptor puede saber si se le pide firmar con una clave que realmente tiene. Las transacciones de bitcoin parcialmente firmadas de BIP-174 llevan la misma asociación para cada entrada y cada salida, y eso es lo que permite a una billetera de hardware decidir sin conexión que una salida es su propio cambio y no la dirección de un desconocido.
En multisig es donde esto deja de ser una curiosidad. Una configuración dos de tres en Sparrow muestra una huella digital de la clave maestra para cada cofirmante, y reconstruir esa billetera más adelante requiere las tres claves públicas extendidas además de las frases semilla. Escribir la huella de cada dispositivo en su tarjeta de respaldo es la forma más barata de distinguir años después tres tarjetas de frase semilla por lo demás idénticas, y quienes no lo hicieron han pasado fines de semana derivando claves para averiguar qué tarjeta corresponde a qué dispositivo.
Una última nota práctica. Una billetera restaurada que muestra una huella digital desconocida no suele ser un respaldo dañado, sino una frase de contraseña mal escrita. Una frase de contraseña de BIP-39 produce una clave maestra diferente y, por lo tanto, una huella diferente, así que comparar ese valor corto es una forma rápida y segura de confirmar que usted introdujo correctamente la frase de contraseña antes de ponerse a mirar un saldo.