05 Mar 2019

Today we are going to discuss Mimblewimble, a protocol that has been brought up a lot in the crypto community in the recent weeks. We are going to discuss what MimbleWimble is, implementation of the protocol and the future of it.

The beginning

MimbleWimble is not that new - in fact, it has been first proposed in August 2016 by a user named Tom Elvis Jedusor, which is a French name of Voldemort, a fictional character from the Harry Potter series.

In fact, MimbleWimble itself is a Harry Potter reference. MimbleWimble is a tongue-tying spell that ties the target's tongue in a knot, preventing them from making coherent speech.

Mimblewimble was a proposal that would solve the privacy and scalability of the Bitcoin protocol. At the time it was considered one of the best solutions to the problem of Bitcoin scalability which would, at the same time, also provide privacy.

A few months later, someone under the pseudonym Ignotus Peverell (which is another Harry Potter character) started a Github repository that would implement the Mimblewimble protocol. The project is called Grin and it recently launched its mainnet.

But there is also another project out there that uses this protocol, called Beam, and we will discuss both later in the article.

How mimblewimble works?

Mimblewimble tackles two main issues of cryptocurrency: scalability and privacy. While there is often a trade-off between them, Mimblewimble uses a different approach to a cryptographic exchange, in order to tackle both.

To understand how Mimblewimble works you first need to understand Bitcoin’s unspent transaction output (UTXO) model. We won’t bother you with the details but essentially when you send Bitcoin to someone else, it's not as simple as subtracting the balance from the sender and adding it to the recipient.

Instead, the transaction is made of a bundle of inputs which have an associated bundle of outputs. When you’re sending 1 Bitcoin, the protocol is bundling inputs that you received from previous transactions to make that 1 Bitcoin. The network has to keep track of all of the individual inputs and outputs that have ever happened.

This means that the associated data can get very big over time as more and more transactions (consisting of inputs and outputs) pile onto the blockchain.

Mimblewimble, on the other hand, uses confidential transactions which use a blinding factor that encrypts all of the inputs and outputs between two parties. In a nutshell, Mimblewimble significantly reduces the data in the blockchain, thus making it more scalable. At the same time, the blockchain can be pruned which keeps your storage costs very low.

Grin vs Beam

There are two main projects that have implemented Mimblewimble protocol so far: Grin and Beam.

Both projects have recently launched their respective mainnets and are ASIC resistant. While they both implement the Mimblewimble protocol, there are some significant differences between the two projects.

Grin is more community driven and follows the Bitcoin’s path where developers work on the project for free.

Beam, on the other hand, collected VC funds and hired developers to speed up the process. Beam is also more user-friendly with wallets for many operating systems while Grin is lagging behind in UX since there’s less development "power" behind it.

Beam also has a, so-called, "Founder's reward" with 20% of all newly mined coins within the first five years being awarded to the Beam company.

While the technology behind Grin and Beam is certainly promising, both projects are still early in the development phase and have many more challenges ahead. But they are something definitely worth keeping an eye on.