A medida que las criptomonedas crecen en adopción y valor, asegurar los fondos de manera eficiente se ha vuelto un desafío técnico que debemos tener en cuenta. La necesidad de proteger estos activos ha impulsado el desarrollo de diferentes tecnologías y métodos de custodia.
En artículos anteriores discutimos soluciones para la gestión de claves privadas como las wallets de firma única (single-signature) y las multifirma (multi-signature), que distribuyen la responsabilidad de las transacciones entre múltiples firmantes. También abordamos multisig2, en Bitcoin, una mejora que utiliza firmas Schnorr en lugar de firmas ECDSA tradicionales, ofreciendo mayor flexibilidad y seguridad.
Hoy seguimos profundizando en soluciones para proteger nuestros fondos, analizando una de las tecnologías más avanzadas y prometedoras en el ámbito de la seguridad criptográfica: Multiparty Computation (MPC).
¿Qué es la multiparty computation (MPC) y cómo funciona?
La Multiparty Computation (MPC) es una subdisciplina de la criptografía que surgió en la década de los 70, y su objetivo es permitir que varias partes realicen cálculos conjuntos sin compartir información privada entre ellas. En el contexto de las wallets de criptomonedas, MPC distribuye la clave privada en fragmentos cifrados llamados shares, que son necesarios para autorizar transacciones, por lo que ningún participante por sí solo puede reconstruir la clave completa.
Una gran diferencia con las wallets multisig es que, mientras que en multisig se generan múltiples claves privadas independientes, en MPC se fragmenta una única clave. Esto mejora la seguridad, ya que los fragmentos pueden distribuirse entre varios dispositivos, lo que dificulta su vulneración.
Proceso de una transacción en una wallet MPC
El proceso de una transacción en una wallet MPC involucra los siguiente pasos:
- Inicio de la transacción: El usuario inicia una transacción desde su dispositivo.
- Generación de un número aleatorio: La wallet genera un número aleatorio cifrado con un fragmento de la clave privada.
- Desencriptación del número: El usuario desencripta ese número utilizando su fragmento de clave privada.
- Firma de la transacción: El usuario utiliza el número desencriptado para firmar la transacción.
- Combinación de firmas: La wallet combina las firmas de todos los participantes para generar una única firma válida.
- Difusión en la blockchain: Finalmente, la transacción firmada se envía a la blockchain para su confirmación.
Este proceso garantiza que múltiples participantes colaboren en la transacción sin exponer sus claves privadas completas, eliminando puntos únicos de fallo.
Elementos técnicos de la multiparty computation
Las wallets MPC emplean varias técnicas criptográficas avanzadas:
- Cálculo seguro entre múltiples partes (MPC): Un algoritmo que permite a varias partes realizar cálculos conjuntos sin revelar sus datos privados. Es la base para asegurar que ninguna parte tenga acceso a la clave completa.
- Encriptación y técnicas de seguridad criptográfica: Dependiendo del diseño de la wallet MPC, se pueden utilizar técnicas avanzadas como circuitos garbled de Yao para asegurar la privacidad y seguridad de los cálculos.
Estas técnicas aseguran que una wallet MPC opere de forma segura sin comprometer las partes de la clave, lo cual es determinante para entornos corporativos donde se necesita control compartido de activos.
Ventajas de las wallets MPC
Las wallets MPC ofrecen varias ventajas:
- Mayor seguridad: La clave privada nunca se reconstruye completamente, eliminando puntos únicos de vulnerabilidad.
- No depende del protocolo blockchain: Dado que las operaciones de MPC ocurren fuera de la cadena, no dependen de un protocolo blockchain específico.
- Distribución más eficiente: Al no tener que registrar cada firma en la blockchain, las transacciones pueden ser más rápidas y eficientes.
- Reducción del riesgo de ataques: Al no compartir ni combinar los fragmentos de la clave, el riesgo de robo o ataques directos a la clave se reduce considerablemente.
- Flexibilidad: Se puede ajustar dinámicamente el número de participantes autorizados para firmar transacciones.
- Privacidad mejorada: Las firmas de los participantes no se registran en la blockchain, mejorando la privacidad.
Desventajas de las wallets MPC
A pesar de sus ventajas, las wallets MPC también presentan algunas desventajas:
- Complejidad técnica: Configurar y usar una wallet MPC es mucho más complejo que una wallet de firma única o multisig, lo que puede desincentivar su adopción entre usuarios menos técnicos. El reconocido criptógrafo Adam Back expresó en enero de 2023 una preocupación relevante sobre este aspecto:
“[MPC is] more complicated, more to get wrong. Advanced crypto protocols are fragile in the detail and in the implementation. I’d feel more confident in multisig, which is super simple and rock solid.” — Post by renowned cryptographer Adam Back, January 2023.
- Falta de estandarización: Existen varios protocolos MPC, pero aún no hay un estándar ampliamente aceptado. Esto puede generar problemas de compatibilidad entre diferentes implementaciones.
- Superficie de ataque ampliada: La mayor complejidad técnica también implica una mayor superficie de ataque. Aunque las wallets MPC son más seguras en teoría, requieren implementaciones cuidadosamente auditadas y probadas para evitar vulnerabilidades.
Threshold Signature Schemes (TSS) en wallets MPC
Las wallets MPC que utilizan Threshold Signature Schemes (TSS), o esquemas de firma por umbral, permiten tanto la generación distribuida de claves como su rotación. En el proceso de Distributed Key Generation, DKG, las claves se generan colaborativamente, sin que ninguna parte tenga acceso completo a la clave privada.
Una ventaja importante del TSS es la posibilidad de rotar las claves privadas sin cambiar la clave pública ni la dirección en la blockchain, mediante un proceso llamado intercambio proactivo de secretos. Esto agrega seguridad adicional, ya que incluso si una parte se ve comprometida, las antiguas partes pueden reemplazarse sin exponer la clave completa. Un atacante necesitaría comprometer varias partes al mismo tiempo para vulnerar el sistema.
Conclusión: ¿Es la multiparty computation el futuro de las wallets?
Las wallets MPC ofrecen una seguridad colaborativa y privada que las posiciona como una tecnología fundamental en la protección de activos digitales. La descentralización del proceso de firma y la protección de claves privadas las convierte en una solución robusta frente a otras tecnologías.
Sin embargo, la complejidad técnica y la falta de estandarización siguen siendo barreras para su adopción masiva. A medida que estos desafíos se superen, MPC podría convertirse en el estándar de facto para la seguridad de criptomonedas, tanto en entornos corporativos como para usuarios avanzados.
En el próximo artículo, exploraremos el Threshold Signature Scheme (TSS), explicando cómo un umbral de participantes puede generar firmas sin necesidad de reconstruir la clave privada. TSS es una evolución del esquema multifirma, pero con mejores propiedades, aunque su implementación puede ser más compleja. ¡No te lo pierdas!
En Block&Capital, nos esforzamos por crear un entorno donde el crecimiento y el éxito sean accesibles para todos. Si estás listo para impulsar tu carrera profesional, te animamos a unirte a nosotros.
Últimos posts