Al terminar esta lección podrás
- Saber qué hace falta para recuperar una multifirma y qué datos rehacen un descriptor perdido
- Distinguir probar las copias, registrar la política y recuperar cuando falta una clave
Recuperar una multifirma pide dos cosas: al menos m claves, como seeds o como aparatos que las guardan, y el descriptor completo. Tu seed no contiene las xpub de los demás, y sin todas no sale ni una dirección.
Un descriptor perdido se puede rehacer, pero pide todo esto: las n xpub, cada una con su huella y su ruta de origen (como 48'/0'/0'/2', la que propone el BIP-48 para P2WSH), el umbral, el tipo de script y si es multi, con su orden, o sortedmulti. Por eso va una copia del descriptor con cada clave. Quien encuentre una clave con su descriptor no puede gastar, pero ve el saldo: ese sitio se protege como el de una seed.
Registrar. Al montar la multifirma, cada aparato registra su política, con el BIP-388 o con su propio formato, y enseña en pantalla el umbral y las xpub. Compara cada una entera con la que mostró su propio aparato al exportarla, que apuntaste de esa pantalla, nunca con un fichero del ordenador. Eso es lo que caza un descriptor cambiado, cosa que el checksum no ve. Después, todos comparáis la primera dirección para confirmar que registrasteis lo mismo. Y con la política registrada, el aparato puede comprobar que el cambio vuelve a tu multifirma.
Probar no es recuperar. Antes de meter el grueso, prueba cada copia con las reglas de la lección 5.4. Cómo, depende de dónde nació la clave:
- De una hardware wallet: con la comprobación de copia del aparato o, si no la trae, en una segunda hardware wallet vacía que borras al terminar. Con un Trezor Model One, en los dos casos, la recuperación avanzada. Si restauras, mira que la huella sea la que lleva el descriptor para esa clave.
- De una app: solo en esa misma app del mismo aparato, nunca en una hardware wallet. Usa su comprobación de copia. Si no la trae, puedes borrarla y restaurarla ahí con el teclado del sistema, pero solo antes de mandar nada a la multifirma, ni siquiera la cantidad de prueba, y si ninguna billetera de esa seed tiene fondos, tampoco con passphrase. Si ya hay fondos, esa clave se cambia por otra, como en «Recuperar».
- El descriptor: desde la copia guardada, no desde la billetera que ya funciona. Impórtalo en una billetera nueva de solo lectura y comprueba que da la misma primera dirección.
Con fondos dentro, aunque sean pocos, ningún aparato ni ninguna app de la multifirma se borra para probar.
Recuperar depende de qué pasó. Si se rompió una hardware wallet y tienes su seed, la restauras en otra vacía (con un Trezor Model One, con la recuperación avanzada) y vuelves a registrar la política, comparando otra vez las xpub. Si la clave vivía en una app, o perdiste el aparato, te lo robaron o la clave no tiene copia, el script no deja cambiarla. Creas otra multifirma, la registras comparando las xpub, pruebas la copia de la clave nueva, guardas su descriptor con cada clave y mueves los fondos con las claves que no se han expuesto. Esa clave solo se restaura si te falta para llegar al umbral, y entonces en un aparato limpio (si nació en una app, en esa misma app), nunca en una hardware wallet. No borres ningún firmante de la antigua hasta ver los fondos confirmados en la nueva.
En «Diseñar una multifirma» lee «Qué hace falta para recuperar» y «Si falta una clave». En «Descriptores de salida», «Una multifirma completa» y «Qué significa esto para ti».
Lee en Bitcoinpedia
Pruébalo
Pega solo descriptores con claves públicas (xpub). Si lleva una clave privada, la herramienta se para: un descriptor así no se pega en ninguna web. Los ejemplos salen de seeds de prueba públicas.
En el inspector, pulsa «Multifirma 2 de 3». En el propio texto busca el umbral, si es multi o sortedmulti, el tipo de script y la ruta de cada clave, y apunta las tres huellas. Supón que conservas las seeds de 73c5da0a y de 3442193e, pero ninguna copia del descriptor. ¿Qué te falta y de dónde podría salir? Después pulsa en el simulador «Sin descriptor guardado» y lee lo que dice. Solución: wsh, sortedmulti, umbral 2 y la ruta 48'/0'/0'/2' en las tres claves. Te falta la xpub de bd16bee5 con su origen, y no sale de tus dos seeds: solo de la tercera clave, de su seed o de su aparato, o de una copia del descriptor. Para tu escenario, si tu plan lleva multifirma, escribe su hoja de recuperación: dónde va cada clave y su copia del descriptor, qué comprueba cada aparato al registrar la política, cómo se prueba cada copia y qué haríais si un aparato se rompe y si alguien lo pierde o lo roba. Si tu plan no lleva multifirma, escribe qué tendría que subir en tu tabla de amenazas para que la necesitara.
Piénsalo o escríbelo a mano. No guardamos lo que respondas.