Mastering Bitcoin
6. Claves, Direcciones, Carteras » Carteras » Carteras Deterministas Jerárquicas (BIP0032/BIP0044) » Claves extendidas
Página 37 de 98
Claves extendidas
Como vimos anteriormente, la función de derivación de claves se puede utilizar para crear los hijos en cualquier nivel del árbol, sobre la base de las tres entradas: una clave, un código de cadena, y el índice del hijo deseado. Los dos ingredientes esenciales son la clave y el código de cadena, que cuando se combinan, forman lo que se llama una clave extendida. El término «clave extendida» también podría pensarse como «clave extensible» porque dicha clave se puede utilizar para crear los hijos.
Las claves extendidas se almacenan y se representan simplemente como la concatenación de la clave de 256 bits y el código de cadena de 256 bits en una secuencia de 512 bits. Hay dos tipos de claves extendidas. Una clave privada extendida es la combinación de una clave privada y el código de cadena, y se puede utilizar para derivar las claves privadas hijas (y a partir de ellas, las claves públicas hijas).
Una clave pública extendida es una clave pública y el código de cadena, que puede utilizarse para crear las claves públicas hijas, como se describe en Generando una Clave Pública.
Piense en una clave extendida como el origen de una rama en la estructura de árbol de la cartera HD.
Con el origen de la rama, puede derivar el resto de la rama. La clave privada extendida puede crear una rama completa, mientras que la clave pública extendida sólo puede crear una rama de claves públicas.
Una clave extendida consiste en una clave pública o privada y en un código de cadena. Una clave extendida puede crear hijos, generando su propia rama en la estructura de árbol. Compartir una clave extendida da acceso a toda la rama.
Las claves extendidas se codifican utilizando Base58Check, para facilitar la exportación e importación de diferentes carteras compatibles con BIP0032. La codificación Base58Check para las claves extendidas utiliza un número de versión especial que se traduce en el prefijo «xprv» y «xpub» cuando se codifican en caracteres de Base58, para que sean fácilmente reconocibles. Dado que la clave extendida puede ser de 512 ó 513 bits, es también mucho más larga que otras cadenas codificadas en Base58Check que hemos visto anteriormente.
Aquí hay un ejemplo de una clave privada extendida, codificada en Base58Check:
xprv9tyUQV64JT5qs3RSTJkXCWKMyUgoQp7F3hA1xzG6ZGu6u6Q9VMNjGr67Lctvy5P8oyaYAL9CAWrUE9i6GoNMK
Uga5biW6Hx4tws2six3b9c
Aquí está la clave privada extendida correspondiente, también codificada en Base58Check:
xpub67xpozcx8pe95XVuZLHXZeG6XWXHpGq6Qv5cmNfi7cS5mtjJ2tgypeQbBs2UAR6KECeeMVKZBPLrtJunSDMst weyLXhRgPxdp14sk9tJPW9