Si pensabas que Harry Potter y Bitcoin tenían muy poco que ver, pues, nada más lejos de la realidad. Están unidos por el hechizo MimbleWimble, que alguna vez protegió la ubicación del villano central de la historia. Uno de los momentos más importantes en la saga de cuentos llevada al cine Harry Potter, es cuando, en la Cámara de los Secretos, Tom Sorvolo Ryddle revela su verdadera identidad a Harry: “Soy Lord Voldemort”.
Para cada traducción del cuento, se elaboró un anagrama para el maléfico personaje. Así, en alemán sería “Tom Vorlost Riddle” (Ist Lord Voldemort), “Tom Orvoloson Riddle” en italiano (Sono Lord Voldemort) y en francés “Tom Elvis Jedusor” (Je suis Voldemort).
En agosto de 2016, un individuo que se hizo llamar Tom Elvis Jedusor publicó un rudimentario whitepaper donde propondría una idea destinada a mejorar notablemente los problemas de escalabilidad y privacidad de Bitcoin. Bautizó a su protocolo como “MimbleWimble”. De la misma forma en que apareció, Tom Elvis Jedusor volvió a las sombras, y, hasta el día de hoy, no ha dado nuevas muestras de su existencia.
Por esos mismos días, Bitfinex anunciaba que su plataforma había sido hackeada y que casi 120.000 BTC se habían evaporado.
Luego, en octubre del mismo año, el matemático de Blockstream Andrew Poelstra, recogió la propuesta de Jedusor, precisando sus detalles en un nuevo documento.
¡MimbleWimble!, y sólo se escuchó el silencio…
“Lo llamé Mimblewimble porque quiero que se utilice para prevenir que blockchain divulgue cualquier información de los usuarios”, dice Jedusor en el papel original. Y, ciertamente, el hechizo de Harry Potter del cual tomó prestado el nombre para su idea, cuando es lanzado sobre una persona, traba su lengua e inmoviliza su garganta, impidiéndole hablar sobre cierto tema.
No es magia, es criptografía
Las transacciones en MimbleWimble se asemejan a otro tipo de operaciones enmascaradas, conocidas como Transacciones Confidenciales, que fueron desarrolladas por Gregory Maxwell, un programador de Bitcoin.
Las transacciones confidenciales usan una serie de números llamada “factores de ofuscación” para encriptar las cantidades de Bitcoin que son enviadas en cada operación. La cantidad intercambiada sólo es conocida por el emisor y el receptor de los fondos y por nadie más. Las partes no involucradas pueden, sin embargo, verificar que la transacción es válida comparando el número de entradas y salidas de la misma: si ambas coinciden, la transacción se da por buena. De esta forma se garantiza que no aparezcan bitcoins nuevos por “generación espontánea” y se mantiene la integridad de la red.
De manera parecida, bajo MimbleWimble los montos también quedan ocultos a la vista de terceros. La diferencia con las transacciones confidenciales estriba en que ahora la generación del factor de ofuscación recae en manos del receptor. El receptor de los fondos, usando el factor de ofuscamiento como prueba de propiedad, puede entonces disponer de los bitcoins que le fueron enviados.
Nada sale, nada entra
MimbleWimble se apoya también en otro algoritmo criptográfico creación de Gregory Maxwell, CoinJoin. Mediante CoinJoin, las transacciones pueden ser agrupadas o combinadas, arrojando como resultado el ocultamiento de las entradas y las salidas. Para los observadores externos se hace imposible conocer cuáles bitcoins salieron de qué dirección en la transacción.
Entonces, cuando las operaciones en MimbleWimble se combinan, lo que se almacenaría en un bloque serían solamente una lista de entradas, una lista de las salidas y la información de firmas correspondientes. Esto conduce a un importante ahorro en el espacio del bloque, pues ya no es necesario conservar otros datos cada operación, únicamente las salidas y entradas. Siempre y cuando la cantidad de entradas sea equivalente al número de salidas y la diferencia entra ambas sea igual a cero, la cadena resultante construida bajo este esquema sería completamente válida.
En el caso de Bitcoin, el proceso de validación es mucho menos eficiente., pues se debe descargar la cadena completa para analizar el historial de salidas de las transacciones y así poder verificar su conformidad.
Una cadena más ligera y realmente privada
De implementarse adecuadamente, los conceptos propuestos en MimbleWimble significarían optimizar el espacio de almacenamiento para la cadena y una verdadera privacidad para los usuarios. Al permitir que la blockchain se deshaga de los datos redundantes, un mayor número de transacciones podrían ser añadidas por bloque y la escalabilidad dejaría de ser un problema como tal.
A través del encriptamiento de entradas y salidas, más la eliminación de las direcciones públicas en las transacciones, MimbleWimble provee auténtica privacidad y no un anonimato a medias.
MimbleWimble en la práctica
Así como Bitcoin Core es una implementación del procotolo Bitcoin, tenemos al proyecto Grin, que persigue implementar MimbleWimble. Grin está sostenido al 100% por donaciones de la comunidad y entidades amigas, no hay ICO, no hay inversores, de modo que su desarrollo ha llevado algo de tiempo, como suele suceder con las iniciativas de presupuesto limitado.
Grin promueve una cadena de bloques independiente y su propia criptomoneda. El pasado 8 de julio lanzaron su tercera red de pruebas, en la cual han efectuado mejoras concernientes a la minería (ahora se pueden formar grupos de minado). El código fuente de la billetera nativa fue completamente reescrito para mayor compatibilidad con otros lenguajes e implementaciones y afinaron detalles de desempeño y seguridad en todos los niveles de su infraestructura.
MimbleWimble pudiera ser integrado a la red Bitcoin como un soft fork, pero su funcionamiento como una cadena lateral donde los usuarios puedan enviar transacciones de manera privada es más viable.
Siguiendo el estilo de Jedusor, el creador de Grin ha preferido preservar su verdadera identidad bajo el nombre Ignotus Peverell, otro de los personajes de Harry Potter.
Beam entra en el juego
Otra implementación más reciente de MimbleWimble es Beam. Al igual que Bitcoin Core, Beam está siendo desarrollado en C++. Conservando similitudes también con Zcash, el proyecto estará al principio en manos de una compañía privada, para luego estar bajo la supervisión de una entidad sin fines de lucro.
Un incentivo importante para los inversores de Beam es su esquema de “recompensa para los fundadores”, donde el 20 por ciento de todas las monedas minadas irán directamente a las cuentas de la compañía Beam y la fundación durante los primeros cinco años.
El proyecto Beam emitirá más de 263 millones de monedas según la planificación siguiente: durante el primer año, la recompensa por bloque minado será de 100 monedas. Los años posteriores, del segundo al quinto, la recompensa se reducirá a la mitad (50 monedas por bloque, por año). A partir del sexto año seguirá disminuyendo un 50% cada cuatro años, hasta que el esquema cumpla 133 años. En ese entonces, la emisión de monedas finalizará.
Inicio igualitario
Los primeros 32 días de operaciones Beam aplicará lo que han llamado un “arranque lento”. En este período, sólo se obtendrán 0,390625 monedas como recompensa por bloque. Cada cuatro días este monto se duplicará, llegando a 100 luego de haberse duplicado 8 veces.
El modelo de emisión de Beam es muy parecido al de Bitcoin, con dos diferencias importantes: una recompensa mayor durante el primer año y el arranque lento. Una recompensa alta estimula a los mineros, para que la extracción de Beam en sus inicios mantenga su interés. Esto contribuirá con la introducción de la moneda en el mercado. El arranque lento se diseñó con el propósito de dar tiempo a los mineros para organizarse, sin que ninguno tuviera ventaja sobre los demás, por lo menos al comienzo.
El lanzamiento de Beam está pautado para diciembre de 2018.