¿Qué es MPC?
MPC, o Computación Multipartidaria, es un método criptográfico avanzado que permite que varias partes calculen conjuntamente un resultado a partir de sus respectivos datos sin revelar sus datos entre sí. En otras palabras, permite que varias partes colaboren en un cálculo utilizando sus datos sin revelarlos entre sí.
Origen y utilidad
Como subcampo de la criptografía, los orígenes del MPC se remontan a la década de 1970. A diferencia de las técnicas criptográficas tradicionales que tienen como objetivo proteger la información de un intruso, el MPC garantiza la confidencialidad de los datos entre los participantes dentro del mismo sistema.
Ilustración con un ejemplo sencillo de MPC
Imaginemos a tres trabajadores de la misma empresa que quieren saber cuál es su salario medio sin revelar cuánto gana cada uno. MPC utiliza una técnica llamada intercambio de secretos aditivos para dividir el secreto entre las partes. Así es como funciona:
División del Salario en 3 Fragmentos: Cada trabajador divide su salario en tres fragmentos.
Distribución de Fragmentos Entre Otros Trabajadores: Cada trabajador distribuye dos de sus tres fragmentos a los otros dos trabajadores, asegurando que las comunicaciones entre las partes permanezcan confidenciales.
Cálculo de las Sumas Individuales: Cada parte calcula la suma de los fragmentos que posee sumando los dos fragmentos que recibió al que conservó de su propio salario.
Cálculo de la Suma Total y el Promedio: Cada trabajador revela su suma individual y luego procede a calcular el promedio.
Gracias a este proceso, ningún trabajador conoce el salario individual de los demás. Un protocolo MPC sólido debería impedir que nadie engañe a los demás o comparta secretos que no debería revelar, incluso si algunos participantes no siguen las reglas.
Monedero MPC
MPC ahora se utiliza para proteger las billeteras de criptomonedas, lo que lleva al auge de las billeteras MPC. Por ejemplo: Binance Web3
Cómo funciona:
En la práctica, en lugar de almacenar una única clave privada, la clave se divide en múltiples fragmentos distribuidos entre varias partes. Cada parte utiliza su fragmento para firmar transacciones sin tener que volver a ensamblar la clave completa, lo que hace que sea mucho más difícil vulnerar la billetera.
Beneficios
Mayor privacidad: Los datos están cifrados en todas las partes del proceso y no es necesario confiar en terceros.
Mayor seguridad: elimina puntos únicos de falla. La clave secreta se distribuye entre múltiples partes y ubicaciones.
Más conveniente: puede mantener sus activos en línea. Ya no es necesario el almacenamiento fuera de línea.
Desventajas
Más lento: una mayor seguridad a menudo resulta en un rendimiento más lento porque requiere trabajo computacional adicional, especialmente al generar claves privadas y sus recursos compartidos secretos.
Costos más altos: compartir y computar datos entre múltiples partes (y a veces múltiples redes) puede aumentar significativamente los costos.