↓ Ir al contenido
CypherpunkGuide.
ES

Recuperación con SLIP39: lo que no demuestra tener suficientes partes

Cora Aegis organiza tarjetas en blanco en grupos separados sobre una mesa, como símbolo de la revisión de una copia SLIP39

Financiación: CypherpunkGuide puede recibir comisiones por recomendación a través de las guías de compra enlazadas. Este artículo no contiene enlaces de afiliación para comprar directamente. Ningún fabricante de billeteras patrocinó el experimento.

SLIP39 es un estándar que permite representar la copia de un secreto mediante partes formadas por palabras. La passphrase es una cadena secreta adicional, independiente de esas partes, que puede ser necesaria para recuperar la billetera que buscas.

Conservas dos tarjetas de una copia repartida en tres. En un esquema de 2 de 3, podrían bastar. Pero contar tarjetas no resuelve todas las dudas: ¿pertenecen al mismo conjunto?, ¿hace falta otro grupo?, ¿necesitas además una passphrase para abrir la billetera correcta?

El 6 de octubre de 2026 ejecuté 45 pruebas oficiales, con entradas y resultados esperados ya definidos, y otras 32 comprobaciones con datos ficticios públicos. Las 77 dieron el resultado previsto. Entre ellas hay rechazos deliberados y dos casos que devolvieron un valor distinto sin señalar un error de passphrase. No son 77 recuperaciones de billeteras completadas con éxito.

El experimento utiliza la implementación de referencia de SLIP39: un programa que muestra cómo funciona el estándar. No prueba una billetera de hardware, no localiza bitcoin ni firma transacciones. Para distinguir entre recibir fondos, firmar y recuperar el acceso, empieza por las comprobaciones de autocustodia.

Cuenta los grupos completos, además de las tarjetas
#

Una copia SLIP39 puede exigir un mínimo de partes dentro de cada grupo y un mínimo de grupos completos. Cada parte, llamada share en inglés, contiene una porción codificada de la copia, normalmente escrita como palabras. El umbral indica cuántas se necesitan en cada nivel.

La especificación de SLIP39 define esta organización en dos niveles. Nuestra copia de prueba exigía dos de tres grupos. Los dos primeros necesitaban, cada uno, dos de sus tres partes; el último constaba de una sola parte. Reunir dos tarjetas del primer grupo completaba ese grupo, pero no cumplía los requisitos de toda la copia.

Las 15 combinaciones válidas con el mínimo de partes recuperaron el valor esperado. Los dos ejemplos que no cumplían los requisitos de los grupos fueron rechazados. En otra copia sencilla de 2 de 3, funcionaron las tres parejas posibles. Introducir dos veces la misma parte no la convirtió en dos partes distintas.

Estas partes reconstruyen un único secreto. No son claves de firma independientes como las de una billetera Bitcoin multifirma convencional. El experimento de recuperación multifirma aborda ese otro problema. Ninguna de las dos opciones es automáticamente la adecuada para todo el mundo.

Un conjunto correcto no valida la passphrase
#

SLIP39 no comprueba si la passphrase introducida es la que querías usar. En los dos casos con una passphrase deliberadamente incorrecta, el programa completó la reconstrucción y el descifrado, pero obtuvo datos distintos del valor público esperado.

Primero reconstruyó el secreto maestro cifrado, o EMS por sus siglas en inglés: el valor cifrado que representan las partes. Después utilizó la passphrase para obtener el resultado sin cifrar. La documentación del firmware de Trezor también distingue entre reconstruir ese valor y derivar el resultado que depende de la passphrase.

Esa diferencia importa cuando aparece un mensaje de operación completada. En nuestra prueba, terminar el procesamiento no bastaba. Detectamos la discrepancia porque conocíamos de antemano el valor ficticio original. No derivamos direcciones ni consultamos saldos. Si una recuperación real muestra una billetera vacía, hace falta investigar: este resultado no permite determinar la causa.

El programa adjunto no sirve para buscar passphrases. El artículo sobre recuperación de contraseñas trata otro tipo de problema.

Una copia nueva puede dejar utilizable la anterior
#

Crear otra copia del mismo secreto puede dejar las anteriores en funcionamiento. En nuestra prueba recuperamos el mismo valor con una copia anterior de una sola parte, otra anterior de 2 de 3 y una nueva de 2 de 3.

Aquí, «anterior» solo indica que se generó antes dentro del experimento. Las tres usaban el formato extensible (extendable) y el mismo identificador, 42. No probamos un formato antiguo de SLIP39 ni el procedimiento de actualización de un dispositivo.

Por separado, la guía de actualización de Trezor explica que añadir una copia a una billetera existente que cumpla los requisitos no invalida la original. La interfaz y las condiciones para hacerlo dependen del producto. Nuestro ejemplo matemático no prueba esas condiciones.

Al revisar la privacidad y el control de acceso, incluye las copias anteriores en el inventario. No confundas crear más partes con invalidar un material de recuperación que ya se ha filtrado. Este artículo no indica que debas destruir copias, restablecer un dispositivo ni mover fondos.

Qué demostraron las 77 comprobaciones
#

El experimento distingue entre recuperar el valor esperado, obtener otro valor y rechazar la entrada. Los resultados de cada caso conservan las 77 observaciones.

Entrada o condiciónComprobacionesResultado observado
Entradas oficiales válidas / no válidas15 / 3015 coincidencias; 30 rechazos
Cada pareja de un conjunto sencillo de 2 de 33Todas coincidieron
Una parte / la misma parte repetida1 / 1Ambos casos rechazados
Combinaciones que no cumplen / cumplen los requisitos de los grupos2 / 152 rechazos; 15 coincidencias
Passphrase correcta / vacía o distinta1 / 21 coincidencia; 2 valores distintos
Identificadores mezclados / cambio de una palabra de la suma de comprobación1 / 1Ambos casos rechazados al decodificar
Copia anterior de una parte, anterior dividida y nueva dividida3Todas coincidieron
Partes de divisiones independientes con las mismas palabras iniciales1La decodificación pasó; la comprobación de integridad de la recuperación rechazó la mezcla
Las tres partes entregadas a la función de recuperación de 2 de 31Esta función rechazó la entrada por exceder el número requerido

Las dos últimas filas necesitan contexto. Reutilizamos deliberadamente los datos identificativos para obtener las mismas palabras iniciales en conjuntos divididos de forma independiente. Esa mezcla concreta falló la comprobación de integridad. No permite estimar la tasa de fallo ni predecir qué hará cualquier otra mezcla. Las primeras palabras no demuestran la identidad de la billetera.

El rechazo por exceso de partes corresponde a una condición de entrada de esta función de recuperación: exige una selección con exactamente el número de partes que marca el umbral. No significa que conservar las tres impida recuperar el secreto. Las tres parejas posibles ya habían pasado la prueba.

El paquete para reproducir el experimento contiene una versión fija de la implementación oficial, las entradas y los resultados. Usa únicamente valores públicos y una generación de números de prueba que produce siempre la misma secuencia. Nunca uses sus partes para guardar fondos ni adaptes el programa para introducir palabras de recuperación reales. El README del proyecto original advierte expresamente que la implementación no incorpora las protecciones necesarias para manejar secretos sensibles. Ejecutarla sin conexión no la convierte en una herramienta segura para recuperar una billetera real.

En las pruebas oficiales comparamos los bytes del secreto maestro con los valores esperados; no probamos sus claves privadas extendidas BIP32. El experimento tampoco evalúa la compatibilidad entre dispositivos, la búsqueda de direcciones, la firma ni los procedimientos de recuperación realizados por personas.

Revisa el plan sin reunir los secretos
#

Un inventario útil registra qué condiciones has comprobado, sin recopilar las palabras de recuperación. La lista en blanco contiene campos de estado, no espacios para partes, passphrases, nombres ni direcciones de almacenamiento.

Revisa el formato y la compatibilidad de recuperación documentada; las partes y los grupos necesarios; si hace falta una passphrase separada; y si las copias anteriores siguen siendo válidas. Considera también si un solo incidente podría afectar a varios lugares de almacenamiento. Mantén el inventario en privado si su contenido puede revelar cómo organizas tu seguridad.

Sigue el procedimiento de comprobación documentado por el proveedor para ese producto. No borres material válido para completar la lista. Una prueba de restauración de archivos puede demostrar que los archivos guardados se pueden leer. No demuestra que contengan todo lo necesario para recuperar una billetera concreta.

Puntos clave
#

Preguntas sobre los resultados
#

¿Puedo combinar tarjetas si coinciden sus primeras palabras?
#

La coincidencia de las palabras iniciales solo permite una comprobación preliminar de los datos identificativos. No sustituye la validación completa de las partes, la reconstrucción correcta ni los requisitos de la billetera que quieres recuperar. Nuestra mezcla con el mismo prefijo pasó la decodificación, pero falló la comprobación de integridad durante la recuperación.

¿Debo desechar una parte porque el programa rechazó las tres?
#

No. Ese rechazo responde a una condición de entrada de la función probada. Las tres parejas posibles funcionaron. No es un motivo para desechar material de recuperación ni para suponer que la interfaz de un dispositivo se comporta igual.

¿Demuestra el experimento que mi plan de herencia funciona?
#

No. Comprueba datos públicos de prueba con una implementación. No determina quién podrá encontrar y utilizar el material, quién tendrá autoridad legal ni cómo se mantendrá el acceso después del fallecimiento del titular.

Fuentes y copias archivadas
#

FuenteOriginalCopia archivada
Especificación de SLIP39Original28 de septiembre de 2026
Firmware de Trezor: SLIP39Original21 de septiembre de 2026
Trezor: actualización a una copia de varias partesOriginal14 de agosto de 2026
Implementación de referencia: advertencia de seguridadOriginal12 de marzo de 2026

La copia archivada del repositorio respalda la advertencia sobre el uso de secretos sensibles. No conserva la versión exacta utilizada en el experimento. Esa versión y los valores de comprobación de sus archivos se incluyen en el paquete reproducible.