What is Mimblewimble: A Solution to Bitcoin’s Scalability and Privacy Issues?
Launched in 2018, Mimblewimble (MW) is a blockchain protocol that provides complete anonymity when carrying out transactions. This stands in contrast to Bitcoin (BTC), which reveals the sender’s address, the amount of money sent, and the receiver’s address. The Mimblewimble protocol has been adopted by two cryptocurrencies, Grin (GRIN) and Beam (BEAM).
What Is Mimblewimble?
In Bitcoin’s early days, the privacy limitations outlined in its whitepaper were manageable, mostly because people were largely unaware of them, but today, it is widely accepted that Bitcoin doesn’t provide complete privacy. If you send some bitcoins to a friend, they can see your past transactions. An outside party won’t be able to see your name, but they will be able to see your transaction history.
In any transaction, Bitcoin reveals the sender’s address, amount of money exchanged, and the receiver’s address. Using this information, anyone can verify that the amount of money sent is equal to the amount of money received. In fact, a transaction carried out on the Bitcoin network can’t be validated without this information.
This is where the Mimblewimble protocol comes in. Named after a spell used in Harry Potter to stop people from spilling secrets, Mimblewimble enables users to exchange money anonymously. Unlike the Bitcoin protocol, Mimblewimble reveals public addresses only to the two parties involved in the transaction.
When someone purchases coins on the Bitcoin network, anyone can look up their history and find out who their previous owners were. On the Mimblewimble network, however, since the transaction details are obfuscated and the sender and receiver’s addresses aren’t made public, no one can tell the history of these coins.
Mimblewimble uses a technology called cut-through, which gets rid of unnecessary transaction information and reduces block sizes. Cut-through technology enables the aggregation of inputs and outputs from transactions.
For example, if you send 1 BTC to your friend, you use 1 input (to create a transaction) and 1 output. When your friend then sends this 1 BTC to someone else, they use 1 input (to create another transaction) and 1 output. Together there are 2 inputs and 2 outputs. Therefore, with the help of cut-through technology, Mimblewimble aggregates all the inputs and outputs and unifies them into a single input and output. This saves space and means nodes don’t have to look at previous transactions to verify new ones.
The type of transactions that Mimblewimble performs are called “confidential transactions.” They were originally developed by Blockstream CEO Adam Back — also the creator of Hashcash, a Proof-of-Work (PoW) system used in the Bitcoin mining process.
Confidential transactions allow users to encrypt the amount of BTC they send using blinding factors. A blinding factor is a random value assigned by the sender to the amount of money being sent in order to encrypt it.
In a confidential transaction, only the people exchanging the coins can see the amount being exchanged. Other people can still verify the transaction by making sure the number of inputs and outputs is the same, but the amount that is exchanged isn’t revealed to them.
In Mimblewimble, the blinding factors chosen by the sender are given to the receiver and are then used as proof of ownership, thus eliminating the need for other people to validate the transaction. The transaction is verified when the blinding factors provided by the receiver match the blinding factors selected by the sender.
What Does Mimblewimble Do?
Mimblewimble was created for the sole purpose of providing anonymity and improving scalability. Scalability was a huge issue for the Bitcoin network and was often talked about in 2017, which led to the creation of Bitcoin Cash. Blocks mined in the bitcoin mining process often reached the block size limit of 1 MB.
To solve the scalability problem in the Bitcoin network, two technologies were implemented — Segregated Witness, or SegWit, and the Lightning Network. Despite this, there’s still no effective solution to Bitcoin’s scalability problem.
As mentioned above, Mimblewimble reduces the block size by using cut-through technology. Because of this, it’s much more scalable than Bitcoin.
To make sure the hidden data is correct, Mimblewimble uses the Pedersen commitment. There are two of these commitments involved in the transaction: one is for coins being sent and one is for the coins being received. The amount of money exchanged is verified without it being disclosed to any outside party.
Mimblewimble uses another innovative technology called CoinJoin, created by Gregory Maxwell. CoinJoin is what allows Mimblewimble to aggregate the inputs and outputs and form a single transaction. Not only does this save block space, but it also makes it impossible for an outside party to track the history of any transaction.
Who Uses Mimblewimble?
Two coins have implemented the Mimblewimble protocol: Beam and Grin, which were launched respectively in 2018 and 2019.
Grin’s Github project was created by an author under the pseudonym Ignotus Peverell shortly after the release of the Mimblewimble whitepaper. Grin began mining in January 2019. Beam’s whitepaper was published on the one-year anniversary of Mimblewimble’s paper release.
Even today, Grin is managed by a group of anonymous developers, most of whom have Harry Potter pseudonyms. Beam has an actual team working behind it and was created by Alexander Zaidelson, an Israel-based entrepreneur.
Beam was not originally open-source which made it difficult for people to know what the team was working on. Beam’s CTO Alex Romanov said, “no one knew what we were doing and when there is something that is hidden there is speculation going on.”
Today, however, Beam’s code is public and the team often works with the people behind Grin. “Our projects take different approaches, but we’re collaborating and exchanging ideas daily. Mimblewimble tech can only get stronger as a result,” Grin developer Yeastplume tweeted in October 2018. Despite being built on the same blockchain, the two coins have some key differences. For one, all Grin transaction information is visible only to the sender and receiver, while Beam offers selective privacy. Beam users can choose to make their transactions private or enable transaction tracking.
Differences between Grin and Beam (Source: Cryptopotato.com)
Who Is Behind Mimblewimble?
Mimblewimble was introduced in 2016 by pseudonymous author Tom Elvis Jedusor in a Bitcoin developers chatroom. In the chatroom, Jedusor posted a link to a whitepaper in which he explained how scalability and privacy in the Bitcoin network could be improved.
Not much is known about the creator beyond his intentions for Mimblewimble.
Although the creator’s true identity remains unknown, many others have since come forward to contribute to the project. Of note is Andrew Poelstra, director of research at Blockstream, who contributed a paper later in 2016 that expanded on the original Mimblewimble whitepaper and proposed further scalability improvements.
What Is the Outlook for Mimblewimble?
Mimblewimble was created to improve the Bitcoin network. However, it cannot be implemented in Bitcoin, because the reduction in block sizes and removal of transaction history would disable some Bitcoin features, such as time-locked transactions and atomic swaps.
That said, Mimblewimble can be used as a sidechain, i.e., a separate blockchain where users can transfer their coins and take advantage of its privacy features. Users can lock their bitcoins in a specific output, which is then moved to the Mimblewimble blockchain. When users want to move their bitcoins back to the Bitcoin blockchain, all they have to do is unlock the output.
Using Mimblewimble as a sidechain will take the burden off of the Bitcoin network and improve scalability even for those who don’t use Mimblewimble.
Bitcoin mining has become increasingly inaccessible and difficult over the past few years because of the need for a highly specialized chip called an ASIC. This has resulted in the creation of mining communities that are extremely centralized. Grin is ASIC-resistant, which means that any person with any GPU chip can mine it. Since Mimblewimble doesn’t require an ASIC chip, it’s much easier and cheaper for the average person to start mining.
Grin has some major problems which might make adoption slow. It’s not as user-friendly as Beam and transacting is difficult. You have to send Grin coins either through file or through HTTP requests to IP addresses, and both parties have to be online for the transaction to be successful.
Grin wallet (Source: coingecko.com)
Beam wallet has a much cleaner interface and is very easy to set up. It also offers atomic swaps between Beam, Bitcoin, Litecoin, and QTUM.
Beam wallet (Source: Beam.mw)
Grin and Beam were both announced within a year after the release of the Mimbewimble paper, but they didn’t begin mining until 2019 and 2018, respectively, so the Mimblewimble technology is still very young and its full potential remains to be seen.
While they’ve both implemented the Mimblewimble protocol, they’re built using different languages. Beam is written in C++ and Grin in RUST. A Mimblewimble transaction on Grin requires both parties involved to be online and this can make adoption slow.
Beam supports one-sided transactions, allowing the receiver to send their side of the transaction to the sender who will then complete the rest of the transaction and add it to the blockchain.
This isn’t possible in Grin because the blinding factors can’t be revealed to the other party. Beam solves this problem using a process called kernel fusion, where one kernel includes a reference to another kernel which makes the transaction valid only when both kernels are present.
Grin’s goal was to be a minimalistic implementation of Mimblewimble so it doesn’t have most of the unique features or the sleek design of Beam, which could lead to Beam emerging as the better Mimblewimble implementation in the future.
According to Guy Corem, the former CEO of bitcoin mining firm Spondoolies-Tech, “Mimblewimble is putting the pressure on other cryptocurrencies to adapt and find the right tradeoffs, creating a net positive to the ecosystem.”
Mimblewimble was designed to combat the privacy limitations of Bitcoin. Its efforts to make privacy the center of cryptocurrencies could lead to greater adoption, but because the only two implementations of it haven’t been around for very long, it’s difficult to say how it will fare in the future.
At the time of writing, Mimblewimble can only be used as a sidechain in the Bitcoin network. Its original purpose of being integrated into the Bitcoin network still remains unfulfilled.
For now, it’s clear that Mimblewimble provides an improved level of privacy and better scalability solution than the Bitcoin network. However, due to Bitcoin’s dominance in the crypto space, Mimblewimble will have a hard time surpassing Bitcoin in popularity.