¿Qué es una XPUB, YPUB y ZPUB?

¿Qué significa xpub, ypub y zpub? en el ámbito de Bitcoin

XPub_ZPub_YPub

¿Porqué a veces leemos o nos hablan de estas claves y cuales son sus diferencias?

 

En las carteras jerárquico deterministas (HD) y que son la gran mayoría de las carteras modernas de Bitcoin, se habla de términos como Master Extended Public Keys o lo que es lo mismo, de xpub, ypub y zpub.

¿Pero qué son? y ¿qué función tienen?. En este artículo vamos a descubrirlo.

 

Las carteras HD pueden generar un número casi infinito de claves privadas a partir de una única semilla mnemónica, y nos permiten recuperar esas direcciones en cualquier otra cartera compatible a partir de esa semilla.

 

Una única semilla mnemónica genera Claves Privadas Maestras Extendidas (Master Extended Private Key) y Claves Públicas Maestras Extendidas (Master Extended Public Key), las cuales pueden ser usadas para derivar nuevas claves dentro de la cartera.

Cada Master Extended Private Key, a su vez, da lugar a un número casi infinito de Claves «hijo», llamados Child Private Keys, los cuales tienen su contra parte publica llamadas Child Public Keys. y sus direcciones asociadas.

 

Por lo tanto, puedes tener una única Master Extended Private Key, y utilizarla como fuente para todas las claves privadas y públicas hijas de tu cartera. Además, una Master Extended Public Key correspondiente generará las mismas claves públicas hijas (Child Public Keys).

En esta ilustración podemos ver el porque se denomina jerárquica a la generación de llaves de una cartera HD, y como por cada llave privada hija, se tiene una contra parte pública y ambas tienen acceso a la dirección correspondiente

 

De lo anterior, debemos entender que la Master Extended Public Key es útil para la creación de carteras de vigilancia o watch- only wallet, ya que nos permite tener acceso a las direcciones de la cartera sin que a su vez se tenga acceso a las claves privadas, y por ende sin poder operar sobre ellas, solo «verlas».

 

Vale, pero sigo sin saber ¿qué es xpub, ypub y zpub?. Pues habiendo repasado lo anterior, ahora puedo decirte que son el nombre que se le da a las claves Públicas Extendidas en diferentes tipos de carteras y/o scripts, vamos a ver.

 

xpub

Literalmente es como se denomina a una Clave Pública Extendida – eXtended Public, la verdad no he encontrado algún documento que indique porque xpub y no expub (por ejemplo), pero bueno, eso es lo de menos.

 

El xpub nace en el estándar de bitcoin BIP32 y como vimos anteriormente sirve para dar acceso de solo lectura a una cartera. La xpub permite tener una visión completa de todas las transacciones, direcciones y saldos de una cartera en específico, pero no permite ningún tipo de gasto. Para gastar, se requieren claves privadas, y el xpub no tiene ninguna clave privada. Son las claves de nomenclatura inicial y se usan en las carteras tipo Legacy, las cuales tienen direcciones que empiezan por 1.

 

ypub

Es exactamente lo mismo que un xpub, excepto que la «y» nos indica que la clave pública extendida pertenece a una cartera que sigue el estándar de bitcoin BIP49,  el cual detalla un esquema de direccionamiento compatible con versiones anteriores a SegWit. Una clave ypub tiene un tipo de dirección P2SH-P2WPKH.

 

zpub

Y resulta que zpub es exactamente igual que ypub en el sentido de que nos indica que la clave pública extendida es la de una cartera que sigue el BIP49, sin embargo también nos indica que esa cartera en particular no sigue el esquema de direccionamiento compatible hacia atrás, en su lugar sigue el tipo de dirección P2WPKH, es decir zpub es para carteras nativas compatibles con SegWit.

 

Con esta tabla queda más clara la relación de las claves públicas

Tipo de DirecciónTipo de CarteraClave Pública Extendida o
Extended Public Key
Formato de dirección
Legacy BitcoinLegacy walletxpubDirecciones que empiezan por 1
P2SH-P2WPKHSegWit CompatibleypubDirecciones que empiezan por 3
P2WPKHSegWit NativezpubDirecciones que empiezan por bc1

 

NOTA: Trate de investigar pero no he encontrado información que me diga si el nuevo tipo de direcciones que se va a implementar a partir de la inminente incorporación de TapRoot en Bitcoin, va a suponer la adopción de nuevo tipos de Claves Públicas Extendidas. De direcciones si, eso es seguro pero no pude encontrar información sobre la nomenclatura de sus claves extendidas. Actualizaré el artículo tan pronto lo tenga claro.

 

Consideraciones de privacidad

Como podrás entender después de leer el artículo, con tu clave pública maestra es posible acceder a tus direcciones y con ello obtener el balance total de los mismos, por eso, no es recomendable ni seguro compartirlas. Este es el principal motivo por el que recomiendo tener un nodo de Bitcoin propio, ya que con ello eliminas de raíz qué se pueda tener acceso a esa información.

Recuerda que con Bitcoin, ahora tú eres el responsable de cuidar tus finanzas y de la misma forma que en el mundo Fiat tradicional no vas mostrando ni publicando el saldo y los movimientos de tus cuentas, debes cuidar de no hacerlo, evitando compartir las claves.

 

Como siempre, si llegaste hasta aquí, te agradezco mucho tu tiempo para leerme, espero que este artículo te haya sido de ayuda y si fue así, por favor házmelo saber, lo mismo que si tienes alguna observación, duda o comentario.

 

También si quieres apoyarme para continuar con esta labor déjame una propina, y además me ayuda a mantener el sitio y el dominio libre para todos, y porque no, incluso podría tomarme un café mientras investigo y escribo para ti!.

Muchas gracias de antemano.

¿Te resultó útil este contenido? Déjanos un comentario por favor.
5/5

 

Puedes dejarme una propina con el botón de BTCPay Server, el cual por defecto tiene seleccionado el tipo de cambio USD, el cual calcula el tipo de cambio de 1 dólar y lo traduce a satoshis. Pero si quieres puedes seleccionar otra moneda por ejemplo en pesos mexicanos lo cual te da un tipo de cambio menor, no importa, cualquier satoshi que dejes, lo importante es la intención.

O puedes dejármela mediante Lightning network:

y escoger el importe en satoshis que desees.

 

También puedes hacerlo onchain, vía Paynyms de Samourai Wallet:

PM8TJR2yPtx5JS8e8CuwXBZMay67mg1RKrtVptBRZQD5qCyZc1rosVCbScFmzgYYrQtVmc6cJZ2hCK2nBra3KAXxXCKPU4K4vRPjnBqGCYKYRUwimKnA +crimsontruth10e

6 comentarios en «¿Qué es una XPUB, YPUB y ZPUB?»

  1. Gracias por tan claro artículo. Una pregunta me surge. Imaginemos que tengo una cartera que admite los tres tipos de transacciones y que yo, por error e ignorancia, tengo hechas transacciones de todos esos tipos. Si quisiera crearme una cartera de solo mirar, por ejemplo en Sentinel, podría usar solo el zpub y reconocería todas las transacciones de mi carrera? O tendría que crearme una para el club, otra para el ypub y otra para el zpub? Muchas gracias

    Responder
    • Tendrías que importar en tu watch-only wallet el xpub para ver las tx de esa Child Public Key, la ypub para las de esa y la zpub para sus respectivas

      Responder
  2. Muchas gracias por tu respuesta. Quisiera hacer otra pregunta. Si pensamos en una cartera moderna compatible con segwit, la clave maestra pública principal es una zpub? Esa cartera tendrá también una xpub y una ypub? Y si las tienen como se relacionan jerárquicamente entre ellas? Es decir, de la clave privada maestra que se deriva, todas o solo la zpub? Mil gracias.

    Responder
    • No se si estoy entendiendo bien la pregunta, pero siempre tendrás un tipo de clave publica para cada tipo de dirección, o por lo menos es lo que yo conozco, por lo tanto siempre tendrás una relación de una public key con el tipo de script que estas usando, es lo que trato de explicar en la imagen del artículo
      master keys

      Responder
  3. Buen artículo pero tengo una duda..
    Yo quiero entrar en hold para hacer ingresos en mi blue wallet de forma mensual y mantenerlos sin hacer pagos..
    La verdad es que estoy perdido por qué hace muy poco tiempo que estoy tocando criptos..
    Poniendo la clave pública podrían saber mi saldo,verdad??
    Cómo podría hacerlo de forma más segura y privada?

    Saludos

    Responder
    • Hola, gracias por tu comentario.
      No sé si estoy entendiendo bien tu duda. Si compartes tu clave pública, quién la conoce efectivamente puede llegar a conocer tu balance.
      La mejor forma es no compartir tu clave pública y solo ir dando una dirección, diferente a la vez, remarco lo de que sea siempre una dirección diferente.

      Samourai wallet tiene una opción llamada Paynym que te genera una dirección que si que puede ser compartida y no hay forma de conocer el balance de la misma, ni las direcciones que hay por detrás, pero el problema que tiene a día de hoy es que solo es valida de Samourai Wallet a Samourai wallet, ya que otras wallets no lo han implementado.
      Bluewallet tiene en su road-map el implementarlo pero no creo que llegue antes de finales de año si bien nos va.

      Espero haberte ayudado y si no es así, por favor házmelo saber y revisamos que se quedo pendiente. Saludos!

      Responder

Deja un comentario