Lo que tienes que saber del protocolo MimbleWimble

in #blockchain5 years ago

MimbleWimble es un protocolo de blockchain que se basa en la fungibilidad, privacidad y escalabilidad, lanzado en julio de 2016 en el canal de IRC bitcoin-wizards por el seudónimo Tom Elvis Jedusor. El documento propuso una nueva e interesante forma de combinar o mezclar transacciones para mejorar las características de privacidad en una cadena de bloques pública, es decir, evitar que la información pueda ser vista por ojos no autorizados. Su nombre se debe a un hechizo de Harry Potter que evita que las personas se cuenten secretos.

lentes harry potter.jpg

Imagen: Larm Rmah – Unsplash

El documento de Tom Elvis Jedusor se inspiró en un artículo publicado anónimamente en 2013, y en dos propuestas de privacidad, Confidential Transactions y CoinJoin, elaboradas por Gregory Maxwell, desarrollador de Bitcoin Core.

Lo que tienes que saber del protocolo MimbleWimble

El documento original de MimbleWimble hace referencia a la misma criptografía de curva elíptica (ECDSA, siglas en inglés) que usa Bitcoin, lo que despertó la atención de algunos investigadores de Bitcoin entre los que se encuentra Andrew Poelstra, criptógrafico y matemático de Blockstream, quien hizo mejoras al documento original de MimbleWimble y lanzó una versión mejorada en octubre de 2016.

La primera implementación de MimbleWimble

La primera implementación, Grin, que prácticamente se ha convertido en sinónimo de MimbleWimble, se lanzó pocos días después del documento publicado por Poelsta. El seudónimo Ignotus Peverell —el propietario original de la capa de invisibilidad de Harry Potter—, creó el proyecto ignopeverell / grin en GitHub, donde proveyó una implementación parcial del protocolo escrito en Rust, además de publicar su visión del espíritu del proyecto.

En marzo de 2017, Peverell publicó una introducción técnica a Grin y MimbleWimble, que sirve como referencia principal a la especificación del protocolo actual. Hasta la fecha, el proyecto aún es mantenido por un grupo de desarrolladores en su mayoría anónimos, varios de los cuales han tomado sus seudónimos de los personajes de Harry Potter —Luna Lovegood, Seamus Finnigan y Percy Weasley—. El primer testnet de Grin se lanzó en noviembre de 2017; al momento de escribir este artículo, el proyecto se encuentra en su testnet 4.

La segunda implementación de MimbleWimble

La segunda implementación, BEAM, es un proyecto que comenzó en marzo de 2018 y se anunció formalmente en el primer aniversario de la publicación original de MimbleWimble. BEAM se presentó en un documento técnico separado —junto con un nodo minero funcional y una billetera— adquiriendo una estructura más formal similar a la de Zcash, en diferencia con el carácter anárquico y abierto de Grin. El equipo de BEAM está dirigido por Alexander Zaidelson, un empresario israelí.

Con un equipo de administración e ingeniería definido y una constitución formal, BEAM adoptó un enfoque muy diferente para presentar una alternativa a Grin en el mercado. Además de crear la estructura formal en torno al proyecto, el equipo de BEAM hizo diferentes elecciones técnicas a Grin, incluidas las decisiones relacionadas con la política monetaria y el algoritmo de consenso. Este proyecto se lanzó a principios de enero de 2019.

Mejoras de MimbleWimble a la privacidad de las transacciones

Desde los primeros días de Bitcoin, la privacidad y la fungibilidad han sido las preocupaciones centrales de sus usuarios. Bitcoin ha visto muchos intentos de eliminar el pseudoanonimato a sus transacciones, del mismo modo, han surgido criptomonedas —Zcash y Monero, por ejemplo—. Por su parte, Bitcoin también ha visto mejoras significativas en cuanto a la privacidad y fungibilidad tanto en la capa de protocolo como en la capa de transacción.

Tanto Grin como BEAM utilizan el mismo modelo de salida de transacción no gastada (UTXO, siglas en inglés) que utiliza Bitcoin, en contraste con otras cadenas de bloques basadas en cuentas como Ethereum.

Imagen: Pixabay.com

Actualmente, Bitcoin revela tres secretos sobre cada una de las transacciones:

  1. Dirección del remitente
  2. Monto de la transacción
  3. Dirección del destinatario

En contraste, MimbleWimble realiza varios cambios en el modelo UTXO de Bitcoin para permitir transacciones privadas, basadas en Confidential Transactions y CoinJoin:

  1. No hay direcciones
  2. No hay montos
  3. Dos transacciones pueden ser combinadas en un bloque para formar solo una, eliminando toda la información intermedia

En lugar de las direcciones, las billeteras se comunican entre sí para intercambiar datos donde el emisor crea y envía una dirección al remitente. Solo los participantes pueden ver estos datos y la información no puede ser reutilizada por terceros.

Además, los bloques en la cadena de bloques no enumeran transacciones separadas, sino que se agregan en una sola transacción con entradas y salidas mixtas. Ver un bloque no proporcionaría información sobre una transacción específica.

El concepto de validación de transacciones sin conocer ninguno de los valores negociados se asemeja a las Pruebas de Cero Conocimiento (ZKP, siglas en inglés) y RingCT empleados por Zcash y Monero, respectivamente.

Para resumir, los nodos pueden verificar la autenticidad de las transacciones sin revelar los valores que se transfieren, no hay direcciones ni información identificable en una transacción.

Confidential Transactions

Los primeros dos componentes se basan en el uso de Confidential Transactions, una propuesta implementada en Blockstream Liquid, que es una cadena lateral de Bitcoin en producción que utiliza una técnica criptográfica llamada Esquema de Compromiso de Pederson para mejorar el modelo UTXO de Bitcoin. Gracias a Confidential Transaction, solo los participantes de una transacción pueden ver el monto de la misma. Sí, pero de inmediato surgen dos preguntas fundamentales:

  1. ¿Cómo los participantes del sistema pueden saber que una transacción es maliciosa?
  2. ¿Cómo se puede evitar el doble gasto?

El significado de «compromiso criptográfico» nos permitirá responder estas dos preguntas: «Estoy probando que sabía algo antes de 'hashearlo' porque no puedo revertir el hash para revelar lo que sabía». En Bitcoin, donde se utilizan funciones criptográficas simples de hash para realizar compromisos de transacción, la entrada, salida y montos de transacción son esenciales. Un compromiso de Pederson mejora esto al garantizar que la suma de las entradas y la suma de las salidas sean iguales. Las pruebas criptográficas que permiten esta certeza están más allá del alcance de este texto, sin embargo, se nos revela una idea clave: las entradas y las salidas pueden permanecer en secreto mientras la seguridad del sistema —que puede ser verificada ipso facto— permanece intacta.

Todas las implementaciones de MimbleWimble utilizan Confidential Transactions para garantizar que no haya direcciones o cantidades visibles en el sistema.

CoinJoin

En cuanto al numeral 3, mencionado anteriormente, este se explica mediante el uso de CoinJoin, también creado por Gregory Maxwell, y tiene que ver con el gráfico de las transacciones que ocurren en una red. Por un lado, Confidential Transactions, oculta la información de las transacciones, como vimos antes, el historial de una transacción contiene una importante cantidad de información que permite que alguien con suficientes recursos computacionales pueda visualizar e inferir con relativa facilidad las relaciones entre diferentes transacciones en una misma red. Empresas como Elliptic y Chainalysis utilizan esta forma de análisis forense para detectar fraudes y transacciones ilícitas —lavado de dinero, actividad en el mercado negro, por ejemplo—. En este sentido, debido a la trazabilidad de las transacciones de bitcoin a través del análisis de sus gráficos, es una pésima idea lavar activos utilizando esta criptomoneda.

A través del uso de CoinJoin, las entradas de múltiples usuarios se combinan en lo que se llama conjunto de anonimato y se mezclan para garantizar que el gráfico de las transacciones sea más difícil de rastrear.

Wasabi, una billetera de bitcoin, ha implementado CoinJoin para ofrecer privacidad a las transacciones de esta criptodivisa. Sin embargo, este intento no ha sido satisfactorio teniendo en cuenta que el conjunto de anonimato suele ser muy pequeño, con pocos participantes en cada transacción, siendo fácil rastrear y descubrir a los participantes.

Las implementaciones de MimbleWimble resuelven este problema haciendo de CoinJoin una parte central del protocolo, en lugar de una mejora de la privacidad de la capa de transacción implementada por billeteras y servicios de terceros, en MimbleWimble, todas las transacciones en cada bloque se contraen automáticamente en una sola transacción y la información intermedia se oculta.

Dandelion

¿Hay alguna otra manera de descubrir o rastrear el origen y destino de las transacciones? La respuesta es sí. Puede haber un punto de falla cuando los nodos de la red revelan las direcciones IP de origen. Cuando se realiza una transacción de bitcoin desde una billetera, esta se transmite a un conjunto de nodos, los cuales, a su vez, la transmiten rápidamente a otros nodos, estableciéndose una «red de chismes». Antes de que una transacción se consolide en un bloque, es posible rastrear las direcciones IP de las que se origina, teniendo en cuenta que las transacciones se transmiten por partes.

Imagen: Pixabay.com

MimbleWimble propone una solución a este inconveniente, originalmente diseñada para Bitcoin, llamada Dandelion, concebida por un equipo de investigadores de la Universidad de Illinois en Urbana-Champaign. Ha estado en discusión desde 2017 como una propuesta pública de mejora de Bitcoin.

El objetivo de Dandelion es «oscurecer» u «ofuscar» la dirección IP de una transacción de Bitcoin. Los pétalos de una flor de diente de león, Taraxacum officinale, poseen un solo tallo hasta que florecen completamente. De manera similar, con Dandelion, una transacción de Bitcoin se transmite a la red en dos fases: la fase «raíz» donde se oscurece u ofusca y la fase de «encrespado» donde se transmite. En primer lugar, la transacción se transmite a un solo nodo, luego se transmite a otro igual, y así hasta que haya suficientes saltos desde el interlocutor original; en ese momento, la transacción se transmite al resto de la «red de chismes».

La combinación de mejoras como Confidential Transactions, CoinJoin y Dandelion permiten que las implementaciones de MimbleWimble eliminen las ideas tradicionales como las direcciones: los compromisos asumidos por las personas que generan una transacción tienen el propósito de las claves públicas y privadas utilizada en Bitcoin para realizar una transacción. Esto permite que MimbleWimble ofrezca mejoras en la privacidad al ofrecer transacciones totalmente privadas.

En un mundo donde los sistemas de vigilancia tanto a nivel estatal como privado vienen haciéndose cada vez más intrusivos y sofisticados gracias a la implementación de tecnologías como la inteligencia artificial (IA), es indiscutible que la privacidad es importante a la hora de diseñar los sistemas monetarios del futuro. A pesar de que el uso de sistemas transaccionales privados no son del agrado de las autoridades —por obvias razones— y que, eventualmente, su utilización podría «manchar» la reputación de los que cumplen con la ley, el desarrollo de criptomonedas que ofrecen transacciones anónimas y privadas no deja de ser importante ya que, del mismo modo, los usuarios honestos que no tienen nada que esconder tienen a su disposición una herramienta tecnológica para proteger su patrimonio de los deshonestos. Se espera que este 2019 sea un año interesante para la privacidad.

avatar_jfbt_steemit_120x120.png
Juan Francisco Bolaños
@criptoEstratega
steemit_divider.png

Referencias:

  • Asolo, B. (18 de diciembre de 2018). Mimblewimble Explained. Recuperado de http://bit.ly/2FuRkix
  • Balaji, A. (9 de enero de 2019). MimbleWimble: History, Technology, and the Mining Industry. Recuperado de http://bit.ly/2FynGce
  • Curran, B. (16 de enero de 2019). What is Grin Coin & MimbleWimble? Complete Beginner's Guide. Recuperado de http://bit.ly/2FxmplE
  • O'Higgins, C. (18 de septiembre de 2018). Mimblewimble explained like you're 12 – Medium. Recuperado de http://bit.ly/2FHIX2b
    steemit_divider.png

Lecturas que vas a disfrutar

Una selección de mis mejores artículos:

Academia Blockchain

Academia Blockchain es una iniciativa que crea un espacio para la difusión y conocimiento de la cadena de bloques y las criptomonedas en Latinoamérica.
academiablockchain.jpg
Amigos, están cordialmente invitados a visitarnos en nuestros canales digitales:
Web | YouTube | Twitter | Facebook | Instagram | Telegram | Patreon | Steemit
steemit_divider.png

Compra en Amazon y paga con bitcoin

Compra lo que más te gusta en Amazon y paga con bitcoin y otras criptodivisas a través de Purse.io. Recibe descuentos del 5 al 15 % en tus compras. Regístrate aquí.
steemit_divider.png

Sort:  

Hola, este post ha sido propuesto para ser votado por Cervantes. Saludos

Congratulations @juanfb! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

You made more than 700 comments. Your next target is to reach 800 comments.

Click here to view your Board
If you no longer want to receive notifications, reply to this comment with the word STOP

To support your work, I also upvoted your post!

Support SteemitBoard's project! Vote for its witness and get one more award!


¡Felicidades, has recibido un voto del EmeeseeseTrail!

Si tu post ha sido publicado en steempress te llegará una ayuda extra gracias a la unión de trails: @steempress-io + @emeeseese ¡A seguir sumando! ;)

000.png

Para los que no lo conocen, pueden encontrar información en los siguientes links: