Community Submission - Author: William M. Peaster


Mimblewimble (MW) is a blockchain design that uses a new way to structure and store transactions. It is a different implementation of the Proof of Work (PoW) blockchain that allows for increased privacy and network scalability.

The design for Mimblewimble was introduced in mid-2016 by Tom Elvis Jedusor (pseudonym). Although he was able to share the basic ideas of Mimblewimble, the first document left some questions unanswered, leading Blockstream researcher Andrew Poelstra to study and refine the original concept. Soon after, Poelstra wrote a paper called Mimblewimble (published in October 2016).

Many researchers and developers have been studying the possibilities of the MW protocol ever since. Some people think that implementing it on Bitcoin would be very difficult, but it is technically possible. Poelstra and others believe that Mimblewimble may eventually improve the Bitcoin network as a sidechain.


How Mimblewimble works

Mimblewimble changes the traditional model of blockchain transactions. It allows the blockchain to have a more compact record, which is easier and faster in terms of loading, synchronization, and verification.

In the Mimblewimble blockchain there are no recognizable addresses or reusable addresses. Which means that all transactions appear to be random data to an outsider. Transaction data is only visible to the relevant participants.

So a block in Mimblewimble looks like one big transaction instead of a combination of many transactions. This means that blocks can be verified and confirmed but it does not provide details about each transaction. This is because there is no way to relate individual inputs to their outputs.

For example, Alice gets 5 MW coins from her mother and 5 from her father and then sends those 10 MW coins to Bob. Transactions have been verified and confirmed but their details are not public. The only thing Bob can know is that Alice sent him 10 coins but he cannot find out who sent them to Alice previously.

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

Mimblewimble also uses another feature called cut-through which reduces block data by removing redundant transaction information. Instead of recording all the inputs and outputs (from Alice's parents to her and from Alice to Bob), the block records only one pair of inputs and outputs (from Alice's parents to Bob).

Technically, Mimblewimble's design supports the concept of Confidential Transactions (CT), which was proposed by Adam Back in 2013 and implemented by Greg Maxwell and Pieter Wuille. Simply put, CT is a privacy tool that hides amounts of blockchain transfers.


Mimblewimble vs. Bitcoin

The Bitcoin blockchain holds all transaction data from the first block (genesis block) of Bitcoin. Which means anyone is able to download the public blockchain ledger and verify it transaction by transaction.

Unlike the Mimblewimble blockchain which only keeps the basic transaction data while also providing more privacy. Auditors make sure that no unusual activity occurs (eg: double spending) and that the number of coins available for trading is correct and accurate.

Otherwise, Mimblewimble removes Bitcoin's programming system, a list of instructions that define the way transactions are structured, which helped make the MW blockchain more private and scalable. More private because addresses cannot be traced at all and more scalable because blockchain data is small.

So another major difference between Bitcoin and Mimblewimble is the relative data size of their respective blockchains. This is related to the shortcut feature that we talked about previously. Mimblewimble requires fewer computational resources due to the removal of unnecessary transaction data.


Advantages

Blockchain size

As mentioned earlier, Mimblewimble allows for data compression which reduces the overall blockchain size. Nodes can also check transaction history faster, using far fewer resources. Additionally, it is easier for new nodes to be uploaded and synchronized using the MW blockchain.

Lower costs of joining the network and running nodes may result in a more diverse and distributed community. This will likely reduce the mining centralization common in many Proof of Work (PoW) blockchains.

Scalability

Mimblewimble could eventually be used as a sidechain and could be attached to Bitcoin or another mainchain. The MW design may also improve the performance of payment channels such as those used by the Lightning Network.

Privacy

Removing Bitcoin's programming system as well as the use of confidential transactions will bring a high level of user privacy, resulting in the obfuscation of transaction details.

Additionally, currencies based on the Mimblewimble blockchain can be considered fungible. The property of fungibility is what makes each unit of currency interchangeable with any other unit of the same currency (they are indistinguishable).


Restrictions

Transaction throughput

Secret transactions reduce transaction throughput significantly. Blockchains that use confidential transactions have more privacy but lower TPS rates (number of transactions per second) when compared to a non-private system. However, we can say that the small size of MW compensates for the TPS limitations resulting from confidential transactions.

Not resistant to punching

Mimblewimble systems are not resistant to quantum computers (advanced, powerful computers). MW relies on the relatively simple properties of digital signatures. But a mature quantum computer is still decades away and cryptocurrencies using Mimblewimble will likely find ways to prevent quantum attacks in the coming years.


Concluding thoughts

The introduction of Mimblewimble represents a major milestone in the history of blockchain. On the one hand, shortening makes MW networks cheaper and easier to scale, and on the other hand, the MW protocol may be implemented as a side solution or as a payment channel, which may allow for greater privacy and scalability.

So far some blockchain projects are working with Mimblewimble design including the Litecoin team. Grin and Beam are other examples. While Grin is a community-driven project that is lightly proof-of-concept for the MW protocol, Beam takes a startup-like approach. While both projects are based on Mimblewimble, they are technically distinct in that each has a specific way of implementing Mimblewimble's design.

Currently an unanswered question is whether Mimblewimble can achieve a significant level of reliability and adoption. It's an exciting and promising idea, but it's also very small. As such potential use cases are still under investigation and the future of Mimblewimble remains uncertain.