El Protocolo Mimblewimble - Crypto Academy / S4W2 - Homework Post for [@fredquantum]

in hive-108451 •  3 years ago  (edited)

En el sistema bancario y monetario tradicional, los bancos, permiten a sus usuarios y clientes privacidad en cuanto al hecho de que, generalmente, solo el banco, y las personas implicadas en las transacciones, conocen los datos de las operaciones y la información básica personal de las mismas.

Con el surgimiento de la blockchain y las criptomonedas, la privacidad comenzó a cobrar, por primera vez en la historia de la humanidad, un papel esencialmente distinto en las transacciones y operaciones que se ejecutan; porque empezaron a ser posibles transacciones en las que se podía prescindir de la data personal de los usuarios. Es decir, porque por primera vez empezaron a ser posibles transacciones donde esencialemente, no es necesaria la información básica personal de los participantes, es decir, ya no era necesario saber nombre, número de documento de identidad, ni otros datos de las personas involucradas en las transacciones para poder realizarlas. Con la tecnología blockchain y Bitcoin encabezando las criptomonedas importantes, quedarían públicas solo tres cosas durante las transacciones: la dirección del remitente, la dirección del que recibe y la cantidad de fondos enviados.

Además, con Bitcoin y las criptomonedas que funcionan bajo ese mismo esquema, las transacciones y fondos disponibles dentro de cada wallet o dirección son consultables, y no solo eso, sino que se puede rastrear el origen de los fondos a nivel de direcciones. La tecnología blokchain y la criptomonedas ya otorgaban privacidad en torno al hecho de que las transacciones podían ejecutarse de manera anónima, así que el siguiente paso en la evolución tenía que ser un sistema, protocolo o tecnología que viniese ahora a otorgar privacidad a la parte relativa al resto de la información de las transacciones. Era necesario un protocolo que llevara el sistema blockchain al siguiente nivel y es allí, en ese escenario y circunstancia, cuando surgió el Mimblewimble Protocol.

imagen.png
Imagen creada por mí

Tarea

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

Mimblewimble surgió en el año 2016, fruto de un anónimo Tom Elvis Jedusor que (tal como Satoshi Nakamoto en el caso de Bitcoin), no sabemos quien es, ni si se trataba de una persona o de un grupo de personas. El caso es que alguien (una persona o grupo de personas) sacaron a la luz este proyecto para entonces, a través de la forma de un documento técnico que fue llevado a la luz por desarrolladores diversos en el camino.

Mimblewimble es una tecnología blockchain de funcionamiento diferente a lo que el mundo está usualmente acostumbrado, en el sentido de que mejora cosas fundamentales que aún son materia pendiente en el caso de la mayoría de las criptomonedas de la actualidad (especialmente en el caso de Bitcoin y de la mayoría de las demás criptomonedas). Es decir, Mimblewimble es un protocolo que busca implementarse o integrarse a nivel de desarrollo en proyectos blockchain a fin de mejorar las características o atributos de los mismos en temas tales como escalabilidad y privacidad, principalmente hablando.

Porque a diferencia de lo que mucha gente piensa o entiende acerca del tema, Mimblewimble (que por cierto, tiene un nombre que deriva directamente de la saga de películas de Harry Potter), no es una cadena de bloques per sé, sino un protocolo de cadena de bloques que puede ser implementado para mejorar exponencialmente el desempeño de blockchains existentes o nuevas que tengan como meta superar los usuales problemas en torno a la privacidad y escalabilidad en su funcionamiento y desenvolvimiento.

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

El protocolo Mimblewimble funciona al mixear o mezclar las transacciones que se realizan en una blockchain en la forma de una gran transacción. Cada transacción realizada con el protocolo Mimblewimble, mantiene oculta o invisible la dirección del remitente y el receptor de los fondos, y lo que es aún más, también invisibiliza la cantidad de fondos enviados para cualquier persona que sea ajena a la misma.

Lo mencionado significa que los únicos que pueden ver los datos de una transacción (tales como dirección del remitente, del receptor y cantidad enviada), son los participantes de la misma, es decir, el emisor y el receptor. Si una persona ajena a la transacción desea visualizar la misma, no podrá saber exactamente esos detalles, porque el protocolo blockchain Mimblewimble, funciona a través de logaritmos que hacen precisamente la función de volver confusa dicha información para personas ajenas a las transacciones.

Como mencioné hace un rato, la forma en que lo logra es a través de la mezcla de los datos de los participantes de la transacción y el registro y verificación de la información vital para que se ejecute la misma, sin registrar datos de dirección ni de cantidad de fondos. Para ponerlo a través de un ejemplo, en un sistema basado en el protocolo Mimblewimble, si Paola transfiere determinada cantidad de fondos criptográficos a George, los únicos que podrán ver la dirección de Paola y la de George y la cantidad de fondos enviados, serán Paola y George nada más; pero nadie ajeno podrá verla, ni ver de dónde provienen los fondos que Paola le envió a George de ninguna forma. Es más, para ser más precisos, ni siquiera el propio George podrá ver desde que direcciones provienen los fondos que posee Paola en su Wallet, sino solo la dirección de Paola en el momento de la transacción.

Si Paola tiene fondos suficientes, el sistema de Mimblewimble se encargará de verificarlo y confirmarlos adecuadamente a través del sistema de Inputs y Outputs, para que esta se ejecute apropiadamente, pero sin exponer los datos a nadie jamás. Es así como la tecnología del protocolo Mimblewimble evita el doble gasto, la exposición innecesaria, y aligera el funcionamiento del sistema, al hacer que en los bloques solo esté registrada y de forma pública, solo la información básica esencial, sin exponer direcciones ni cantidades.

Con Mimblewimble, cualquier persona puede saber que una transacción se ejecutó, pero no sabrá desde exactamente qué dirección salió, ni hacia dónde llegó, ni tampoco tendrá idea de la cantidad exacta, porque con su sistema, el protocolo evita la rastreabilidad básica que es característica de la mayoría de las criptomonedas conocidas. Y es que Mimblewimble posee factores de cegamiento a nivel del remitente durante una transacción, y de la misma manera, el destinatario o receptor de los fondos de dicha transacción debe seleccionar durante la misma, un determinado rango de esos factores.

Cabe resaltar que dicha selección de rango funciona de manera aleatoria, fungiendo esto como una prueba de propiedad, puesto que solo el remitente y el receptor saben a ciencia cierta el resultado de esa combinación o multiplicación logarítmica que ocurre durante este proceso, de manera tal que todo este proceso funciona, no solo desde el aspecto de ocultamiento de la transacción para cualquier otra persona ajena a ella, sino que además, sirve también para confirmar o validar la transacción (cuestión que ocurre más rápidamente debido al menor volumen de datos que se manejan y almacenan en el proceso).

La validación ocurre de manera tal, porque en Mimblewimble, además del ocultamiento de las direcciones implicadas en la transacción, la cantidad transferida se camufla o vuelve exponencialmente distinta para los observadores por los mencionados factores de cegamiento. Lo que significa que si, transfiero una cantidad de 10 unidades de una criptomoneda usando el protocolo Mimblewimble, en el registro lucirá una cantidad exponencialmente diferente y mayor que las 10 unidades que realmente estoy enviando; dado que solo la persona a la que el envíe los fondos y yo mismo, podremos saber realmente y ver que lo que se transfirió durante la transacción, fueron efectivamente solo 10 unidades de criptomoneda.

Esta facultad de Mimblewimble de ocultar los datos básicos de envío y cantidad de fondos de una transacción, sucede gracias a la tecnología Coinjoin, que hace gala de los Compromisos de Pedersen (que explicaré en el siguiente punto), y de los factores de rango o pruebas de rango.

Básicamente, Mimblewimble vuelve indescifrable la información de las transacciones, lo que le confiere enorme nivel de privacidad, seguridad, escalabilidad y ligereza del sistema. Si accedemos a una blockchain basada en Mimblewimble, se puede saber toda vez que una transacción haya ocurrido, pero no podrán descifrarse los demás datos mencionados. Lo que se verifica a través de las transacciones por parte del sistema, son la cantidad de outputs, e inputs, y las firmas, de esta manera, se evita el doble gasto y otras posibles vulnerabilidades o contingencias que pudiesen ocurrir en el curso de las transacciones.

Recalco una vez más, en el protocolo Mimblewimble, los fondos enviados, la dirección de envío y la del receptor de una transacción, son solo visibles para los participantes de dicha transacción, no para terceros que deseen consultarlas.

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

Las transacciones confidenciales (CT), pertenecen al Protocolo Criptográfico de Conocimiento Cero, ideado, y desarrollado con la mera finalidad de que las operaciones y transacciones blockchain posean y garanticen la privacidad y el anonimato de las partes implicadas en las mismas.

Al emplear el sistema conocido como "Pedersen Commitment", las transacciones CT hacen precisamente eso, al ocultar la data de las transacciones, mediante un sistema o modo de funcionamiento que permite que las transacciones se realicen, sin necesidad de utilizar o exponer direcciones específicas.

¿Pero cómo es posible realizar transacciones sin utilizar direcciones?

Para ello, en vez de direcciones, el esquema o sistema Pedersen Commitment, emplea lo que se conoce como "firmas ciegas". Dichas firmas ciegas serán la base de la relación transaccional entre emisor y receptor durante el proceso, que, de manera exclusiva y primordial, lo que hace es que nadie externo pueda conocer (por más que quiera o lo intente), la información relativa a la transacción.

Los factores de cegamiento

Los factores de cegamiento implicados en las transacciones CT, no son más que mecanismos de datos aleatorios empleados con el único propósito de volver prácticamente indescifrables los hashes de las mismas. Al hacer los hashes indescifrables (o al menos, muy difíciles de descifrar), las transacciones son confidenciales, y la información solo queda cognoscible entre las partes a las que realmente les concierne la misma, es decir, a los actores participantes de la transacción.

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?

Los desarrolladores de aplicaciones y protocolos para la red de Bitcoin ya han hecho en el pasado, esfuerzos por alivianar las cargas de datos y funcionamiento en su blockchain y hacerlas así más rápidas y escalables, tal como se puede ver a través de Lighning Network, y también, a través de la Segwit Bitcoin Network; pero el principal problema en torno a Bitcoin (que también limita enormemente su escalabilidad), viene dado por la trazabilidad de las transacciones, es decir, por esa característica inherente de tener que comprobar y registrar paso por paso de principio a fin, las direcciones y el origen de los fondos mismos durante las transacciones.

Este esquema de funcionamiento complica sobremanera la verificación de las transacciones y junto con el registro en la blockchain de cada rastro y pieza de información a cada paso, hace que el proceso de una transferencia de BTC sea excesivamente lento. Y lo que es peor, esto se traduce no solo en transacciones más lentas, sino también, más costosas, porque los mineros cobran mayores fees conforme más difíciles de comprobar son las transacciones, debido a los requerimientos computacionales y de energía eléctrica implicados en el proceso mismo de la verificación.

Por si fuera poco, entonces, todas las transacciones que se realizan en la red de Bitcoin son de carácter público; lo que significa que cualquiera puede saber las direcciones de envío y recepción de fondos, la cantidad de fondos transferidos y la procedencia total (en cuanto a direcciones) de dichos fondos criptográficos. Sí, es cierto que en Bitcoin las transacciones continuan siendo anónimas en el sentido de que no es posible saber a través de su blockchain los datos personales de las personas implicadas en las transacciones, pero casi todo lo demás, es un libro abierto para cualquier persona que desee consultarlo por el motivo que sea.

Ya con este nivel de rastreabilidad, aunque parezca increíble, se crea una vulnerabilidad que hackers informáticos y personas muy diestras en materia de ingeniería social, pueden utilizar para conocer más datos acerca de las personas, partiendo de cosas básicas como las direccines Ip y otros factores.

Implementación de Mimblewimble en la red Bitcoin

Con Mimblewimble en cambio, se le podría conferir a la red Bitcoin todas las características inherentes de este protocolo, haciendo que sean más seguras, anónimas y privadas; lo que también traería como consecuencia positiva que las transacciones sean más rápidas, y las comisiones o fees de las mismas sean menos costosas.

A través de un esquema de funcionamiento basado en Mimblewimble, Bitcoin podría hacer que las transacciones fuesen más rápidas mediante la reducción de la data que se guarda en los bloques de información, haciendo que solo se guarde y quede de manera pública el hecho de que ha ocurrido una transacción, pero cubriendo y camuflando a través de factores de cegamiento y el Compromiso de Pedersen, las direcciones específicas y las cantidades transferidas.

Hay que reconocer que actualmente, un mecanismo de funcionamiento así en Bitcoin, sería un poco dificil de implementar en un sentido esencial, dadas todas las características y complejidades de la red de Bitcoin y el actual esquema de las cosas, pero no sería imposible, más si tomamos en cuenta que Mimblewimble funciona con Coinjoin, lo cual constituye una gran ventaja en muchos sentidos.

Desde mi particular punto de vista, Sidechane sería teoricamente la solución más óptima de implementación para el protocolo Mimblewimble dentro de la red de Bitcoin, pero si esto llega a pasar en un futuro o no, está por verse.

¿Pero cómo es que Mimblewimble existe desde 2016 y a pesar de todas sus bondades no ha sido implementado aún en la red de Bitcoin?

De hecho, la realidad es que han habido algunos intentos por integrar el protocolo Mimblewimble al funcionamiento de la red de Bitcoin en el pasado, uno de ellos fue la billetera Wasabi , pero no ha tenido mucho éxito hasta ahora debido a la baja participación o interés de la gente.

Si hay pocos participantes en cualquier iniciativa de este tipo, aún con todas las características y ventajas del protocolo Mimblewimble, la cuestión no tendrá éxito, porque las dificultades de rastreo que le son propias, se vuelven menos complicadas de descifrar en tales casos. En líneas generales, para que Mimblewimble se implemente exitosamente en la red de Bitcoin, debe existir consenso; y deben haber desarrolladores dispuestos a crear más aplicaciones, y además, deben tener un equipo de gente detrás que realice un excelente nivel de marketing para expongan y expliquen al público cripto en general, todas las grandes bondades del protocolo, de ser posible, hasta dando pequeños incentivos económicos a los usuarios para que la masificación suceda con mayor celeridad.

Porque el problema fundamental aquí es que faltan proyectos y usuarios, es decir, falta mayor conocimiento del protocolo por parte de desarrolladores de aplicaciones y proyectos, y a su vez, falta mayor conocimiento de las bondades del protocolo por parte de los potenciales usuarios, a fin de que exista mayor cantidad de personas interesadas en usar los proyectos con estas características. Pero una cosa genera la otra, es decir, es algo bastante relativo, porque cuanta mayor cantidad de personas interesadas en esta tecnología existan, generaría a su vez mayor cantidad de desarrolladores de proyectos y proyectos en sí mismos, y a su vez mayor uso de los mismos.

5. Indique los pros y los contras del protocolo Mimblewimble

El Protocolo Mimblewimble tiene varias ventajas y desventajas; en ese sentido, empecemos hablando de las ventajas:

Ventajas:

a. Garantiza el anonimato y hace imposible o muy difícil el rastreo de cualquier información sensible o importante por parte de factores externos a las transacciones.

Debido a que no hay direcciones durante las transacciones, simplemente las wallets se conectan y realizan los reconocimientos y las verificaciones pertinentes para que se puedan ejecutar las mismas, lo que hace no queden expuestas las direcciones correspondientes. Además, esta condición también viene dada por el hecho de que los bloques de las cadenas basadas en el Protocolo Mimblewimble solo registran transacciones en la forma de entradas y salidas mixtas, cosa que hace imposible o sumamente engorroso de descifrar lo que ha pasado a nivel esencial por parte de terceras partes.

b. Rapidez de las transacciones

Debido a que no hay registro excesivo de datos, sino que los bloques solo registran información referente a entradas y salidas (inputs y outputs), la celeridad de las transacciones es mayor.

c. Menores fees

El hecho de que las transacciones sean más rápidas, viene dado porque requieren menor nivel de cotejo en las verificaciones, lo que reduce exponencialmente el tiempo necesario de verificación y ejecución de dichas transacciones; y eso a su vez permite que las comisiones o fees de las mismas sean considerablemente más bajas.

d. Mayor seguridad

Gracias al mencionado factor del anonimato, que garantiza la confidencialidad de las transacciones, y al, también mencionado, factor de la rapidez de las transacciones, existe mayor seguridad para los usuarios de criptomonedas y proyectos basados en el Protocolo Mimblewimble, ya que debido a dichas características, se reduce exponencialmente el riesgo de que alguien (sea factor interno o externo) pueda interceptar o atacar por fuerza bruta las direcciones o partes implicadas en una transacción.

e. Borra transacciones antiguas en la blockchain cada cierto tiempo

En el proceso de simplificación en el manejo de la data verificada, el Protocolo Mimblewimble está programado para eliminar data antigua e innecesaria en la blockchain.

f. Requiere menos recursos

A la hora de verificar las transacciones, por las características inherentes al protocolo, Mimblewimble requiere de menos recursos computacionales para realizar las verificaciones respectivas necesarias.

g. Ahorro a nivel de consumo eléctrico

Al requerir de menos recursos computacionales, a través del Protocolo Mimblewimble, disminuye también el nivel de consumo eléctrico requerido para realizar las verificaciones de las transacciones.

Ahora vamos con las desventajas del Protocolo Mimblewinble (la verdad es que veo pocas desventajas en el protocolo, pero aquí vamos):

Desventajas:

a. Pocos proyectos desarrollados basados en el protocolo

Lo que hace imposible o complicada su expansión y más difícil su exposición al público; y también dificulta el conocimiento del protocolo por parte de los potenciales usarios.

b. Poco conocimiento por parte de la gente acerca de las bondades de este protocolo

Lo que genera poco interés, y pocos usuarios potenciales en un primer momento para cualquier cosa desarrollada con dicho protocolo.

c. Riesgo ante los ataques con computadores cuánticos

Debido a su manera de interacción con las firmas digitales, técnicamente, los proyectos desarrollados bajo el Protocolo Mimblewimble serían susceptibles de ataques con computadores cuánticos. Es una vulnerabilidad potencial que los desarrolladores actuales tendrían que considerar y tratar de superar con algún otro mecanismo adicional; pero al menos de momento, las computadoras cuánticas no son tan fáciles de poseer (debido a sus enormes costos) y nivel de desarrollo.

d. El protocolo siempre tendrá detractores

Porque al no haber forma de auditar nada desde el punto de vista de terceras personas (por su enormemente seguro mecanismo y esquema de funcionamiento a nivel de blockchain), será siempre objeto de dudas y de críticas innecesarias por parte de quienes quieran hurgar más a fondo en las transacciones de los demás, tales como gobiernos, y determinados particulares. Aunque es verdad que esto no perjudica a Mimblewimble en un nivel profundo, puede jugarle en contra, al haber factores generando desinformación o dudas respecto a todo esto en los potenciales usuarios.

6. Discuta en detalle al menos una Criptomoneda que usa el protocolo Mimblewimble.

Una de las criptomonedas que actualmente usa el protocolo Mimblewimble es Beam.

Para empezar, hablemos de lo que podemos apreciar respecto a esta criptomoneda en Coinmarketcap

imagen.png
Imagen de la interfaz de Coinmarketcap

Como pueden apreciar, la criptomoneda Beam vale en este preciso momento, 0,7049$ y posee un mercado de capitalización de 68.431.719$, debido a esto, Bean se ubica en el puesto número 485 en el ranking de las criptomonedas de mayor capitalización mundial.

Y si bajamos un poco más en la ventana de información que nos muestra Coinmarketcap respecto esta criptomoneda, veremos lo siguiente:

imagen.png
Imagen de la interfaz de Coinmarketcap

Como ven, Beam posee un suministro máximo a emitir de 262.800.000 de unidades, lo que significa que solo existirá ese máximo total de unidades; de las cuales (tal como podemos apreciar también en Coinmarketcap), solo hay una cantidad emitida de 97.080.040 unidades actualmente.

¿Qué es la criptomoneda Beam?

Beam es una criptomoneda desarrollada con el protocolo Mimblewimble, y el CEO de este proyecto es Alexander Zaidelson.

La criptomoneda Beam fue desarrollada como un proyecto sin ánimo de lucro, y una red de código abierto, que tiene entre sus características versatilidad, escalabilidad, seguridad, rapidez y bajas fees.

Beam es una criptomoneda desarrollada bajo el lenguaje de programación C++ desde 0, cuya blockchain funciona de modo tal que las transacciones son confidenciales y seguras, puesto que no se almacenan en bloques de información las direcciones ni las cantidadades transadas, sino que funciona en base a un complejo mecanismo o sistema logarítmico matemático que hace que se comprueben los inputs y los outputs de cada transacción en el momento y en función de ello se puedan verificar las mismas adecuadamente.

En Beam, tal como en cualquier proyecto basado en el protocolo Mimblewimble, los datos de las transacciones por defecto, solo son cognoscibles por las partes implicadas en las mismas, pero no por terceras partes, es decir, nadie ajeno a una transacción de la criptomoneda Beam podrá jamás saber a ciencia cierta cuáles direcciones, ni cuáles cantidades están implicadas en dicha transacción.

Claro que hay una excepción a la regla, y es en el caso de que los propios usuarios de una transacción decidan mostrar algo de la misma, en cuyo caso, hay que aclarar que esto pasa porque en Beam, los usuarios realizadores de las transacciones deciden exactamente qué partes de las transacciones o de la data desean hacer pública o no, y ante quién deciden que su información tengan esta característica; porque Beam le confiere a los usuarios total autonomía en ese sentido, por lo que tienen libre albedrío o poder de decisión en cuanto a qué datos de las transacciones mostrar o no.

Es necesario mencionar que a nivel de verificación de las transacciones, Beam emplea el algoritmo de prueba de trabajo Equihash, lo que le confiere el potencial administrar y gestionar enormes cantidades de información, así que a nivel de funcionalidad, esto es una de las cuestiones más positivas que definen a este proyecto.

Conclusión

A mi modo de ver, el mayor logro y el enorme valor del protocolo Mimblewimble radica en su facultad de complicar a niveles extremos la observación y comprensión de lo que está pasando en la blockchain en general durante las transacciones. Esto otorga un nivel de seguridad, privacidad y anonimato nunca antes conocido en cuanto al tema cripto, al hacer que nadie pueda ver o saber la cantidad de criptomonedas que estás transfiriendo, ni las direcciones implicadas en el proceso.

Al hacer confusa toda la información para terceras partes que pudieran estar interesadas en consultarla o alterarla, la privacidad y la seguridad está garantizada, pero en ese proceso de complicar o hacer confusa la información, también se vuelve más liviana la carga de la blockchain para registrar las operaciones al ser menos voluminoso el registro de información, lo que se traduce en transacciones más rápidas, y a la vez, menos costosas en términos de fees.

Entonces, Mimblewimble significa seguridad, confidencialidad, escalabilidad y bajas fees en las transacciones, y en un nivel fundamental, creo que esto representa el futuro, sustento y base para el desarrollo de miles de aplicaciones y proyectos criptográficos tanto del presente, pero muy especialmente, para el futuro.

Así que creo que todo lo relativo al protocolo Mimblewimble es principalmente ventajoso, solo que aún le falta mayor implementación a través de los proyectos que existen, y también, entre los que se desarrollan y crean cada día. Está por verse si Mimblewimble terminará de convertirse en lo que debería estár destinado a ser, una solución integral de seguridad y privacidad para la mayoría de los proyectos blockchain en el futuro y un modelo a seguir por todos los proyectos cripto.

Espero mi post les haya parecido útil e interesante.

Agradecimientos de antemano a:
@steemitblog
@fredquantum

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:  
Loading...