Output Descriptor es un texto que describe qué claves y reglas debe usar una cartera para construir salidas Bitcoin: registros de cantidades y de las condiciones para gastar los fondos después. Ayuda a recrear las direcciones correctas y reconocer sus pagos. No es una transacción ni una copia de seguridad completa, y puede contener solo datos públicos o también claves secretas.
Anna cambia la aplicación con la que consulta su cartera física. Quiere seguir consultando sus fondos en la nueva aplicación sin introducir las palabras de recuperación en el ordenador. Las palabras de recuperación, llamadas Seed Phrase, son una copia de seguridad que permite recuperar las claves de la cartera. Un descriptor público indica a la nueva aplicación qué claves públicas usar y cómo generar las mismas direcciones. Piensa en unas instrucciones precisas para construir direcciones, no en otra contraseña. El programa suele reconocer por sí solo una configuración estándar, pero no basta con adivinar cuando es poco habitual o usa Multisig (una configuración de cartera con varias claves de firma). El descriptor no transfiere dinero ni modifica pagos ya recibidos. Describe las reglas que la recuperación debe conservar. [1] [8]
Una clave privada permite crear una firma digital que autoriza un gasto. Una clave pública permite verificar esa firma, pero no crearla. Un descriptor público puede incluir un xpub: datos para derivar más claves públicas sin capacidad de firmar. Sirve para una Watch-only Wallet, que observa pagos pero no puede enviarlos por sí sola. Aun así, protege la privacidad de esa exportación: puede relacionar muchas de tus direcciones y sus historiales. Otro descriptor puede contener un xprv, una clave privada extendida, o WIF, un formato de clave privada individual. Es material secreto que puede permitir gastar bajo las condiciones correspondientes. No lo envíes a un verificador web ni lo guardes como una nota inofensiva. La configuración pública no sustituye a los respaldos necesarios para firmar. [1] [8]
Tras importar, Anna compara varias direcciones de recepción con la cartera original. Si usa una cartera física, verifica las direcciones en la pantalla fiable del dispositivo según las instrucciones del fabricante. Comprueba también la configuración de la rama de cambio, que devuelve a su control el dinero sobrante al pagar. Un nombre de cuenta idéntico no basta. Antes de confiar en un nuevo respaldo, verifica el procedimiento completo de recuperación de su cartera sin exponer innecesariamente las claves secretas. Si la aplicación no admite el descriptor o muestra otras direcciones, primero revisa compatibilidad, red y ajustes. Modificar por intuición una expresión que no conoce no es una reparación segura. [5] [8]
Para una cartera que exige dos firmas de tres claves no bastan dos conjuntos de palabras de recuperación y recordar que ‘era dos de tres’. Reconstruir las condiciones de gasto requiere los datos públicos de las tres claves, sus reglas de derivación y el tipo exacto de script. Un script expresa las condiciones que deben cumplirse para gastar los fondos. En la notación multi(k,...) se conserva el orden indicado de las claves; k es el número de firmas necesario. La variante sortedmulti(k,...) ordena las claves públicas ya derivadas según sus bytes al construir cada script. Son reglas distintas, no nombres intercambiables. Conserva la exportación completa de la configuración junto a los respaldos de las claves necesarias para firmar protegidos por separado. Una lista de nombres de dispositivos no basta. [2] [8]
Después del signo # pueden aparecer ocho caracteres llamados checksum, la suma de comprobación definida por BIP380. Permiten al programa detectar muchos errores de copia. No son la firma del autor, un cifrado ni una prueba de que el descriptor te pertenece. Quien sustituye deliberadamente las claves por las suyas también puede calcular un checksum nuevo y correcto. Por eso comprobar el texto debe acompañarse de verificar las direcciones y el origen de la configuración. Ante un error de checksum, vuelve primero a obtener la exportación original; generar uno nuevo sin más podría validar un texto ya dañado. [1]
Una clave puede llevar delante [fingerprint/path], la información de origen o key origin. El fingerprint es un identificador corto de la clave inicial; path indica cómo se derivó la clave escrita después. Ayuda al dispositivo de firma a encontrar la clave correcta. Tras el xpub puede haber otra ruta que lleve a las direcciones individuales. Ambas partes cumplen funciones diferentes; no son una simple etiqueta de cuenta. Claves distintas pueden compartir fingerprint por coincidencia, así que no autentica un dispositivo. Una exportación pública tampoco puede avanzar libremente por Hardened Derivation, un paso que requiere datos privados; la aplicación exportadora debe elegir el nivel de clave adecuado. [1]
El asterisco de /* indica que se sustituyen números sucesivos, por ejemplo 0, 1 y 2. Ese ranged descriptor describe más de una dirección; en cada operación el programa determina qué rango de índices procesar. La notación <0;1> de BIP389 puede incluir dos ramas, normalmente recepción y cambio, si la aplicación la admite. Pero el descriptor no mantiene por sí solo una lista de direcciones usadas ni registra el siguiente número libre. Tampoco incorpora automáticamente el gap limit: cuántas direcciones consecutivas sin usar hacen que termine una búsqueda. Sin usar significa sin historial de transacciones: una dirección que recibió fondos que más tarde se gastaron no cuenta como una dirección sin usar. Por eso la recuperación puede requerir también el estado de la cartera y un rango de búsqueda suficientemente amplio. [5] [6] [9]
Una salida de transacción contiene un scriptPubKey, el script que establece las condiciones para gastarla después. El descriptor indica cómo construirlo. wpkh(KEY) describe Native SegWit con una sola clave; KEY es aquí un marcador, no una clave real. Envolverlo como sh(wpkh(KEY)) cambia el formato de salida y la dirección aunque la clave siga siendo la misma. Otras expresiones son pk(), pkh(), wsh(), addr() y raw(). No son opciones intercambiables: addr(), por ejemplo, describe una dirección conocida, pero no aporta por sí solo la información ausente para gastar desde ella. Esta parte es una referencia de configuración, no una exigencia de escribir descriptores a mano para principiantes. [1] [8]
Una salida Taproot puede gastarse mediante la firma de una clave o mediante condiciones de script adjuntas, si las contiene. tr(KEY) especifica una clave interna sin una rama de script gastable; tr(KEY,TREE) añade un árbol de scripts. Hay que conservar más que una lista de claves. Importa cómo se agrupan los scripts: cambiar su agrupación puede modificar el hash conjunto, la Merkle root, y la dirección final aunque las condiciones individuales sean las mismas. Sin embargo, no todo intercambio de ramas la cambia. Miniscript ayuda a escribir y analizar condiciones, y multi_a expresa varias firmas en Tapscript, el lenguaje de scripts de Taproot. Ninguno sustituye a la exportación completa de la configuración. [3] [8]
RPC es una interfaz para dar instrucciones al programa desde otro programa o desde la línea de comandos. En Bitcoin Core 29, el comando RPC getdescriptorinfo analiza un descriptor. Devuelve una forma pública sin claves privadas y los campos checksum, isrange, issolvable y hasprivatekeys. El último indica si la entrada contenía alguna clave privada; issolvable no significa que tengas los secretos necesarios para firmar. deriveaddresses permite comparar direcciones derivadas. Al importar, importdescriptors recibe también timestamp, active, internal, range y next_index: desde cuándo buscar el historial, si la configuración es activa, si corresponde al cambio interno, el rango y el próximo índice. Un rescan vuelve a buscar transacciones en la cadena. Un timestamp demasiado tardío puede omitir pagos antiguos; cambiar el descriptor no los mueve ni los borra. Después de importar hace falta un nuevo respaldo de la cartera. Estos comandos se usan en tu propia instalación fiable, no en un formulario web ajeno. [5] [7] [8]
Para obtener la imagen más completa, lee esta entrada junto con Cartera, Watch-only Wallet, Multisig, PSBT, Miniscript, Bitcoin. También enlazan con esta entrada Watch-only Wallet, Extended Public Key (xpub), PSBT, Autocustodia.