Mimblewimble Protocol - Crypto Academy / S4W2 - Homework Post for Professor @fredquantum

in hive-108451 •  3 years ago 
Saludos estimados amigos de la #CryptoAcademy.

Todos sabemos que redes como Bitcoin son públicas y cualquier persona puede rastrear las monedas hasta su origen, algo que no necesariamente es bueno, porque muchos prefieren mantener en privado sus operaciones, es por ello que el profesor @fredquantum nos ha mostrado un protocolo que lleva la privacidad a otro nivel, a la vez que potencia la escalabilidad de las criptomonedas. Se trata del Protocolo Mimblewimble, y comparto con ustedes mi investigación sobre el tema.

presentacion MW.jpg
Diseño propio elaborado en PowerPoint, contiene una imagen de dominio público.

sep avanz.png

1. En detalle, explique su comprensión del protocolo Mimblewimble.

Como todos sabemos, para mantener la seguridad y privacidad de las transacciones que se realizan mediante la Blockchain, son necesarias muchas operaciones criptográficas, que en la mayoría de los casos, como ocurre con las criptomonedas más populares como Bitcoin y Ethereum, requieren de mucho poder de cómputo, lo que vuelve lentas a estas redes y limitan su escalabilidad. En algunos casos incluso, las redes logran altos niveles de seguridad incluyendo datos que no están vinculados con las transacciones.

Entonces, para dar una solución a este problema, y potenciar la escalabilidad de las redes Blockchain aumentando a la vez la privacidad de las mismas, en 2016 Tom Elvis Jedusor, pseudonimo derivado del nombre en francés de Lord Voldermort, personaje de los libros de Harry Potter, introduce un nuevo protocolo denominado MimbleWimble, un nombre que también se deriva de esta serie de libros, siendo un hechizo defensivo que enreda la lengua de la víctima para prevenir que hable de un tema o para evitar que el enemigo contraataque impidiéndole pronunciar un conjuro. Un nombre apropiado para este protocolo cuyo propósito es ocultar la información relativa a las transacciones realizadas en una red Blockchain.

En este sentido, una red que trabaje utilizando este protocolo no contiene direcciones ni transacciones que se puedan relacionar con un usuario en específico, en su lugar, agrupa todas las transacciones individuales en una sola gran transacción que luego es verificada y validada, pero sin contener los detalles de los detalles de la transacción de cada usuario.

En el caso de Bitcoin, las direcciones y los montos de cada transacción forman parte de la información agregada a cada bloque, mientras que con MimbleWimble se agregan transacciones confidenciales mediante un mecanismo de fusión de transacciones en una sola gran transacción que no registra direcciones ni los montos individuales de cada transacción.

Imagen1.jpg
Principio de anonimato de MimbleWimble. Fuente: imagen elaborada en PowerPoint

Esto permite que un tercero solo vea un grupo de datos agrupados, ya que los detalles solo serán visibles para el remitente y receptor de una transacción, y a la vez le permite a la red ahorrar una gran cantidad de espacio de almacenamiento, ya que es un sistema más compacto que la forma tradicional de operar las transacciones en una blockchain, facilitando la descarga y verificación, haciendo que la red que implemente este sistema sea muy privada y con mejores condiciones de escalabilidad.

sep avanz.png

2. Discuta en detalle cómo funciona el protocolo blockchain de Mimblewimble.

Como ya hemos señalado, el protocolo MimbleWimble mejora la privacidad de la red y ahorra espacio al no contener información sobre las transacciones individuales, es decir, no hace visible datos como direcciones públicas del emisor y receptor y montos de cada operación. Esto se produce gracias a la implementación de las llamadas transacciones confidenciales, las cuales permiten a los usuarios cifrar sus operaciones, ocultando los detalles de cualquier observador no involucrado en la transacción.

La forma de validar estas transacciones es verificando que la cantidad de entradas corresponda con el número de salidas, sin que los mineros tengan acceso a los detalles individuales, siendo verificado únicamente que no han desaparecido o aparecido nuevas monedas.

Todo esto es posible gracias a dos características principales del protocolo MimbleWimble, una es la función denominada “Cut Through” lo que permite que los bloques con grandes volúmenes de datos puedan ser comprimidos, desechando una gran parte de esos datos sin poner en riesgo la seguridad de la red. Y la otra es la función criptográfica “CoinJoin” en la que básicamente las transacciones de varios usuarios se acumulan en un bloque, y luego esas transacciones se agregan una sola gran transacción, sin que se pueda establecer que pago se hizo a que receptor.

Imagen2.jpg
Cuando varias transaciones se agregan a un bloque es imposible determinar quién le pago a quién. Imagen elaborada en PowerPoint.

Otra técnica de defensa importante que utiliza el protocolo MimbleWimble para garantizar el anonimato es el protocolo “Dandelion”, cuyo propósito es impedir el posible rastreo de una transacción hasta su punto de origen. Para ello el protocolo Dandelion se divide en dos procesos:

  • Stem Phase: durante esta fase el nodo donde se origina la transacción la envía a una serie de nodos al azar, quienes no pueden determinar si el nodo que la trasmite es el punto de origen o solo un repetidor de la información.
  • Fluff Phase: después de varios saltos aleatorios, en esta fase el protocolo Dandelion difunde la información entre los nodos de la red.

giphy.gif
Esquema general del protocolo Dandelion. Imagen elaborada con giphy.com.

Por otro lado, al igual que Bitcoin, MimbleWimble también fundamente el cifrado de sus claves mediante la criptografía de curva elíptica, la cual se basa en ecuaciones matemáticas que permiten satisfacer un conjunto de puntos que se distribuyen sobre una curva elíptica. Es decir, sobre esta curva un número asignado al azar se toma como punto de origen, y a partir de este se genera otro número aleatorio que representara la clave privada.

Imagen3.jpg
Esquema general de intersección de dos puntos sobre una curva eliptica. Imagen elaborada en PowerPoint.

Una forma sencilla de explicarlo es que la clave privada es un número elegido al azar entre el conjunto de datos que satisfacen la curva, y mediante una operación matemática se obtiene un segundo punto sobre la curva que representa la clave pública, así, la clave pública se genera a partir de la privada pero el algoritmo no permite realizar el proceso inverso.

De esta forma esta red proporciona no solo la seguridad de las claves y las operaciones, sino también mayor privacidad y anonimato en comparación con la red de Bitcoin.

sep avanz.png

3. Analice en detalle su comprensión de las transacciones confidenciales (CT).

Esto es un protocolo implementado para mejorar las condiciones de privacidad en las redes Blockchain.

En una red como la de Bitcoin, donde la transparencia y la descentralización son sus principales cualidades, la privacidad puede ser un problema, ya que prácticamente el usuario que origina una transacción la grita a todo el ecosistema, ya que cuando comunica su transacción a sus pares rápidamente se difunde a través de la red, y por lo tanto, se pueden realizar búsquedas y vincular transacciones y direcciones, unas con otras.

En cambio, mediante la aplicación de este protocolo de Transacciones Confidenciales (CT) se pueden cifrar las transacciones realizadas en una determinada red, con la finalidad de que la información del emisor y receptor, así como los montos de cada transacción sean invisibles, aunque si puedan verificarse y validarse dichas operaciones en la red.

La idea fue propuesta por Adam Back en 2013 y reforzada luego por Gregory Maxwell, los cuales plantearon como solución al problema de privacidad que presentaba Bitcoin utilizar cifrados homomórficos en lugar de cantidades explícitas en las transacciones, y ocultar así los detalles de cada transacción.

Por ejemplo, en una red como Monero, que utiliza el protocolo CT los datos relacionados con las transacciones son mezclados y cifrados utilizando operaciones criptográficas complejas. Y para que los datos puedan ser verificados sin dar a conocer los detalles a todos los usuarios de la red, se emplea un mecanismo de cifrado que permite, por un lado, realizar transacciones sin utilizar direcciones, y además, verificarlas mediante un mecanismo que no permite extraer los detalles o alguna información útil de la transacción.

A dicho esquema de cifrado se le conoce como “Pedersen Commitment”, y mediante este esquema se utilizan las denominadas firmas ciegas en lugar de las direcciones para realizar una operación de intercambio de datos, de este modo, la información sobre una transacción solo es entendible por las partes involucradas en la misma, y cualquier observador externo solo vería información cifrada imposible de entender.

Esto se logra generando un Hash para realizar un envío de datos que se puede revelar en un tiempo futuro, así, cualquier persona puede generar un Hash cuya entrada no se puede identificar más que por la persona que lo ha generado, y además, se agregan datos aleatorios que ofuscan la información, haciendo resistente el Hash a una operación de reducción.

De esta forma, por ejemplo, si una persona desea enviar una cantidad de Bitcoin, puede encriptar esa cantidad utilizando estos factores de ocultamiento, los cuales se comparten solo con los que intervienen en la operación, luego, utilizando esta tecnología y el mismo factor de ocultamiento, un nodo puede verificar las cantidades encriptadas del lado del emisor y la cantidad encriptada del lado del receptor, confirmando que la transacción es real y que no aparecieron monedas de la nada.

sep avanz.png

4. ¿Cómo cree que se puede utilizar el protocolo Mimblewimble en la red Bitcoin para permitir el anonimato de las transacciones y mejorar la escalabilidad?

Como señale anteriormente, cuando en la red de Bitcoin un usuario genera una transacción básicamente lo declara a gritos en toda la red, ya que se transmite rápidamente por toda la red P2P, y cualquier persona puede revisar la Blockchain de Bitcoin y asociar las transacciones con sus direcciones. Veamos el siguiente ejemplo, al ingresar al explorador Blockchain.com podemos encontrar mucha información relacionada con los bloques minados).

Imagen4.jpg
Imformación de los últimos bloques creados en la red Bitcoin. Fuente: Blockchain.com podemos encontrar mucha información relacionada con los bloques minados).

Por ejemplo, si seleccionamos el bloque recientemente creado podremos observar todos los detalles de las transacciones registradas en este bloque, incluyendo el monto y la dirección a la que fueron enviados. Veamos en la siguiente imagen los datos registrados en el bloque 700993.

Imagen5.jpg
Algunos detalles del bloque 700993. Fuente: Blockchain.com podemos encontrar mucha información relacionada con los bloques minados).

Esto puede conducir a un escenario donde algunos Bitcoin pueden perder su fungibilidad si se les asocia con actividades ilícitas, ya que es muy posible rastrear e identificar las transacciones vinculadas a hechos ilegales, y “marcar” tantos sus direcciones de origen como las monedas que pasan por ellas, lo que le restaría valor a esas monedas. O por utilizar otro ejemplo, quizás un gobernante o alguna organización pueda marcar y restarle valor a los Bitcoin que no sean minados con energía renovable.

Cuando lo vemos de esta manera podremos entender que la falta de privacidad es un riesgo tanto para la seguridad como para la fungibilidad de las monedas, por lo que la red de Bitcoin se podría beneficiar del protocolo Mimblewimble para permitir el completo anonimato pero al mismo tiempo garantizar la verificación de las operaciones y evitar el doble gasto.

Veamos que nos muestra el explorador de Mimblewimble.

Imagen6.jpg
Información de los bloques creados en MimbleWimble. Fuente: Mimblewimble.

Si seleccionamos el reciente bloque creado podemos ver la siguiente información.

Imagen7.jpg
Algunos detalles del bloque 952754. Fuente: Mimblewimble.

Como podemos observar, al seleccionar este bloque solo podemos observar información relacionada con el mismo, como el Hash, el bloque previo, el número de confirmaciones, la fecha, entre otros; pero no muestra direcciones ni montos, y solo se nos muestra una salida.

Entonces, como podemos ver, el protocolo Mimblewimble acumula y agrupa todas las transacciones en una única gran transacción que se registra en cada bloque, ahorrando mucho espacio de almacenamiento en la red, si nos fijamos, el bloque analizado en el explorador Mimblewimble tiene un tamaño de 5204 kb que si lo comparamos con los 1500,9 kb del bloque de Bitcoin analizado nos daremos cuenta del gran ahorro de recursos, que pueden ser utilizados para mejorar la escalabilidad de la red.

Por todo ello podemos decir que si Bitcoin pudiera incluir un mecanismo similar, para implementar transacciones confidenciales, modificando su código como un soft fork, se podría evitar los problemas que genera el exceso de transparencia. Aunque sería un paso arriesgado y complejo, ya que si esta implementación aumenta el tamaño de las transacciones podría agravar los problemas de escalado, por el tamaño limitado que tienen los bloques. Otra manera de implementar este protocolo es mediante una cadena lateral, como la propuesta Liquid de Blockstream, la cual implementó las transacciones confidenciales entre sus características, para potenciar la privacidad y velocidad de su blockchain, la cual opera en paralelo con la blockchain de Bitcoin.

sep avanz.png

5. Indique los pros y los contras del protocolo Mimblewimble.

Entre los aspectos positivos y negativos de este protocolo podemos mencionar:

Ventajas

  • Como ya hemos visto, al no quedar registro de las transacciones individuales no es posible relacionarlas con las direcciones del emisor y el receptor de la operación. Esto brinda protección completa de la identidad de cada uno y sus movimientos en la red, es decir, proporciona completo anonimato.
  • Al no poder rastrear el origen de las monedas es imposible que algunas de ellas sean marcadas como “sucias” o vinculadas a hechos delictivos, por lo que no perderían valor y seguirían siendo intercambiadas sin problemas, garantizando así la fungibilidad de las mismas.
  • Gracias al poco espacio que ocupan las transacciones dentro de los bloques de la red, las redes que implementan el protocolo MimbleWimble son potencialmente más escalables en comparación con Bitcoin.

Desventajas

  • Un inconveniente que leí en Medium.com sobre las monedas que implementan este protocolo, es que los nodos necesitan estar en línea para finalizar las transacciones, ambas partes deben mostrar su dirección IP lo cual no siempre es posible, dejando espacio para los ataques.
  • Otro inconveniente es el fallo de seguridad detectado por la empresa DragonFly Research y que afecta a las criptomonedas que implementan este protocolo. Según el reporte de esta empresa de criptoseguridad, el protocolo es vulnerable a la vinculabilidad, que si bien este ataque no determina el monto pagado por una persona, si puede determinar “quien paga a quien” ya que el protocolo aún deja un rastro de transacciones vinculables.
  • Si el exceso de transparencia es un problema, quizás el total anonimato también lo sea, sobre todo porque gobiernos y organizaciones podrían ver con malos ojos esta situación, y seguir atacando el sistema criptográfico, acusándolo de proteger las transacciones derivadas de actividades ilícitas y buscando aplicar mayor número de regulaciones para tratar de controlar este sistema financiero. Pudiendo desatar una guerra contra las monedas de privacidad como sucedió con Monero.

sep avanz.png

6. Discuta en detalle al menos un Crypto que usa el protocolo Mimblewimble.

El desarrollo e implementación de este protocolo dio origen a dos proyectos de monedas privadas particulares, aunque con economías concebidas de forma diferente, estos son Beam y Grin, la primera moneda fue lanzada en 2018 y es apoyada por inversores privados, mientras que la segunda salió en 2019 y en gran medida su desarrollo depende del apoyo de su comunidad. Litcoin también anunció haber completado en marzo de 2021 el código Mimblewimble, según reseño la Fundación Litecoin, desde hace un año han venido trabajando en su implementación. Pero vamos describir con más detalle uno de estos proyectos.

GRIN

Esta moneda llamó mucho la atención por su enfoque de anonimato mediante la implementación del protocolo Mimblewimble y por su esquema de trabajo peculiar. Siendo de las primeras en cambiar el enfoque tradicional de las criptomonedas y mediante el diseño de una blockchain de código abierto totalmente anónima.

GRIN.jpg
Imagen tomada de grin.mw.

Al igual que el protocolo en el cual se basó, fue diseñada de forma anonima, su creador se dio a conocer utilizando el pseudónimo de Ignotus Peverell, otros desarrolladores que apoyan el proyecto también se mantienen en el anonimato, por lo que no tiene un CEO ni cuenta con un equipo de trabajo oficial.

Entre otras características podemos citar que Grin utiliza un tipo de algoritmo de consenso denominado Cuckoo Cycle, programado en lenguaje Rust, una especie de algoritmo de Prueba de Trabajo (PoW) pero que no permite la minería mediante los sistemas ASIC, por lo que promueve la minería con equipos más accesibles, y la generación de un bloque toma 1 minuto. Por lo mencionado antes, es totalmente descentralizada, no hay individuo o empresa detrás que la controle, y se distribuye bajo el principio de equidad, a razón de una moneda por segundo. No puede servir como reserva de valor como Bitcoin, ya que no tiene límite de suministro y es únicamente transaccional, su blockchain no está diseñada para soportar contratos inteligentes.

Según Coinmarketcap, para el momento de esta publicación, la moneda GRIN tiene un valor de $0,3415, se ubica en el puesto 674 del ranking de las monedas más capitalizadas con una capitalización de mercado de $28,528,806 con un suministro de 84,036,600.00 monedas GRIN.

Imagen8.jpg
Datos de mercado de Grin. Fuente: Coinmarketcap.

Sin duda un proyecto muy interesante, con un alto nivel de privacidad gracias al protocolo Mimblewimble, por lo que no revela los detalles de las transacciones, y además, es altamente escalable, ahorra mucho espacio en su blockchain haciendo que esta escale en función del número de usuarios y no en base al número de transacciones.

sep avanz.png

Conclusión

El protocolo MimbleWimble, el cual debe su nombre a un hechizo sacado de la saga de Harry Potter, sin duda resuelve el problema de exceso de transparencia que ofrecen las criptomonedas tradicionales como Bitcoin, que a pesar de ser la transparencia una de sus virtudes, la falta de privacidad puede conducir a que algunas de sus monedas sean vetadas si se considera que han sido utilizadas para malos fines.

Mientras que las monedas basadas en Mimblewimble proporcionan gran privacidad en las transacciones, algo que quizás sea una ventaja para las personas que valoran el anonimato. Aunque este completo anonimato puede que también sea mal visto por las organizaciones tradicionales y gobiernos, que pudieran aumentar las imposiciones sobre este tipo de monedas.

Este protocolo también resuelve el problema de escalado que presenta Bitcoin, ya que acumular las transacciones en una sola gran transacción y desechar la información que relaciona las direcciones con las transacciones le ahorra mucho espacio a la red.

Por otro lado, aunque se ha detectado en el protocolo un fallo de seguridad, que permite a un atacante motivado llegar a vencer las defensas del protocolo y vincular los pagos, aunque no los montos de las transacciones, el mecanismo aún es más seguro que el sistema tradicional bajo el que fueron concebidas la mayoría de las criptomonedas. Sin embargo, este protocolo se puede combinar con otro que resuelva este problema, algo como lo presentado con Ethereum 9¾, en el que se combina el sistema de compromiso-nulidad de ZCash y el protocolo MimbleWimble para ocultar el flujo de las monedas.


Bueno amigos, espero que las respuestas sean de su agrado, y agradezco al profesor @fredquantum por presentarnos este tema y hacernos profundizar en este protocolo que promueve el anonimato en la blockchain. Hasta la próxima!

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

You've got a free upvote from witness fuli.
Peace & Love!

Loading...