Dividir una semilla frente a multifirma: Shamir, SLIP-39 y SSKR comparados

·5 min de lectura·Por SSP Editorial Team
Portada de SSP Academy: dividir una semilla frente a multifirma

Dividir una semilla frente a multifirma: Shamir, SLIP-39 y SSKR comparados

«Hacen falta varias piezas para mover el dinero» describe dos configuraciones muy distintas. Una es una semilla dividida: un único secreto partido en fragmentos mediante el esquema de compartición de secretos de Shamir o un estándar basado en él, como SLIP-39 o SSKR. La otra es la multifirma: varias claves independientes, y es la propia blockchain la que se niega a mover los fondos si no firman suficientes.

Ambas reparten el riesgo, pero protegen frente a cosas diferentes, y confundirlas lleva a configuraciones más débiles de lo que parecen.

Cómo funciona el esquema de Shamir

El esquema de compartición de secretos de Shamir, publicado por Adi Shamir en 1979, divide un secreto en n fragmentos de forma que cualesquiera t de ellos pueden reconstruirlo, mientras que menos de t no revelan absolutamente nada. En una división 2 de 3, dos fragmentos cualesquiera recuperan el secreto, y un solo fragmento no le dice literalmente nada a un atacante.

Dos estándares de billeteras habituales se basan en él:

  • SLIP-39, de SatoshiLabs, codifica cada fragmento como una frase de 20 o 33 palabras y admite grupos (por ejemplo, «dos de mis tres fragmentos, o uno de mi familia y otro de mi abogado»). Es el que usa la copia de seguridad Shamir de Trezor.
  • SSKR (Sharded Secret Key Reconstruction), de Blockchain Commons, hace lo mismo con su propia codificación y lo usan algunos firmantes aislados de la red.

Los fragmentos SLIP-39 no son intercambiables con una frase BIP-39 normal. Las billeteras compatibles con SLIP-39 por lo general no pueden convertir una frase de 24 palabras ya existente en fragmentos; la copia de seguridad tiene que crearse así desde el principio.

La trampa: la clave vuelve a juntarse para firmar

Shamir es una técnica de copia de seguridad. Los fragmentos protegen el secreto mientras está guardado. Pero un fragmento no puede firmar nada. Para gastar, los fragmentos se combinan y se reconstruye la clave completa: en un solo dispositivo, de una sola pieza.

Eso significa que, en el momento de firmar, una billetera respaldada con Shamir es una billetera de clave única. Si ese dispositivo está comprometido, o si se coacciona a la persona que reconstruye la clave, la división no sirve de nada. A menudo la clave se reconstruye una vez y después vive en una sola billetera de hardware.

La multifirma funciona al revés. Cada firmante tiene su propia clave, generada por separado, y las claves nunca se juntan. Cada una firma en su propio dispositivo, y la blockchain comprueba que haya suficientes firmas válidas. No existe ningún momento en el que un dispositivo lo tenga todo. Billeteras MPC frente a multifirma trata un tercer enfoque, en el que las claves se dividen mediante criptografía en lugar de que la cadena imponga la regla.

No cortes tus 24 palabras en tercios

Una versión casera tentadora es escribir las primeras ocho palabras en una tarjeta, las ocho siguientes en otra y las últimas ocho en una tercera. Eso no es Shamir, y tiene dos problemas.

Primero, no es un esquema de umbral. Necesitas las tres piezas, así que perder cualquier tarjeta supone perder la billetera.

Segundo, cada pieza filtra parte del secreto. Cada palabra BIP-39 lleva 11 bits; una frase de 24 palabras contiene 256 bits de aleatoriedad más una suma de verificación de 8 bits. Una tarjeta de ocho palabras revela 88 de esos 256 bits. Quien tenga una tarjeta aún debe adivinar 168 bits, algo todavía fuera de alcance, pero quien tenga dos tarjetas solo debe adivinar 80 bits, muy por debajo del margen para el que se diseñó la frase. En una frase de 12 palabras (128 bits), dos de tres piezas de cuatro palabras dejan solo 40 bits, que se pueden obtener por fuerza bruta con hardware corriente.

Con un Shamir de verdad, un fragmento por debajo del umbral no filtra nada. Con una frase troceada, cada pieza facilita el trabajo del atacante. Si quieres dividir una semilla, usa un estándar adecuado; las buenas prácticas para la frase semilla cubren las opciones más habituales: copias en metal y ubicaciones separadas.

Ventajas e inconvenientes: visibilidad y cadenas

Cada enfoque tiene ventajas reales:

  • Huella en la cadena. Shamir es invisible en la cadena: la billetera se ve y se comporta como cualquier billetera de clave única, en todas las cadenas. La multifirma es visible: un gasto multifirma en Bitcoin revela su script, y en las cadenas basadas en cuentas la bóveda es un contrato inteligente o un programa que cualquiera puede inspeccionar.
  • Compatibilidad con cadenas. Shamir funciona con cualquier cadena que admita tu billetera, porque solo afecta a la copia de seguridad. La multifirma depende de cada cadena: Bitcoin usa scripts, las cadenas EVM usan cuentas de contrato inteligente, Solana usa un programa, y cada una tiene sus propias comisiones y límites.
  • Qué protege. Shamir protege la copia de seguridad frente a pérdida y robo. La multifirma protege cada transacción, porque ningún dispositivo puede firmar solo.

No son excluyentes; lo importante es saber qué riesgo cubre cada uno.

Dónde encaja SSP

SSP es una multifirma 2 de 2. SSP Wallet, la extensión del navegador, y SSP Key, la aplicación móvil, generan cada una su propia frase de recuperación de 24 palabras. En cadenas UTXO como Bitcoin, la dirección de la bóveda se construye a partir de un script multifirma 2 de 2 que contiene una clave pública de cada una, y cada transacción necesita ambas firmas. Las dos claves nunca se combinan en un mismo dispositivo.

SSP no implementa Shamir, SLIP-39 ni SSKR. Guardas dos frases normales de 24 palabras, y restaurar la bóveda desde cero requiere las dos, así que ambas copias importan por igual. 2 de 2 frente a 2 de 3 frente a M de N explica ese compromiso, y herencia y acceso de emergencia explica cómo asegurarte de que otra persona pueda recuperar los fondos si alguna vez lo necesita.

El resumen honesto

Dividir una semilla y usar multifirma requieren varias piezas, pero para momentos distintos. Los estándares basados en Shamir como SLIP-39 y SSKR protegen una copia de seguridad: los fragmentos por debajo del umbral no filtran nada, y la billetera sigue siendo invisible e independiente de la cadena. Pero la clave completa se reconstruye para firmar, así que la firma sigue teniendo un único punto de fallo. La multifirma mantiene claves separadas que nunca se juntan y hace que la cadena imponga la regla, a costa de ser visible y específica de cada cadena.

Evita trocear una frase a mano: necesita todas las piezas y cada una filtra bits del secreto. SSP usa multifirma 2 de 2 con dos frases de 24 palabras separadas y no ofrece división de semillas, así que guarda bien ambas copias.

Comparte este artículo

Artículos relacionados