MSTR Cat

Blockchain/Nivel IV · El protocolo a fondo/4.2 Actualizaciones/Lección 4

Descriptores de salida

La gramática de la clave: por qué una frase semilla sola puede no ser suficiente para restaurar lo que construiste

MaterialesUna instancia en ejecución de Bitcoin Core (versión 23 o posterior)Una billetera de hardware capaz de exportar descriptores públicosUn editor de texto para inspeccionar y modificar cadenas de descriptor

Curiosidad

  1. ¿Qué información específica falta en una frase de recuperación de 24 palabras para que sea insuficiente para restaurar todas las direcciones de una billetera multisig?
  2. ¿Cómo detecta un checksum añadido a una cadena de descriptor un único carácter transpuesto antes de que el software intente realizar la importación?
  3. ¿Por qué Bitcoin Core pasó a usar el modo descriptor para las billeteras nuevas por defecto en la versión 23, y qué falla si se restaura una billetera de estilo antiguo con una copia de seguridad moderna?

Explorar

  1. Antes de los descriptores, las billeteras HD dependían de rutas de derivación implícitas. El usuario hacía una copia de seguridad de la frase semilla o de la clave pública extendida (xpub) y asumía que el software reconstruiría las direcciones utilizando las convenciones estándar BIP44. Esto funcionaba en billeteras simples de firma única hasta que se activó Segregated Witness en agosto de 2017, en el bloque 481,824. La introducción de los tipos de dirección P2WPKH y P2WSH significó que una sola xpub ya no describía la estructura completa de cómo se derivaban las direcciones, lo que causaba fallos en su restauración; los fondos parecían perderse porque la billetera buscaba el tipo de script incorrecto.
  2. BIP380 define a los Descriptores de Script de Salida como un lenguaje estándar para describir colecciones de scripts de salida utilizados en billeteras Bitcoin HD. Mientras que BIP380 establece el marco general, los BIPS 381 a 386 especifican los tipos de expresión individuales como pk(), pkh(), sh(), wpkh() y wsh(). Un descriptor es una expresión estructurada que describe por completo un script de salida (scriptPubKey). Por ejemplo, 'wpkh([d34db33f/84'/0'/0']xpub…/0/*)' indica explícitamente el tipo de script, el origen de la clave a través de la huella maestra y la ruta de derivación, la clave pública extendida, y el rango de índices a escanear. No queda nada al azar.
  3. El formato incluye una suma de verificación después del carácter '#' para detectar errores tipográficos. Si un usuario edita manualmente un descriptor o lo copia incorrectamente, el software verifica la suma de verificación antes de aceptar la entrada. Esto evita la corrupción silenciosa, en la que una dirección inválida se escanearía indefinidamente sin obtener resultados. Las billeteras de hardware pueden exportar descriptores que contienen claves públicas y rutas de derivación, pero excluyen explícitamente las claves privadas, lo que permite a los nodos en línea supervisar de forma segura los activos fuera de línea sin exponer la frase semilla.
  4. Miniscript, desarrollado por Pieter Wuille, Andrew Poelstra y Sanket Kanjalkar a partir de 2019 y especificado en BIP379 (2023), ofrece una forma estructurada de escribir y analizar scripts. Permite que las billeteras combinen timelocks, multisig y hashlocks de manera segura al descomponer la lógica compleja de los scripts en unidades simples y analizables. Los descriptores pueden entonces describir rutas de recuperación con bloqueo temporal y condiciones multi-partes que una frase semilla por sí sola nunca podría capturar.
  5. Bitcoin Core pasó a utilizar billeteras descriptoras como predeterminado en la versión 23 (2022), y la versión 30 (2025) eliminó por completo las billeteras antiguas; estas solo pueden ser migradas. Las billeteras creadas con frases semilla BIP39 enfrentan la misma situación: para cualquier cosa más allá de una billetera estándar de una sola clave, es necesario hacer una copia de seguridad del descriptor junto con la frase semilla. Aunque estos datos no ponen en riesgo la seguridad de la clave privada si se filtran —ya que solo contienen información pública—, requieren protección contra fugas de privacidad, ya que revelan exactamente qué direcciones controla un usuario y su estructura de derivación.
  6. Para verlo en la práctica, cree una billetera nueva en Bitcoin Core y ejecute 'listdescriptors' para imprimir sus descriptores, cada uno terminando en un checksum después de '#'. Copie uno, cambie un único carácter y páselo a 'getdescriptorinfo': Bitcoin Core lo rechazará con un error de checksum. Tenga en cuenta que el simple 'listdescriptors' muestra solo las claves públicas, suficientes para una copia de solo observación; para restaurar la capacidad de gasto se necesita 'listdescriptors true', que incluye las claves privadas y debe protegerse adecuadamente, o bien hacer una copia de seguridad del archivo de la billetera.

Datos clave

  • BIP380 define los Descriptores de Script de Salida como un lenguaje estándar para describir los scripts de salida de billeteras HD.
  • Un descriptor incluye explícitamente el tipo de script, el origen de la clave (huella digital/ruta), las claves públicas y los rangos de índice.
  • La suma de verificación añadida después de '#' verifica la integridad de la cadena de descriptor en busca de errores tipográficos.
  • La versión 23 de Bitcoin Core (2022) hizo que las billeteras descriptoras fueran la opción predeterminada para la creación de nuevas billeteras.
  • Miniscript (BIP379) permite que los descriptores representen de forma segura scripts complejos como multisig y timelocks.
  • Las billeteras de hardware exportan descriptores solo públicos, lo que permite la firma sin conexión con nodos en línea.

Ejercicio nueve, seis, tres, uno

9ReunirEnumera 9 tipos diferentes de scripts de salida o configuraciones de billetera (por ejemplo, P2PKH, P2SH-P2WSH, multisig 2-de-3). Para cada uno, indica qué datos específicos se requieren para restaurarlo.
6AgruparAgrupa los 9 en 6 categorías según si una ruta estándar BIP44 es suficiente o si se requieren datos de descriptor explícitos para una restauración correcta.
3DestilarReduce los 6 grupos a 3 razones principales por las cuales las rutas de derivación implícitas fallan en los tipos de billeteras modernas.
1CristalizarEscribe 1 oración que explique qué aporta un descriptor a una frase semilla para que la restauración sea determinista.

Verificación de hechos

Fechas, cifras y afirmaciones verificadas con las fuentes publicadas que se enumeran a continuación.

Abrir en la academia interactiva →

EN PT ZH JA KO RU DE FR MS