Con el objetivo de crear un nuevo esquema de funcionamiento centrado en la privacidad para la blockchain, MimbleWimble es un interesante protocolo que busca revolucionar la privacidad y la seguridad en el mundo de las criptomonedas.
Para garantizar altos niveles de privacidad en las transacciones que realizamos con criptomonedas falta una gran cantidad de criptografía. Que a su vez, demanda mucho espacio dentro de una blockchain, volviéndola más pesada y menos escalable. Esto es lo que ocurre con las criptomonedas conocidas como Bitcoin, Ethereum y Monero. Que aunque la última ofrece excelentes niveles de seguridad, la verdad es que lo hace añadiendo información extra que no guarda relación con las transacciones. Haciendo que sea casi imposible determinar cuál es la información real de la falsa.
Por ello, en el año 2016, una persona bajo el seudónimo de Tom Elvis Jedusor, quien usó el nombre en francés de Lord Voldermort de la serie de libros de Harry Potter, introdujo un nuevo protocolo blockchain denominado MimbleWimble. De hecho, el nombre MimbleWimble también está relacionado con el universo de Harry Potter. Este es el nombre de un conjuro de defensa que enreda la lengua de quien cae bajo su efecto impidiendo de esta forma que la persona pueda decir un conjuro.
El desarrollo de este nuevo protocolo, permite mejorar significativamente las condiciones de privacidad, escalabilidad y fungibilidad de las criptomonedas. No se trata del modelo tradicional de las transacciones en la cadena de bloques, sino más bien, de una implementación más compacta que hace más fáciles los procesos de descarga, repetidor y verificación.
¿Cómo funciona?
Una cadena de bloques que funciona bajo el protocolo MimbleWimble no contiene direcciones ni las transacciones particulares de cada usuario. Sino más bien que las agrupa y registre en una sola gran transacción. Que luego será validada y verificada sin contener detalles individuales.
Los datos como tal, sólo serán visibles para sus usuarios, mientras que un tercero sólo verá un conjunto de datos agrupados y aleatorios. Así, el protocolo MimbleWimble oculta los campos de las transacciones como la dirección pública del emisor, la dirección pública del receptor y el monto de la operación. Todos estos datos no están registrados dentro de la cadena de bloques como individuos. Esto le permite a la red un ahorro importante en cuanto a espacio de almacenamiento.
Las transacciones en MW provienen del desarrollo de las denominadas transacciones confidenciales. Estas le permiten a los usuarios cifrar la cantidad de monedas que están enviando, ocultando la información a cualquier observador externo a las transacciones. Por lo que, cuando se verifica una transacción en MW, sólo se observa una lista de entradas, salidas y la información de las firmas correspondientes, sin detalles particulares.
Las transacciones bajo este esquema serán validadas siempre y cuando la cantidad de entradas sea equivalente al número de salidas y la diferencia entre ambas sea igual a cero. Por lo que las únicas validaciones necesarias serán las de comprobar que no se han creado monedas nuevas de la nada, y que las partes vinculadas en la operación tienen la propiedad de sus claves. De igual forma, todo el proceso de validación se hace bajo el esquema de Pedersen. Que está orientado a la verificación de las operaciones sin que los mineros tengan acceso a los montos de las transacciones, así como a los datos de los usuarios.
Características de MimbleWimble
Una de las características más importantes del protocolo MimbleWimble es la conocida Cut Through. Esta es una función que permite que los bloques que contienen grandes cantidades de información, puedan ser comprimidos y gran parte de esa información pueda ser eliminada sin poner en riesgo la seguridad de la cadena de bloques.
También utilizando la función criptográfica CoinJoin, que opera como un mecanismo mediante el cual los pagos de varios usuarios se combinan entre sí. Esto con la finalidad de generar una sola transacción, y que se dificulte saber qué pago estaba destinado a qué receptor. Así, esta información sólo la podrá conocer las partes involucradas en la operación, pero no terceras personas.
Dandelion, la base del anonimato de MimbleWimble
Una de las partes importantes de MimbleWimble es sin duda alguna el protocolo Dandelion. Esta es una solución de privacidad y anonimato propuesta por Giulia Fanti. Su misión es la reducción de los riesgos y la probabilidad de detección del punto de origen de una transacción en una cadena de bloques. Para lograr esto, el protocolo Dandelion divide su proceso de privacidad en dos fases:
- Una primera fase que recibe el nombre de Stem Phase (Fase raíz). En esta fase, el punto inicial de la transacción envía la transacción a una serie de nodos elegidos al azar. De esta forma, cada vez que la transacción llega a un nodo, dicho nodo no puede reconocer si el anterior es el origen o solo un repetidor de esa transacción. Esto dificulta rastrear el origen de las transacciones.
- La segunda fase recibe el nombre de Fluff Phase (Fase Pelusa). En este punto, el protocolo Dandelion envía la transacción a todos los pares, usando el protocolo Gossip. El protocolo Gossip, es un transmisor de información que funciona de forma similar a como lo hacen las epidemias en comunidades meramente biológicas. La única diferencia en este punto es que el protocolo Gossip parte la información entre los nodos de la red que usan el protocolo MimbleWimble.
Adicional a esto, MimbleWimble usa un proceso conocido como “Compensación de transacciones”. Este es un truco que permite a MimbleWimble fusionar varias transacciones y mezclar irreversiblemente sus entradas y salidas. Con esto, incluso si un nodo a lo largo de la Stem Phase se determina como el origen de algunas transacciones, no sería posible determinar qué entradas y salidas ha contenido inicialmente. Una protección adicional que garantiza que bajo ninguna circunstancia se pueda saber con exactitud los datos de quién es exactamente el autor de una transacción específica.
Beneficios
En comparación con las blockchain de otras criptomonedas, MimbleWimble posee tres grandes beneficios. Los cuales son:
- Anónimo. Al no disponer ni registrar las direcciones públicas del emisor ni del receptor, es imposible rastrear el origen y destino de las operaciones y los fondos. Por lo que ningún usuario estará comprometido.
- Escalabilidad. Debido al poco espacio que requieren las transacciones dentro de los bloques de la cadena de bloques de MW, la arquitectura del protocolo es mucho más escalable en comparación con otras, por ejemplo Bitcoin.
- fungibilidad. Esta característica hace referencia a la capacidad que tiene una moneda de ser intercambiada por otra unidad sin perder su valor. Nuevamente, debido a la falta de registro de direcciones en la blockchain de MW, no se conocerá el origen de las monedas. Por lo que no pueden ser etiquetadas de forma negativa.
¿Qué criptomonedas utilizaron este protocolo?
La implementación del protocolo MW ha dado inicio a la creación de dos proyectos de criptomonedas, los cuales son Beam y Grin. La primera fue lanzada a finales de 2018, y cuenta con inversores privados que apoyan el proyecto. Por su parte, Grin salió al mercado a mediados de 2019; una criptomoneda nueva relativamente que es apoyada a través de donaciones y aportes de la comunidad de simpatizantes.
Beam está implementada en el lenguaje de programación C++, y emplea el protocolo de consenso de Proof of Work: Equihash. Mientras que Grin fue desarrollado en el lenguaje de Rust y aplica el protocolo de consenso de Proof of Work: Cuckoo Cycle. También es importante mencionar que estas criptomonedas son minables, pero por los momentos, resistentes a la minería con equipos ASIC.
Grin y Beam en comparación con otras criptomonedas como Monero, Zcash y Dash, ofrecen transacciones más rápidas, económicas y verdaderamente privadas. Por ejemplo, Dash es una criptomoneda centralizada, que si bien ofrece escalabilidad, no permite realizar operaciones completamente anónimas. Las transacciones con Zcash son lentas y costosas. Y Monero, como ya mencionamos, agrega datos falsos para confundir y hacer difícil el proceso de identificar la información real. Pero muchos investigadores concuerdan con que sus transacciones son en gran porcentaje rastreables.
Por ello, aunque Moreno, Zcash y Dash sean criptomonedas muy usadas en la actualidad, lo cierto es que sus cualidades podrían ser mejoradas con la implementación de un protocolo como MimbleWimble.
De la misma forma, este protocolo también puede ser implementado como un soft fork en la red Bitcoin al igual que lo fue Lightning Network. Lo que contribuiría con la escalabilidad de la red.
Posibles vulnerabilidades
Recientemente, la empresa de criptoseguridad DragonFly Research describió una falla de seguridad en el protocolo MimbleWimble que afecta a todas las criptomonedas que lo usan.
El problema descrito es inherente a MimbleWimble y ello significa que es difícil de solucionar. Pero de hecho, el problema es muy conocido dentro de la comunidad de desarrollo de MimbleWimble. El ataque descrito por DragonFly está bien documentado y ha sido muy discutido. De hecho, en Grin han reconocido con anterioridad la capacidad de vincular los resultados en cadena en un documento publicado en noviembre de 2018. El problema en ese entonces fue descrito como Flashlight Attack o Ataque de Linterna, por el desarrollador Ian Mier.
Si bien el ataque es posible, no pone en riesgo en ningún momento la privacidad de quienes realizan las transacciones. Datos como las direcciones, los montos, la dirección IP o datos adicionales de la transacción segura. En este punto, se puede concluir que, pese a que el fallo existe, no supone un riesgo para los usuarios de las criptomonedas que usan el protocolo.
El desarrollador de Grin, Daniel Lehnberg explica con mayor detalle todo lo relacionado con este fallo de seguridad en esta entrada.