Conoce que es una wallet o monedero MPC, uno de los medios para almacenar criptomonedas más seguros que existen en la actualidad.
La seguridad en el mundo de las criptomonedas es un tema que se toma muy seriamente, y una muestra de ello, es el desarrollo de las conocidas wallets o monederos MPC. Estos monederos son la unión de varias tecnologías enfocadas en ofrecer la mayor seguridad posible, seguridad de grado empresarial y militar, con el fin de resguardar criptomonedas de una forma que es virtualmente imposible extraer los mismos, sin los permisos necesarios para ello.
Pero ¿Qué es exactamente una MPC Wallet? ¿Qué es lo que los hace tan seguros? Estas y otras preguntas, serán contestadas en este artículo dedicado a conocer estos nuevos monederos de criptomonedas.
¿Qué es la computación multipartita o MPC?
Antes de avanzar hacia lo que es un monedero o wallet MPC, es bueno conocer primero qué es exactamente MPC o computación multipartita. MPC o Computación Multipartita, es un concepto de seguridad criptográfica. Uno creado con el fin de habilitar modelos de seguridad en la que varias partes son necesarias para acceder a los recursos de un sistema. Cada una de las partes mantiene una clave que, al unirse al resto, permiten desbloquear el acceso al sistema y controlarlo. Este control puede ser de forma completa o parcial, dependiendo del nivel de acceso otorgado.
El diseño de estos protocolos data de 1970, y han venido evolucionando hasta el punto que, en la actualidad, muchos de estos sistemas incluso se encuentran integrados en chips de computadoras, con el fin de ayudar a mantener la seguridad de sistemas informáticos.
Debido a sus grandes posibilidades, la comunidad cripto ha permanecido fuertemente interesada en este tipo de tecnología. De hecho, David Chaum en 1988, presentó un conocido trabajo bajo el nombre de “Protocolos multipartitas incondicionalmente seguros”. Por otro lado, Nick Szabo, en 1999 también presentó un conocido trabajo de nombre “Los protocolos de Dios”, explicando también las posibilidades de los MPC en el mundo de la informática y su uso en sistemas económicos y financieros. Esto nos ofrece una clara idea de la importancia de dichos protocolos, y su llegada al mundo de las criptomonedas.
Wallets MPC, seguridad llevada al extremo
Las wallets MPC o monederos de computación multipartita, que es el nombre completo de estos monederos, son una generación de monederos para criptomonedas y tokens que tiene como finalidad ofrecer los más altos estándares de seguridad tanto para individuos preocupados por la seguridad, como para las empresas, bancos y gobiernos que apuntan a convertir a las criptomonedas en un activo de relevancia para sus operaciones.
Básicamente, una wallet MPC es una wallet como cualquier otra, solo que las claves privadas y el control de las mismas se encuentra dividido entre varios dispositivos. Cada uno de estos dispositivos tiene bajo su control una llave que, al unirse al resto, habilitan el uso de los fondos dentro de dicho monedero. A simple vista, pareciera que habláramos de una wallet o monedero multifirma, y hasta cierto punto, la construcción de las wallets MPC es idéntica.
Esto con la excepción de que las wallets MPC incluyen otras mejoras, como el hecho de que los dispositivos de control pueden generar claves dinámicas de un solo uso y con expiración de tiempo, que al sumarse al del resto, habilitan el uso de los fondos. Además, las wallets MPC pueden usar esquemas como el común ECDSA, EdDSA, otros formatos de firmas más actualizados como las firmas de umbral (threshold signature), firmas Schnorr, u otros esquemas de seguridad adicionales.
Imagínalo por un segundo, un monedero unido a varios generadores de claves de un solo uso, que unidos te dan acceso a tus criptos. El hecho de que los generadores sean dinámicos y de un solo uso, garantiza que una clave jamás se repetirá, y si la secuencia no está completa, simplemente no podrás acceder a los fondos. Esto significa que si bien puedes acceder a un dispositivo y copiar el resto de claves del monedero, si dichas claves han expirado o han sido usadas, los fondos serán inaccesibles. Este nivel de seguridad permite crear barreras que difícilmente los hackers puedan romper, evitando episodios tan dolorosos como el hackeo de Mt Gox, o incluso la pérdida de acceso de QuadrigaCX.
Otro punto a favor de las wallets MPC, es que el mecanismo de control es aplicable a varias criptomonedas al mismo tiempo, simplificando de sobremanera la administración de seguridad de los tokens.
Integración entre hardware y software
Otro punto importante de las wallets MPC, es que estas pueden tener una mayor integración entre el hardware y el software que las compone. Por ejemplo, una wallet MPC puede ser un dispositivo aislado que puede sincronizarse con los dispositivos de firmas, y dicha sincronización se da por medio de un sistema criptográfico habilitado por módulos HSM (Hardware Security Modules), lo que haría prácticamente inalcanzable dichos fondos mediante un ataque online, y prácticamente invulnerable a hackeos de algún tipo. Si los dispositivos sincronizándose no son los esperados, simplemente la sincronización no se da, y se evita el acceso al dispositivo.
Por supuesto, esto es personalizable. Por ejemplo, en casos de emergencia, el monedero puede prepararse para realizar una “transacción de recuperación” que envía dichos fondos a un custodio seguro, con el fin de recuperar los saldos. Este caso, evitaría que, por ejemplo, tras el robo, extravío de llaves o dispositivos, los fondos queden retenidos de por vida en la wallet MPC, permitiendo su recuperación sin problemas.
Este tipo de integraciones y nuevas opciones, hacen de las wallets MPC mucho más seguras, que las wallets normales o incluso que las wallets multifirmas. Sin embargo, también las hace más costosas, y difíciles de manejar en ambientes de uso cotidiano, de allí, que este tipo de tecnología esté pensada para empresas, exchanges o personas que manejan grandes cantidades de criptomonedas y deseen la mayor seguridad para las mismas.
¿Cómo funciona una wallet MPC?
El funcionamiento de una wallet MPC depende mucho de su implementación y de los mecanismos de seguridad que estén activos en la misma. Sin embargo, de forma muy básica el funcionamiento de una wallet MPC, puede dividirse en tres partes:
Generación de claves
La generación de claves incluye todo el proceso de generación de claves privadas y públicas dentro del monedero. Pero también, el registro de las claves privadas y públicas de los dispositivos de liberación del monedero.
En tal sentido, los dispositivos de liberación, generan un par de claves públicas y privadas, que luego se unen al del resto de dispositivos, para generar con ellos la clave privada y pública del monedero MPC. Al igual que en una wallet multifirma, este esquema busca dividir el control del monedero para evitar que un hacker o actor malicioso pueda hacerse con el mismo de forma sencilla.
Adicionalmente, la generación de estas claves es dada por un protocolo muy específico, definido por la formulación matemática:
F(d1, d2, d3) = max(d1, d2, d3)
Esto significa que; cada uno de los participantes posee cada uno un dato privado (reconocidos como d1, d2, hasta dN). La inclusión de esos datos privados, permite que mediante el uso de una función pública llamada F. Con ella, se calcula el valor de los datos privados y se habilita el uso del monedero. El algoritmo en este caso, es el algoritmo elegido de firma criptográfica, que puede ser ECDSA, EdDSA, Schnorr, o cualquier otro compatible. Como resultado, la suma de esos datos privados, provee una certeza criptográfica necesaria para dar acceso al monedero.
Generación de direcciones
En este punto, los monederos MPC no difieren de los monederos que ya conocemos. La generación de claves públicas puede ser solicitada por alguna de las partes firmantes sin problemas. De esta forma, se puede recibir por medio de esa dirección los fondos deseados.
Esto es posible gracias a cómo funciona la criptografía asimétrica. La derivación de la clave pública es tan enrevesada, que hacer el proceso contrario es prácticamente imposible. Así que es seguro generar una clave pública para cada participante. Y, que de ella, puedan derivarse otras claves públicas que permitan asignación de fondos al monedero MPC. En tal sentido, el objetivo del monedero MPC, que es mantener el control de la clave privada dividido en varios dispositivos. Así, el control de los saldos dificilmente está en riesgo.
Acceso a los fondos
Al igual que el proceso de generación, el acceso a los fondos es posible solo si se cumplen las condiciones determinadas en la creación del monedero MPC. Si en la generación, se introdujeron tres dispositivos con datos privados, estos tres dispositivos deben estar presentes para el acceso al monedero.
En este punto, la protección de los dispositivos puede recaer en sistemas criptográficos, módulos de seguridad (HSM) u otras características de seguridad. Lo cierto, es que solo los dispositivos originalmente pareados, serán los únicos capaces de acceder al monedero MPC y controlar los fondos.
Monederos MPC en la actualidad
En la actualidad ya existen varias implementaciones funcionales de monedero MPC, que puedes usar en el mundo cripto.
El servicio Fireblocks, es uno de los que ofrecen monedero MPC para empresas que así lo requieran. Sepior, es otro servicio del mismo tipo y con finalidades bastante parecidas. Otro servicio bien conocido es Curv, que tiene quizás uno de los mayores servicios MPC en el mundo cripto.
Otra wallet MPC bien conocida y diseñada para uso personal es ZenGo, aunque esto con un poco de trampa, ya que no es una wallet MPC en el sentido estricto de la palabra. En su lugar, es un sistema bipartito en el que tu smartphone se comunica con los servidores de ZenGo. Así se comparte un un secreto y se habilita en conjunto la firma de transacciones para ser enviadas a la red. Un modelo más seguro que las wallets web, pero que aún tiene sus puntos débiles, sin embargo, no deja de ser una tecnología llamativa.
Si, por el contrario, te gusta experimentar, existe una implementación de software libre capaz de ayudarte con esto. Estamos hablando de Blockchain Crypto MPC, un proyecto iniciado por Unbound Tech, el cual te permite crear un servicio de MPC ajustado a tus necesidades.