Saltar al contenido
buybitcoinsmart

Glosario / Billeteras y custodia

Respaldo Shamir

También se conoce como SLIP39 o Reparto de secretos de Shamir.

¿Qué es el respaldo Shamir?
El respaldo Shamir divide un secreto de billetera en varias listas de palabras y exige cualquier número elegido de ellas para reconstruirlo, de modo que ninguna hoja de papel por sí sola basta.

Las matemáticas provienen del artículo de 1979 de Adi Shamir sobre cómo compartir un secreto, y la implementación en bitcoin es SLIP-39, publicada por SatoshiLabs. Una configuración de dos de tres produce tres listas de 20 palabras, dos cualesquiera de las cuales restauran la billetera, mientras que una sola de ellas no revela nada. Responde tanto al robo como a la pérdida con el mismo respaldo, algo que una sola frase no puede hacer.

Cómo funciona

El reparto por umbral no es cifrado ni consiste en trocear una frase en pedazos. El secreto se trata como un punto en un polinomio de un grado menos que el umbral, y cada parte es otro punto de esa curva. Dos puntos definen una recta, tres definen una parábola, y así sucesivamente, de modo que reunir el número umbral de partes reconstruye la curva y permite leer el valor original. Por debajo del umbral no hay ninguna información parcial en absoluto: con una parte de un esquema de dos de tres, cada secreto posible sigue siendo exactamente tan probable como antes, lo cual es una garantía más fuerte que "computationally hard".

SLIP-39 envuelve esa idea en un formato pensado para escribirse a mano. Su lista de palabras contiene 1.024 palabras en lugar de las 2.048 de BIP-39, cada una de entre cuatro y ocho letras e identificada de forma única por sus primeras cuatro. Una parte consta de 20 palabras para un secreto maestro de 128 bits y de 33 palabras para uno de 256 bits, y cada palabra aporta 10 bits, más datos de identificador, umbral y suma de comprobación para que una billetera sepa a qué grupo pertenece una parte. El esquema admite dos niveles: hasta 16 grupos, cada uno con hasta 16 partes, con un umbral tanto en los grupos como dentro de ellos.

Dos límites deciden si le conviene. La reconstrucción ocurre en un solo dispositivo y en un solo momento, así que ese dispositivo y ese momento constituyen un único punto de compromiso, sin importar con cuánto cuidado se hayan repartido las partes. Y SLIP-39 no es intercambiable con BIP-39: una frase existente de 12 o 24 palabras no puede convertirse en partes, y las partes no pueden escribirse en una billetera que solo entienda frases mnemónicas.

Dónde aparece

Trezor lanzó el respaldo Shamir en el Model T en el firmware 2.1.3 en agosto de 2019, añadió el "super Shamir" multigrupo en la 2.1.6 en octubre de ese mismo año, y sus dispositivos Safe actuales mantienen la función. El soporte en otros lugares es escaso, lo que constituye el argumento práctico más fuerte en su contra: su respaldo se restaura en el hardware de un solo fabricante o mediante la implementación de referencia de código abierto python-shamir-mnemonic, y en ningún otro sitio. Cualquiera que planee un respaldo pensado para durar una década debería sopesar eso frente a BIP-39, que toda billetera lee.

Las configuraciones donde se gana su lugar son geográficas y sociales. Partes repartidas en tres ciudades sobreviven a un incendio doméstico sin que ninguna ubicación por sí sola sea suficiente para un ladrón. Un esquema de tres de cinco repartido entre familiares y un abogado le da a una herencia una vía viable sin entregar a nadie control unilateral mientras usted vive. Ambos casos necesitan que el simulacro de recuperación se ensaye al menos una vez, porque un esquema por umbral falla en silencio: usted solo descubre que una parte está dañada cuando intenta usarla.

Si a usted le gusta la forma de la idea pero quiere un soporte de herramientas más amplio, codex32 es la otra opción que vale la pena conocer. Especificado como BIP-93, define un formato de parte cuya suma de comprobación puede verificarse a mano sobre papel, sin necesidad de ninguna computadora.

Respaldo Shamir frente a multisig

Shamir divide un secreto; el multisig usa varias claves genuinamente independientes. Esa única diferencia determina todo lo demás. Las partes de Shamir deben reunirse en una máquina para poder gastar, así que un atacante que sorprenda ese momento se lo lleva todo, mientras que las firmas del multisig se producen en dispositivos separados y las claves nunca se encuentran. El multisig es visible en la cadena, cuesta más en comisiones de transacción, y necesita que su descriptor de billetera se respalde junto con las semillas. Shamir es invisible para todos, no cuesta nada extra al gastar, y no añade ninguna complejidad on-chain. Para la herencia y la protección contra incendios, Shamir es más simple. Para protegerse contra un dispositivo comprometido o un único participante deshonesto, el multisig es el que realmente ayuda.

No confundir con

Preguntas frecuentes

¿Puedo convertir mis 24 palabras existentes en partes Shamir?

No. SLIP-39 y BIP-39 son formatos separados con listas de palabras distintas, así que un mnemónico existente no se puede dividir en partes. Pasarse a Shamir implica crear una billetera nueva en un dispositivo que lo admita y transferir las monedas.

¿Es mejor el respaldo Shamir que simplemente esconder dos copias de mi frase semilla?

Es mejor frente al robo y no es peor frente a la pérdida. Cada una de las dos copias escondidas contiene el secreto completo, así que a un ladrón le basta con encontrar cualquiera de ellas. En una configuración Shamir de dos de tres, una sola parte encontrada no revela absolutamente nada.

Para seguir leyendo

Términos relacionados

Más en la sección Billeteras y custodia

Leer esta página en inglés