¿Qué es un XPUB (clave extendida)?

Disponible como podcast
Comparte el artículo:

Si utilizas tu propia cartera para proteger tus bitcoins, es probable que ya hayas encontrado el término «XPUB». Este acrónimo esotérico simplemente describe una clave pública extendida. Este tipo de clave permite derivar otras claves secundarias públicas para consultar el saldo de un monedero, sin permitir que se gasten los bitcoins asociados.

Gracias a este artículo, por fin comprenderás el papel del XPUB y la construcción de una clave extendida. Para ello, es fundamental conocer algunas nociones sobre cómo funciona un portafolio determinista y jerárquico. También vamos a repasar todo esto juntos.

Estructura de cartera HD

Si ha seguido los artículos educativos anteriores del blog de Bitstack, ahora sabe que los bitcoins están representados en el protocolo por UTXO, que son esencialmente piezas de bitcoin. Por lo general, estas UTXO están protegidas por un par de claves criptográficas. Por lo tanto, se usa una clave pública para recibir bitcoins y la clave privada correspondiente se usa para gastar estos mismos bitcoins firmando una transacción. Las direcciones de recepción, por otro lado, son simplemente un hash de una clave pública, puesta en un formato específico.

En teoría, por lo tanto, sería posible utilizar solo un par de claves para administrar todos sus bitcoins. Sin embargo, no se recomienda esta práctica, ya que es peligrosa para nuestra privacidad. Para mantener una forma de confidencialidad, es recomendable generar un nuevo par de claves para cada nueva recepción de bitcoins.

Esta recomendación viene del propio Satoshi Nakamoto. Habla de ello en la parte 10 del Libro Blanco de Bitcoin.

Posteriormente, los desarrolladores diseñaron una estructura de cartera que facilitó la derivación de varias claves. Esta es la denominada cartera «determinista jerárquica» (HD). Su principio es que se generan multitud de pares de claves únicos a partir de un único dato: la semilla (o «semilla» en inglés). Esta semilla se puede codificar en una forma legible para los humanos para obtener la famosa frase de recuperación de 12 o 24 palabras.

➤ Obtenga más información sobre las diferentes categorías de carteras de Bitcoin.

De esta forma, con solo conocer su frase de recuperación, un usuario está en condiciones de regenerar todas sus claves dando acceso a todos sus bitcoins.

Tienes que imaginarte una cartera HD como un árbol. Hay una semilla en la base de la cartera que te permite hacer un tronco. El tronco permite hacer ramas. Luego, cada rama puede entonces formar subramas por sí misma, y así sucesivamente. Sus direcciones de recepción y las claves para gastarlas son, por lo tanto, el resultado de varias profundidades de derivación a partir de su semilla.

Lo que yo llamo «derivación» es simplemente la aplicación de una función criptográfica unidireccional que toma la clave principal como entrada y produce una clave secundaria como salida.

➤ Descubra la construcción de una oración de recuperación (24 palabras).

La derivación de pares de claves criptográficas

Para diferenciar los pares de claves que están en la misma etapa de derivación, les asignaremos un índice. Es simplemente un número que permite numerar cada tecla. El primer par de claves derivado de un par principal tendrá el número de índice 0, el segundo par de claves derivado de un par principal tendrá el índice número 1, y así sucesivamente.

De esta manera, podemos derivar una multitud de claves criptográficas diferentes de nuestra semilla. Sin embargo, en caso de recuperar nuestra billetera, debemos poder encontrar todos estos índices utilizados durante la derivación. Por lo tanto, el BIP43 y el BIP44 establecieron un estándar de derivación para nuestras carteras. Un software de buena reputación se adhiere a esta regla para que sea sencillo migrar de un monedero de Bitcoin a otro, al tiempo que facilita el proceso de recuperación en caso de pérdida.

Finalmente, cada etapa de derivación se usa para transmitir información de acuerdo con el índice usado para derivar la clave.

Por ejemplo, el índice 84' se usa en la primera etapa de derivación para indicar que estás en una billetera SegWit V0 (con direcciones que comienzan con «bc1q...»). La segunda etapa de derivación se utiliza para separar las diferentes criptomonedas de la misma cartera. Y el tercer piso permite generar varias cuentas separadas.

Es precisamente este tercer piso el que nos interesa para nuestro XPUB.

Teclas extendidas (xpub, zpub...)

En las partes anteriores, vimos que una billetera HD consiste en una sucesión de derivaciones de las claves principales, para determinar las claves secundarias. En realidad, para poder tener éxito en cada derivación, no basta con tener la clave principal, sino que también es necesario utilizar otra información llamada «código en cadena».

En pocas palabras, un código en cadena es una información única asociada a cada par (clave pública y clave privada), que agrega una capa adicional de seguridad a la billetera.

Técnicamente, lo que se denomina clave extendida es un conjunto de una clave criptográfica con su código en cadena y algunos metadatos. Por lo tanto, la clave extendida permite reunir en una sola cadena de caracteres toda la información necesaria para derivar las claves secundarias.

Para resumir simplemente: clave extendida = clave + código de cadena.

Ensamblar una clave pública con su código en cadena nos da una clave pública extendida. Este tipo de clave solo permite derivar claves públicas secundarias. Esto es lo que se conoce con el nombre de «XPUB», «ZPUB» o incluso «YPUB».

Ensamblar una clave privada con su código en cadena nos da una clave privada extendida. Este tipo de clave permite derivar cualquier tipo de clave secundaria, tanto claves públicas como claves privadas.

En otras palabras, una clave privada extendida permite el acceso a todos los bitcoins protegidos por las claves secundarias, mientras que la clave pública extendida (XPUB) solo permite consultar el saldo de las claves y obtener nuevas direcciones. Por eso se te pide que introduzcas tu XPUB en un monedero llamado «solo para relojes».

Las claves extendidas estándar generalmente se encuentran en la tercera etapa de derivación de la billetera HD. Es la que se dedica a las cuentas.

📌 ¿Sabías eso? Al contrario de lo que se podría pensar, es posible obtener una multitud de XPubs diferentes en la misma billetera. Cada nuevo XPUB nos da una nueva cuenta. Sin embargo, dado que la mayoría de las personas solo usan una cuenta en su billetera de Bitcoin, solo tienen un XPUB en esa billetera.

Conclusión

Por lo tanto, una clave extendida es una clave principal especial que permite derivar pares de claves secundarias. Lo que se denomina clave pública extendida, o «xpub», solo permite derivar claves públicas secundarias y direcciones de recepción.

Si tienes acceso al xpub de tu monedero, puedes consultar el saldo de tu monedero, rastrear sus transacciones y crear nuevas direcciones de recepción. Por otro lado, te será imposible gastar los bitcoins asociados a él, ya que el XPUB no permite el acceso a las claves privadas del monedero.

➤ Obtenga más información sobre la frase de contraseña BIP39 y su función en una billetera de Bitcoin.

Disponible como podcast

Resumen

Comparte el artículo:

Puede que te gusten estos artículos

Bitstack SAS, una empresa inscrita en el Registro Mercantil y Mercantil de Aix-en-Provence con el número 899 125 090, que opera con el nombre comercial Bitstack, está registrada como agente de Xpollens, una institución de dinero electrónico aprobada por la ACPR (CIB 16528, RCS Nanterre núm. 501586341, 110 Avenue de France 75013 París), ante la Autoridad de Control y Resolución Prudencial («ACPR») en virtud del número 747088 y aprobado como proveedor de servicios de criptoactivos («PSCA») por la Autorité des Marchés Financiers («AMF») como intercambio de criptoactivos por fondos, el intercambio de criptoactivos para otros criptoactivos, la ejecución de órdenes sobre criptoactivos en nombre de los clientes, la custodia y administración de los criptoactivos en nombre de los clientes y la prestación de servicios de transferencia de criptoactivos en nombre de los clientes con el número A2025-003, cuya oficina central se encuentra en 100 Impasse des Houillères 13590 Meyreuil.

Invertir en activos digitales implica el riesgo de pérdida parcial o total del capital invertido.
El rendimiento pasado no garantiza el rendimiento futuro.
DESCARGAR
Bitstack