Article submitted by the community - Author: William M. Peaster.


Mimblewimble (MW) is a blockchain protocol that employs a new way of structuring and storing transactions. It is a different implementation of Proof Work (PoW) blockchain that allows you to increase privacy and improve network scalability.

Mimblewimble was introduced in mid-2016 by a pseudonym Tom Elvis Jedusor. Although he was able to share the main ideas, the first Mimblewimble document left some questions open. This led Blockstream researcher Andrew Poelstra to study and improve the original concept. Next, Poelstra wrote a paper titled Mimblewimble (published in October 2016).

Since then, many researchers and developers are studying the possibilities of the MW protocol. Some say applying it to Bitcoin would be very difficult, although technically possible. Poelstra and other researchers believe that Mimblewimble could eventually improve the Bitcoin network as a sidechain solution.


How Mimblewimble works

Mimblewimble has changed the traditional model of blockchain transactions. It allows the blockchain to have a more compact history, which makes it easier to download, synchronize and verify.

In an MW blockchain, there are no identifiable or reusable addresses, that is, all transactions appear to have random data to an external user. Transaction data is only visible to participating users.

Therefore, a Mimblewimble block will look like a single large transaction rather than a combination of several. This means that blocks can be verified and confirmed, but do not reveal any details about the transactions. There is no way to associate individual inputs with their respective outputs.

Consider the following example: Alice receives 5 MW coins from her mother and 5 from her father. So, she sends those 10 coins to Bob. Transactions are verified, but their details are not public. The only thing Bob knows is that Alice sent him 10 coins, but he has information about who previously sent it to Alice.

To move coins on a Mimblewimble blockchain, the sender and receiver must exchange verification information. So we still need Alice and Bob to communicate, but they don't need to be online at the same time for the transaction to happen.

Additionally, Mimblewimble employs a feature called "cut-through", which reduces block data by removing redundant information from the transaction. So, instead of recording each input and output (from Alice's parents to her, and from Alice to Bob), the block would record only one input-output pair (from Alice's parents to Bob).

Technically, the Mimblewimble model supports and extends the concept of Confidential Transactions (CT), proposed by Adam Back in 2013 and implemented by Greg Maxwell and Pieter Wuille. In short, CT is a privacy tool that hides amounts transferred from the blockchain.


Mimblewimble vs. Bitcoin

The Bitcoin blockchain maintains all transaction data since the Genesis block, which means anyone can download and check its public history – transaction by transaction.

In contrast, a Mimblewimble blockchain only keeps essential information - while providing more privacy. Validators ensure that no unusual activities occur (e.g. double spending) and that the amount of coins in circulation is accurate.

Additionally, Mimblewimble removes Bitcoin's scripting system, which is a list of instructions that define how transactions are structured. Removing scripting allowed MW blockchains to have more privacy and scalability. More privacy because addresses cannot be traced and more scalability because the amount of blockchain data is smaller.

Another key difference between Bitcoin and Mimblewimble is the relative size of the data on their blockchains - which is related to the cut-through feature discussed earlier. By removing unnecessary transaction data, Mimblewimble requires fewer computational resources.


Benefits

Blockchain Size

As mentioned, Mimblewimble enables data compression, reducing the total size of the blockchain. Nodes can check transaction history much faster, using far fewer resources. Additionally, downloading and synchronizing with a MW blockchain is easier for new nodes.

The reduced costs of joining the network and running a node could eventually lead to a more diverse and distributed community, which would likely reduce the centralization of mining common in many PoW blockchains.

Scalability

Eventually, Mimblewimble could be used as a sidechain solution that can be attached to Bitcoin or another main chain. The MW model can also improve the performance of payment channels, such as those used by the Lightning Network.

Privacy

The removal of the Bitcoin scripting system combined with the use of confidential transactions brings a high level of privacy to the user by hiding the details of the transactions carried out.

Furthermore, currencies based on Mimblewimble blockchains can be considered fungible. The property of fungibility is what causes each unit of a currency to be exchanged with any other unit of the same currency (they are indistinguishable).


Limitations

Transaction speed

Confidential transactions experience a significant reduction in speed. Compared to a non-private system, a blockchain that uses CT has greater privacy but lower TPS rates (transactions per second). Still, we can say that the compact size of MW compensates for the TPS limitation of confidential transactions.

It is not quantum resistant

Mimblewimble systems are not resistant to quantum computers (advanced and powerful computers). MW is based on relatively simple properties of digital signatures. However, the complete development of a quantum computer is still far from happening and cryptocurrencies that use Mimblewimble will likely find ways to prevent quantum attacks in the coming years.


Final considerations

The introduction of Mimblewimble is an important milestone in the history of blockchain. On the one hand, the cut-through feature makes MW networks cheaper and more scalable. On the other hand, the MW protocol can be implemented as a sidechain or payment channel, allowing for more privacy and scalability.

So far, some blockchain projects are working with the Mimblewimble model, including the Litecoin team. Grin and Beam are two other examples. While Grin is a community-driven project working on a proof-of-concept of the MW protocol, Beam takes a bootstrapped approach. Both projects are based on Mimblewimble, but they are technically distinct as each has a specific way of implementing the MW project.

An open question is whether Mimblewimble can achieve a significant level of reliability and adoption. It's an interesting and promising idea, but also very young. Therefore, potential use cases are still being analyzed and the future of the Mimblewimble model remains uncertain.