Yesterday, January 15, marked the launch of the second publically available implementation of the mysterious Mimblewimble protocol, the Grin blockchain (the first one being Beam). The new blockchain is enough to get some crypto OGs like Andreas Antonopoulos to smile, because the new-ish protocol’s origins and development share a similar mystique with the Bitcoin protocol. But what is it, and what makes it special?

Mimblewimble – Name, Origin, Function

Firstly, it’s important to note the origin of the unusual nae. Mimblewimble and everything attached to it are named after things and characters in the Harry Potter universe. And in that universe, “mimblewimble” is the name of a spell, also known as the “Tongue-Tying Curse.” The spell silences its victim from talking about a specific subject – and this name underlines the central function of the Mimblewimble protocol: Privacy.

Mimblewimble was given to the world in August 2016, in a Bitcoin developers’ IRC chatroom, quite out of nowhere. An anonymous user, Tom Elvis Jedusor (the real name of Voldemort in the French translation of the Harry Potter series), dropped this barebones whitepaper into the chat, and left. Bitcoin developer Andrew Poelstra then polished that text file into this pdf.

Before a (very) basic overview of how the protocol works, let us just start with this: Perhaps the most shocking thing to realize when first getting used to Mimblewimble, if one has been lingering in the blockchain space for any length of time, is that the protocol does not use public addresses.

Unlike most all blockchains we have become accustomed to, which make use of a public address matched to a private key, users of a Mimblewimble blockchain posses only a private key – no address is paired to it, which can receive funds at any time from anywhere.

How Is This Possible?

Mimblewimble in fact uses a largely different method of computation than Bitcoin. This method is inherently private, and inherently more space efficient than other privacy coins like Monero, Dash, and ZCash (although it must be said that Monero’s recent upgrade to Beryllium Bullet has reduced that blockchain’s output size quite a bit.)

As explained in this Beam Medium post, Mimblewimble – unlike Bitcoin – does not broadcast amounts and public addresses to a completely public network. Both of those publically broadcasted pieces of information make Bitcoin not actually very private at all. And Mimblewimble, as we said, has no public addresses to speak of.

Instead, on a Mimblewimble chain, transactions are accomplished by directly initiating a secure peer-to-peer transaction between two parties.

The two parties do some math using three pieces of information: Each of their private keys, and the amount being sent/received. The figure derived from that math acts as a hash of the transaction.

The hash of an individual transaction is then multiplied with other transactions’ hashes to produce another hash – with the result that all transactions in a Mimblewimble block are stored in a single hash. This saves Mimblewimble chains an enormous amount of space.

To go deeper into the protocol is beyond the scope of this article, but we have enough here to understand why Mimblewimble is a big deal. It completes Bitcoin-style functions (i.e., money) without any addresses, without any publically expressed quantities, using far less space, and with extremely robust anonymity and privacy that is not only on by default, but cannot be turned off. (More technical information can be found here, here, here, here, here, and here, for starters.)

One of the downsides of this protocol is that, because of its barebones quality of just doing one thing very well (again, money), it has no extra functions in the style of Bitcoin (many have envisioned more functions built onto Bitcoin’s blockchain, especially when the cryptocurrency was younger). Bitcoin has scripting, which allows for things like atomic swaps and the lightning network, and it remains to be seen if developers can discover a way to add more functionality to Mimblewimble.

With two full implementations of Mimblewimble now already released – albeit not without hiccups already – the new protocol is just getting exciting.