Hechos clave:
-
.
-
.
La privacidad y la escalabilidad continúan siendo dos grandes problemas a resolver en la blockchain original de Bitcoin. En cuanto a privacidad, solo basta con tener una dirección, buscarla en un explorador de bloques de la red y en unos segundos podemos averiguar qué cantidad de bitcoins resguarda, cuando los recibió y de qué dirección provienen. Esto otorga transparencia y por tanto cierto nivel de confianza, pero igualmente para muchos resulta un problema. Es cierto que no es posible saber a simple vista a quién pertenece la dirección, pero ya se ha demostrado que este y otros datos pueden rastrearse. Realmente no hay privacidad total en Bitcoin.
Por otro lado, la escalabilidad se ha convertido en toda una polémica. La primera criptomoneda no está preparada para masificarse con su actual capacidad de uso, aunque eso es justo lo que está haciendo: aumentando, poco a poco pero indefectiblemente, su cantidad de usuarios. Ahora mismo, cada bloque de su blockchain es de sólo 1MB, cosa que muchos cuestionan y señalan como causa del problema, y puede procesar únicamente un promedio de 7 transacciones por segundo. Lo cual no sería tan malo para unos pocos usuarios, pero cuando se trata de millones de personas se requiere mucha más capacidad. Sólo por comparar tenemos la infraestructura de Visa, que soporta 56 mil transacciones por segundo. Sin duda, Bitcoin está bastante atrás.
No obstante, la solución obvia (aumentar el tamaño del bloque), pese a seguirse considerando, no parece ser la más popular. La razón para ello es que muchos están en contra de modificar el protocolo original de la blockchain a través de una bifurcación, un proceso arriesgado que podría acarrear una división de Bitcoin como la sucedida en la blockchain Ethereum y ocasionar grandes pérdidas a miles de usuarios. Por esto, en realidad se buscan soluciones que no afecten el sistema de forma tan directa, tales como SegWit o Lighting Network, en esencia externas a Bitcoin pero funcionando en su beneficio.
Algo semejante propone Mimblewimble, un concepto nacido en agosto de 2016 para solucionar estas dos carencias en Bitcoin: la escalabilidad y la privacidad.
El cómo fue difundida por primera vez esta idea, sumado a su particular nombre, la hacen tener cierto halo de misterio, al igual que lo siguen teniendo los orígenes de Bitcoin. Mientras que Satoshi Nakamoto escogió ese seudónimo del que nunca saldría, presuntamente basado en Pokemón debido al nombre de su protagonista en la versión japonesa (‘Satoshi’), en esta ocasión el creador de Mimblewimble escogió la saga Harry Potter de J.K Rowling para ocultarse. Tal como se cuenta en el Libro Blanco depurado por Andrew Poelstra, alguien anónimo se presentó durante la madrugada en un canal de investigación de Bitcoin, dejó un documento de texto plano alojado en un servidor de la red oculta (sólo accesible mediante Tor) y desapareció tal como su seudónimo: Tom Elvis Jedusor, es decir, el nombre de Lord Voldemort (Tom Marvolo Ryddle) en la versión francesa.
Ese primer documento era el esbozo de una nueva propuesta para mejorar la blockchain, y su autor lo llamó Mimblewimble por el hechizo también llamado ‘encantamiento de la lengua atada’, que ata la lengua de su víctima para impedirle hablar de más: «Llamé a mi creación Mimblewimble porque es usada para prevenir que la blockchain hable sobre toda la información de los usuarios».
Poco después, más ‘personajes’ de la saga llegaron al proyecto, discutiéndolo en Reddit; entre ellos ‘Ignotus Peverell’, el primer poseedor de la capa de invisibilidad, y ‘Grindelwald’, el primer gran mago oscuro. Todos estos desarrolladores, mayormente anónimos, se unieron para hacer la magia, que aún continúa en desarrollo.
Para la privacidad
Hay que decir que no todo proviene de ‘Tom’. Él mismo explica en el documento original cómo Mimblewimble, para lograr la privacidad prometida, se basa en dos aproximaciones ya propuestas por Gregory Maxwell y Nicolas van Saberhagen, respectivamente: CoinJoin y Blinding Factors. La primera consiste básicamente en crear una transacción con múltiples entradas y múltiples salidas provenientes de y destinadas a distintos usuarios, dificultando así el rastreo de las transacciones a su origen; mientras que la segunda utiliza un factor aleatorio para ‘cegar’ las salidas de las transacciones, volviendo opaco los datos públicos sin necesidad de interacción por parte de los usuarios. Igualmente, se explica que Shen Noether combinó después ambas propuestas para crear las llamadas Transacciones Confidenciales.
Para lograr la modificación en base a estas soluciones, ‘Tom’ propone codificar la cantidad de la transacción con un ‘Pedersen Commitment’, una clase de protocolo que en criptografía se conoce como Esquema de Compromiso, también utilizado para las pruebas de conocimiento cero que ya se han integrado a criptomonedas como Zcash. En este, una de las partes se compromete a mantener oculta a las demás partes cierto valor o declaración, sin posibilidad de cambiarla, pero manteniendo la ‘llave’ que puede revelarla. En última instancia, en cuanto a las transacciones, sería el receptor quien generaría el proceso de enmascaramiento utilizando los Blinding Factors para confundir la cantidad mostrada en forma de salidas falsas con números al azar.
Otra forma considerada para proteger la información es un tipo de CoinJoin sin interacción, en donde los usuarios mezclan todas sus transacciones entre sí junto a las entradas y las salidas, haciendo imposible saber las direcciones involucradas y la cantidad real. Pese a ello, las operaciones aún podrán validarse a través del Pedersen Commitment, pues aún el remitente guarda los datos reales.
Para la escalabilidad
En este caso, el truco está en poder consultar la validez de las transacciones en la blockchain sin necesidad de consultar todos los bloques de la historia con cada detalle, lo que ocupa hasta el momento alrededor de 100 GB de espacio en cada nodo. Para ello, se escoge cuidadosamente la información más importante y se desecha el resto, ahorrando tiempo y espacio.
Según explica ‘Tom’, en principio, para mejorar la escalabilidad se utilizarán las “firmas agregadas de una sola vía” (OWAS, por sus siglas en inglés) creadas por Yuan Horas Mouton. Con ellas es posible combinar las transacciones a través de los bloques, de modo que “cuando las salidas son creadas y destruidas, es como si nunca hubiesen existido”. Así que, para validar la cadena entera, los usuarios sólo necesitan saber cuándo entró el dinero al sistema (el bloque correspondiente a la creación de cada moneda) y el último movimiento de entrada a una dirección, lo demás puede ser desechado. De este modo, podría reducirse la cantidad para validar una transacción de varios gigabytes a menos de un megabyte.
Un posible futuro
Esta propuesta podría adaptarse a la red Bitcoin en forma de cadena lateral o soft fork, tal como expuso Poelstra en Scaling Bitcoin. La primera opción básicamente consiste en crear una nueva blockchain conectada a Bitcoin para este uso concreto; mientras que el soft fork implicaría cambiar directamente el protocolo de la red. Tal como lo planteó ‘Tom’, puede decirse que esta era su propuesta, ya que sugiere remover el Script de Bitcoin para implementarla.
Poelstra parece inclinarse más hacia la opción de la cadena lateral, aunque deja en claro que, para lograr sus ventajas, Mimblewimble sacrifica la funcionalidad en la blockchain, exceptuando las características de conocimiento cero en las transacciones, intercambio entre cadenas de bloques y canal de micropagos. Sin embargo, estas utilidades aún no han logrado implementarse a esta plataforma, si bien están entre sus futuros objetivos de investigación y desarrollo junto a importantes mejoras en la seguridad contra ataques cibernéticos.
Curiosamente, en el Libro Blanco también se lee: “describimos un proyecto de investigación para diseñar una criptomoneda como Bitcoin”, lo que sugiere que, de no poder implementarse a la primera blockchain, Mimblewimble acabará uniéndose al mercado por su cuenta en cuanto finalice su desarrollo, que aún se encuentra en proceso.
Por los momentos, esta propuesta no es del todo compatible con Bitcoin. Tendremos que esperar para averiguar si sus desarrolladores finalmente deciden resolver este problema, o deciden en su lugar crear una nueva criptomoneda. Esta última sería una decisión arriesgada, dado que en cuanto a privacidad ya se perfilan como líderes Monero y Zcash, una competencia bastante fuerte.