Que es un sistema de umbral de firma (TSS)?
Threshold Signature Scheme

Que es un sistema de umbral de firma (TSS)?

Fundamentos

El Esquema de Firma Umbral (TSS) es una primitiva criptográfica que permite la generación y firma de claves distribuidas. Su aplicación en clientes de blockchain puede ofrecer una amplia gama de beneficios, particularmente en el ámbito de la seguridad. Esta innovación también puede influir en el desarrollo de sistemas de gestión de claves, como las carteras de criptomonedas, e incluso abrir el camino para el soporte nativo en casos de uso de DeFi. Sin embargo, dado que aún es una tecnología nueva, es vital considerar las limitaciones y los posibles riesgos asociados con TSS.

Vamos a explorar el Esquema de Firma Umbral, definir sus posibles ventajas en el contexto de blockchain y detallar cómo puede integrarse en un cliente de blockchain. El artículo también comparará TSS con otras tecnologías criptográficas similares, como el reparto secreto de Shamir y Multisig. Además, discutirá las diversas formas en que TSS puede usarse para la gestión de claves distribuidas antes de concluir con una visión general de los riesgos y limitaciones asociados con esta tecnología.

El Poder de la Criptografía

Antes de profundizar en las complejidades del Esquema de Firma Umbral, es esencial tener una comprensión básica de la criptografía. Desde la década de 1970, la criptografía asimétrica, también conocida como criptografía de clave pública (PKC), se ha utilizado ampliamente en sistemas de internet como TLS y PGP. PKC utiliza dos claves: una pública y una privada. La clave pública puede usarse y publicarse libremente, mientras que la clave privada se mantiene confidencial para garantizar la seguridad.

PKC tiene dos usos principales: el cifrado y las firmas digitales. Ambas aplicaciones dependen de un conjunto de tres algoritmos. En primer lugar, se genera el par de claves privada y pública. En segundo lugar, se genera un texto cifrado/firma. Por último, se lleva a cabo el proceso de descifrado/verificación. En cuanto a las firmas digitales, el algoritmo de firma requiere la clave privada, conocida solo por el propietario, para producir una firma única que puede adjuntarse a un mensaje dado. Cualquiera que posea la clave pública puede entonces verificar la autenticidad y precisión de la firma.

Blockchain

La tecnología blockchain ha ganado una popularidad significativa debido a su capacidad para organizar y registrar eventos a través de una capa de consenso, que potencialmente puede usarse para establecer economías descentralizadas e incluso gobiernos. Las firmas digitales son la única forma de criptografía necesaria para ejecutar una blockchain básica. En el contexto de blockchain, las claves privadas actúan como identidades, mientras que las firmas sirven como declaraciones públicas o afirmaciones hechas por una identidad. La blockchain valida y ordena estas declaraciones según un conjunto de reglas, asegurando que las firmas sean infalsificables y precisas.

Las técnicas criptográficas modernas, como las pruebas de conocimiento cero, el cifrado homomórfico y la computación multipartita, han ampliado la gama de herramientas disponibles en criptografía. La investigación en blockchain ha contribuido significativamente a los avances en criptografía aplicada en la última década. Este artículo se centrará en uno de esos avances: las firmas umbrales eficientes y seguras.

MPC y el TSS

El esquema de firma umbral es un método que combina la generación distribuida de claves (DKG) y la firma distribuida en un esquema de firma umbral. La computación multipartita (MPC) es una rama de la criptografía que existe desde hace casi 40 años. Permite que partes que no confían entre sí calculen conjuntamente una función sobre sus entradas manteniendo esas entradas privadas. Por ejemplo, imagina a los empleados de una empresa que quieren saber quién recibe el salario más alto sin revelar sus salarios entre ellos. Con MPC, el cálculo se realiza de manera que ni siquiera un solo cheque de pago se filtre durante el cálculo. De manera distribuida, podemos usar MPC para calcular una firma digital. Hay tres pasos para crear una firma: generación de claves, firma y verificación.

En el primer paso, generamos una clave, que es pública y se utiliza para verificar futuras firmas, así como secretos individuales para cada parte, conocidos como participaciones secretas. Para mantener la privacidad y la corrección, la función debe producir la misma clave pública para todas las partes y una participación secreta diferente para cada una. El criterio de privacidad dicta que no se divulgue ningún dato de las participaciones secretas entre las partes, mientras que el criterio de corrección asegura que la clave pública sea una función de las participaciones secretas.

Para el segundo paso, cada parte usa su participación secreta para ingresarla en una función de generación de firmas y un mensaje conocido por todas las partes. El resultado de este paso es una firma digital, y la propiedad privada asegura que no se filtren participaciones secretas durante el cálculo.

El tercer paso implica un algoritmo de verificación que permanece igual que en el entorno clásico. Cualquiera que tenga conocimiento de la clave pública puede verificar y validar las firmas, haciéndolas compatibles con firmas de clave única.

En resumen, TSS es el nombre dado a esta combinación de generación distribuida de claves y firma distribuida en un esquema de firma umbral utilizando MPC.

Integración de TSS con Blockchains

Para incorporar la tecnología TSS en una blockchain, necesitamos modificar el cliente de blockchain para realizar cálculos distribuidos en lugar de comandos relacionados con la clave privada. En el diseño tradicional de blockchain, se crea una nueva dirección generando una clave privada, calculando la clave pública y luego derivando la dirección de blockchain a partir de la clave pública.

Con TSS, un grupo de partes puede calcular conjuntamente la clave pública, y cada una posee una participación secreta de la clave privada. La participación de cada parte permanece confidencial, haciendo que la clave privada sea una entidad distribuida. La blockchain permanece sin afectación. Este enfoque ofrece la ventaja de no tener un punto único de falla para la clave privada, ya que cada parte posee solo una parte de ella.

De manera similar, al firmar transacciones, una sola parte es reemplazada por una generación de firmas distribuida entre múltiples partes. Cada parte puede generar una firma válida si suficientes de ellas son honestas. Además, la generación distribuida de claves tiene la capacidad de manejar diversas estructuras de acceso. El ajuste "t de n" puede tolerar hasta t fallos arbitrarios sin afectar la seguridad.

TSS vs. Multisig

Esencialmente, multisig y TSS intentan lograr objetivos similares. Sin embargo, multisig ocurre en la cadena, mientras que TSS usa criptografía fuera de la cadena. Mientras que algunas blockchains tienen funcionalidad TSS como característica incorporada o programable, multisig es una capa de aplicación de la blockchain.

Un inconveniente de multisig es que la estructura de acceso se expone en la blockchain, lo que puede comprometer la privacidad. Además, las transacciones multisig son más costosas debido a la información sobre diferentes firmantes que debe comunicarse en la blockchain. Por el contrario, TSS incluye los detalles de los firmantes en una transacción de aspecto regular, reduciendo los costos y manteniendo la privacidad.

A pesar de la conveniencia de que multisig sea no interactivo, es específico de la blockchain y necesita ser reimplementado para cada blockchain, o a veces no es compatible en absoluto. TSS, sin embargo, se basa en criptografía, lo que lo hace universalmente compatible.

TSS vs. Shamir

Hay dos diferencias principales al comparar el esquema de reparto secreto de Shamir (SSSS) con TSS. Primero, en SSSS, hay una sola parte llamada "el distribuidor" que genera las participaciones secretas de la clave privada y luego las distribuye a diferentes ubicaciones. Esto significa que la clave privada se genera inicialmente en una sola ubicación y luego se distribuye, lo que resulta en un posible punto único de falla. En contraste, TSS no depende de un solo distribuidor. En su lugar, la generación de claves es distribuida, asegurando que la clave privada nunca esté en una sola ubicación.

En segundo lugar, en SSSS, las partes deben reconstruir la clave privada completa para firmar, creando otro posible punto único de falla cada vez que se necesita una firma. TSS maneja la firma de manera diferente, ejecutándola de manera distribuida sin reconstruir las participaciones secretas.

En resumen, TSS asegura que la clave privada nunca esté en una sola ubicación durante su vida útil, mientras que SSSS tiene un punto único de falla durante la generación y firma de claves.

Carteras Umbral

A diferencia de las carteras de criptomonedas tradicionales, una cartera basada en tecnología TSS opera de manera diferente. Normalmente, una cartera convencional genera una frase semilla para derivar direcciones de manera determinista. El usuario puede usar esta estructura determinista jerárquica (HD) para llegar a claves privadas que correspondan a direcciones de la cartera y firmar transacciones, así como recuperar todas las claves de la cartera usando la frase semilla.

Sin embargo, en una cartera umbral, las cosas son más complejas. Aunque es posible generar una estructura HD, su generación debe computarse de manera distribuida usando otro protocolo MPC. Las partes deben decidir conjuntamente la próxima clave a usar, y cada una tiene una frase semilla propia. Las frases semilla se generan por separado y nunca se combinan para que una sola parte no pueda derivar las claves privadas de su semilla.

Las carteras basadas en TSS ofrecen una característica de seguridad que permite la rotación de claves privadas sin cambiar la clave pública y la dirección de blockchain correspondiente. Esta característica, también conocida como reparto secreto proactivo, toma las participaciones secretas como entrada y genera un nuevo conjunto de participaciones secretas. Las participaciones secretas antiguas pueden eliminarse y las nuevas pueden usarse de la misma manera.

Esta estructura de seguridad de dimensión temporal dificulta que un atacante violar una cartera umbral. La combinación de participaciones secretas antes y después de la rotación no proporciona poder adicional a los atacantes que quieran falsificar una firma.

Sin embargo, una desventaja de este tipo de cartera es la falta de una frase semilla, lo que la hace incompatible con los sistemas de cartera de clave única. Es esencial considerar qué partes tendrán las participaciones secretas. Hay tres posibles arquitecturas:

  1. Externalizar TSS: El usuario permitirá que "n" servidores ejecuten el cálculo en su nombre, externalizando efectivamente la generación, gestión y firma de claves a proveedores de servicios. Sin embargo, los proveedores de servicios podrían coludirse y robar los activos del usuario.
  2. Usar múltiples dispositivos: El usuario ejecutará TSS entre sus propios dispositivos, como un dispositivo IoT, un teléfono móvil y una computadora portátil. Sin embargo, este método puede ser engorroso al realizar transacciones.
  3. Híbrido: TSS se ejecutará con algunas partes controladas por proveedores de servicios externos y algunas partes en dispositivos propiedad del usuario. Esta opción ofrece una manera fácil y rápida de realizar transacciones sin comprometer la seguridad.

En resumen, la tecnología TSS añade un nuevo nivel de seguridad a las carteras de criptomonedas, haciéndolas menos susceptibles a ataques. El enfoque híbrido se considera la mejor opción para los usuarios, ya que proporciona un equilibrio entre conveniencia y seguridad.

TSS y Contratos Inteligentes

Las firmas digitales tienen muchos usos que pueden ser desafiantes. TSS es una primitiva criptográfica que mejora la seguridad. La criptografía basada en TSS puede sustituir muchas funcionalidades en blockchains. Los intercambios atómicos, la herencia, las soluciones de escalado de capa 2 y las aplicaciones descentralizadas pueden construirse utilizando el marco TSS, reemplazando operaciones de contratos inteligentes en cadena costosas y peligrosas por alternativas confiables y más baratas. Multi-Hop Locks, que utilizan firmas de dos partes de manera ingeniosa, pueden ser un reemplazo de la red Lightning de Bitcoin para una red de canales de pago segura y privada. ShareLock, que se basa en la verificación de una única firma umbral, es probablemente la solución de mezcla en cadena más rentable para Ethereum.

Riesgos

A pesar de la creciente popularidad de las implementaciones de TSS en los últimos años, la tecnología aún tiene algunas limitaciones y preocupaciones como un campo relativamente nuevo. Si bien los protocolos TSS pueden mejorar la seguridad, también son mucho más complejos que la criptografía clásica de clave pública y aún no han sido sometidos a pruebas rigurosas. Además, TSS a menudo requiere suposiciones criptográficas más débiles que las configuraciones tradicionales, lo que lleva al descubrimiento de nuevos vectores de ataque. Sin embargo, los ingenieros de seguridad y los criptógrafos pueden ayudar a garantizar el despliegue seguro de TSS en su sistema. En una nota positiva, las contribuciones de calidad, las revisiones por pares, las auditorías y las mejoras en el rendimiento algorítmico contribuyen a implementaciones de TSS más sólidas.

Conclusión

En conclusión, el Esquema de Firma Umbral es una tecnología criptográfica innovadora que tiene el potencial de aportar una amplia gama de beneficios, particularmente en el ámbito de la seguridad blockchain. Su aplicación en clientes de blockchain puede revolucionar los sistemas de gestión de claves, como las carteras de criptomonedas, e incluso abrir el camino para el soporte nativo en casos de uso de DeFi. Sin embargo, aunque TSS ofrece varias ventajas, sigue siendo una tecnología nueva y es vital considerar sus limitaciones y posibles riesgos. Por lo tanto, es crucial mantenerse al día sobre los últimos desarrollos e investigaciones en TSS para tomar decisiones informadas sobre su implementación.

Threshold Signature Scheme
Threshold Wallet