Community Generated Content - Author: William M. Peaster.


Mimblewimble (MW) is a blockchain-type design that uses a novel way of structuring and storing transactions. This is an alternative Proof of Work implementation, which allows the blockchain to increase its privacy and improve network scalability.

The Mimblewimble design was introduced in mid-2016 by Tom Elvis Jedusor (pseudonym). Although it managed to share the basic ideas, the first document on Mimblewimble raised a number of questions. This led Blockstream researcher Andrew Poelstra to study and improve the original concept. Shortly after, Poelstra would write an article titled Mimblewimble (published in October 2016).

Since then, many researchers and developers have dedicated themselves to studying the possibilities of the MW protocol. Some consider that implementing it in Bitcoin would be quite complex, although technically possible. The opinion of Poelstra and other developers is that Mimblewimble could eventually enhance the Bitcoin network as a sidechain-type solution.


How Mimblewimble works

Mimblewimble changes the traditional blockchain transaction model. It allows blockchains to have a more compact history, making it easier and faster to download, sync, and verify.

In an MW-type blockchain, there are no identifiable or reusable addresses, which means that all transactions appear to be random data to an outside observer. Transaction data will only be visible to their respective participants.

Therefore, a Mimblewimble-type block will look like a single large transaction, rather than a combination of multiple ones. This means that blocks can be verified and confirmed, but will not provide details about each transaction. There is no way to link individual inputs to their respective outputs.

Let's consider the following example. Alice receives 5 MW coins from her mother and 5 from her father. Then send the 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 doesn't know who previously sent them to her.

To move coins on a Mimblewimble blockchain, the sender and receiver must exchange verification information. Therefore, it is still necessary for Alice and Bob to communicate, but there will be no requirement for both of them to be online simultaneously for the transaction to occur.

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

Technically, the Mimblewimble design 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 the amounts in blockchain-type transfers.


Mimblewimble vs. Bitcoin

The Bitcoin blockchain preserves data for every transaction from the genesis block, meaning anyone can download and verify its public history on a transaction-by-transaction basis.

In contrast, a Mimblewimble-type blockchain only maintains essential information - while providing greater privacy. Validators ensure that no unusual activity (e.g. "double spending") occurs and that the number of coins in circulation is correct.

Aside from that, Mimblewimble eliminates Bitcoin's scripting system, which is a list of instructions that defines how transactions are structured. Removing the script allowed MW blockchains to be more private and scalable. More private because the addresses cannot be traced at all, and more scalable because the blockchain data is smaller.

So another key difference between Bitcoin and Mimblewimble is the relative data size of their blockchains, which is related to the slice function discussed above. By removing unnecessary transaction data, Mimblewimble requires fewer computational resources.


Advantages

Blockchain Size

As mentioned, Mimblewimble allows data compression, reducing the overall size of the blockchain. Nodes can verify transaction history much faster, using considerably fewer resources. Additionally, it is easier to download and synchronize new nodes with an MW blockchain.

The reduced costs to join the network and run a node may eventually lead to a more diversified and distributed community, which would likely reduce the centralization of mining common on many PoW blockchains.

Scalability

Eventually, Mimblewimble can be used as a sidechain solution that can be linked to Bitcoin or another mainchain. The MW design can also improve the performance of payment channels, such as those used by the Lightning Network.

Privacy

The elimination of Bitcoin's scripting system, combined with the use of confidential transactions, provides a high level of privacy to the user, obfuscating transaction details.

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


Restrictions

Transaction performance

Confidential transactions significantly reduce transaction performance. Compared to a non-private system, a blockchain using CT has more privacy but lower TPS (transactions per second) rates. Still, we can say that MW's compact size makes up for the TPS limitation caused by confidential transactions.

Not resistant to quantum computers

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


In conclusion

The introduction of Mimblewimble marks a notable milestone in the history of blockchain. On the one hand, the slicing feature makes MW networks cheaper and easier to scale. On the other hand, the MW protocol can be implemented as a sidechain solution or payment channel, allowing for greater privacy and scalability.

So far, a few blockchain projects are working with the Mimblewimble design, including the Litecoin team. Grin and Beam are two other examples. While Grin is a community-driven project working on a lightweight proof-of-concept of the MW protocol, Beam takes a startup-like approach. Although both projects are based on Mimblewimble, they are technically different since each has a particular way of implementing the MW design.

An open question, for now, is whether Mimblewimble can achieve a significant level of reliability and adoption. It's an exciting and promising idea, but also very young. As such, potential use cases are under investigation, and the future of Mimblewimble remains uncertain.