Unidad 2 · Lección 2.4

xpub, ypub y zpub

Unidad 2: La seed por dentro · lección 4 de 5

Al terminar esta lección podrás

  • Saber qué deja ver una xpub de cuenta y por qué no se comparte a la ligera
  • Reconocer que xpub, ypub y zpub son la misma clave con otro prefijo

Se oye a menudo: «la xpub es pública, así que da igual a quién se la doy». Es pública en un sentido estrecho. No sirve para gastar. Pero enseña mucho más de lo que parece.

Una xpub es la clave pública de un nudo del árbol junto a su código de cadena. La que exportan las billeteras suele ser la de la cuenta, m/84'/0'/0' por ejemplo. Con ella se calculan todas las direcciones de esa cuenta, las de recibir y las de cambio, pasadas y futuras. Quien la tenga ve cada cobro, cada pago y cuánto volvió como cambio. Y no se puede retirar una vez entregada.

Hay un riesgo más serio. Una xpub junto a una sola clave privada de cualquier dirección de esa cuenta permite calcular la clave privada de la cuenta entera. El cálculo se detiene en la cuenta, que es endurecida, así que las otras cuentas y la clave maestra quedan a salvo. Pero los fondos de esa cuenta, no. Si has compartido una xpub, no exportes nunca una clave privada suelta de esa cuenta.

¿Y ypub y zpub? Son la misma clave con otros cuatro bytes delante. Se inventaron para que la clave dijera el tipo de dirección: ypub para las que empiezan por 3 (estándar 49) y zpub para las bc1q (estándar 84). Taproot (86) no tiene prefijo propio y usa xpub. Convertir una zpub en xpub no cambia ni la clave ni las direcciones. Los descriptores, que verás en la unidad 3, solo aceptan xpub y dicen el tipo de dirección aparte. Si tienes que convertir una, hazlo en tu equipo, sin conexión, nunca en una web: quien la recibe ve todo tu historial.

La entrada de HD wallets es avanzada. Para esta lección lee «Qué revela una xpub y qué no», «La fuga: una xpub y una clave privada descendiente» (el párrafo del cálculo te lo puedes saltar) y «xpub, ypub, zpub y tpub: la misma clave con otros bytes». En la de tipos de direcciones, repasa a qué prefijo corresponde cada tipo.

Lee en Bitcoinpedia

Pruébalo

Explorador de rutas de derivaciónAbrir aparte

Solo se usa la frase de prueba pública «abandon … about»: cualquiera puede gastar lo que se envíe a estas direcciones. No hay ningún campo para escribir una frase tuya, y nunca debes escribirla en una web.

Detective del saldo cero

Pega una dirección y la herramienta busca en qué estándar, cuenta, cadena e índice aparece con la frase elegida. Es lo que hay que averiguar cuando restauras una billetera y sale vacía.

Prueba:
100 % local: nada sale de tu navegador
Analizador de direccionesAbrir aparte

Pega solo direcciones, nunca una seed ni una clave. Solo se lee el texto: no se consulta saldo, historial ni nada en la red.

Prueba:
100 % local: nada sale de tu navegador
Actividad

En el explorador, con el estándar 84, compara la zpub de la cuenta con la misma clave escrita como xpub: el texto cambia entero, la clave no. Pasa al estándar 86: ¿qué prefijo sale? Copia la primera dirección del estándar 49 y pégala en el analizador de direcciones: ¿de qué tipo dice que es? ¿Puede saber que dentro hay SegWit? Por eso la billetera necesita saber el estándar. Para tu escenario, decide quién podría ver tu xpub (tu app de seguimiento, el programa de cobro del negocio, un contable) y qué vería cada uno. ¿A quién no se la darías?

Piénsalo o escríbelo a mano. No guardamos lo que respondas.