Community Involvement - Author: William M. Peaster.
Mimblewimble (MW) is a blockchain design that uses a new way of structuring and storing transactions. This is the different implementation of a Proof Work (PoW) blockchain that allows for increased privacy and better network scalability.
The Mimblewimble design was introduced in mid-2016 by the pseudonymous Tom Elvis Riddle. Although it succeeded in sharing the main ideas, the first Mimblewinble document left questions unanswered. This led Blockstream researcher Andrew Poelstra to study and improve the original concept. Shortly after, Poelstra wrote a paper titled Mimblewimble (published October 2016).
Since then, many researchers and developers have been studying the possibilities of the MW protocol. Some say that implementing it on Bitcoin would be quite difficult, even if technically possible. Poelstra and others believe Mimblewimble can potentially improve the Bitcoin network as a sidechain solution.
How Mimblewimble works
Mimblewimble changes the traditional model of blockchain transactions. It allows a blockchain to have a more compact history, easier and faster to download, and therefore to synchronize and verify.
In a MW blockchain, there are no identifiable or reusable addresses, which means that all transactions look like random data from the outside perspective. Transaction data can only be viewed by those who carry it out.
So a Mimblewimble block looks like one large transaction rather than a combination of several. This means that blocks can be verified and confirmed, but they do not give any details about each transaction. There is no way to link individual inputs with their respective outputs.
Consider the following example: Alice receives 5 MW coins from her mother and 5 from her father. She then sends these 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 is not able to know where those coins came from before they were in Alice's possession.
To transfer coins to a Minblewimble blockchain, the sender and recipient must exchange their verification information. Alice and Bob still need to communicate, but this does not require them to be online at the same time for the transaction to take place.
Mimblewimble also uses a feature called slicing, which reduces block data by removing redundant transaction information. So, instead of recording each input and output (from Alice's parents to her, and from Alice to Bob), the block would only record one 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. Simply summarized, CT is a privacy tool that hides the quantities of transfers on a blockchain.
Mimblewimble vs. Bitcoin
The Bitcoin blockchain maintains all transaction data from the genesis block, meaning anyone is able to download and verify its public history - transaction by transaction.
In contrast, a Mimblewimble blockchain only keeps essential information – while also providing more privacy. Validators ensure that no unusual activity occurs (e.g. double spending), and that the quantity of coins in circulation is accurate.
Aside from that, Mimblewimble removes the Bitcoin scripting system, which is a list of instructions that defines how transactions are structured. Removing this script allows MW blockchains to be more private and scalable. More private because addresses cannot be tracked at all, and more scalable because blockchain data is less voluminous.
So, another key difference between Bitcoin and Mimblewimble lies in the relative sizes of their blockchains – which relates to the previously discussed slicing functionality. By removing unnecessary transaction data, Mimblewimble requires fewer computing resources.
Benefits
Blockchain size
As mentioned, Mimblewimble allows for data compression, reducing the overall size of the blockchain. Nodes can check transaction history much faster, using considerably fewer resources. Additionally, it is easier for new nodes to upload and sync with a MW blockchain.
The reduced costs of joining the network and running a node can potentially lead to the formation of a more diverse and distributed community, which could likely reduce the centralization of mining found in many PoW blockchains.
Scalability
Ultimately, Mimblewimble could be used as a sidechain solution that attaches to Bitcoin or another parent chain. MW design can also improve the performance of payment channels, such as those used by the Lightning Network.
Confidentiality
The removal of the Bitcoin scripting system combined with the use of Confidential Transactions provides a high level of user privacy, by hiding transaction details.
Additionally, coins based on Mimblewimble blockchains can be considered fungible. The property of fungibility is what makes each unit in a corner interchangeable with any other unit in the same room (they are indistinguishable).
Limits
Trading volume
Confidential transactions significantly reduce transaction throughput. Compared to a non-private system, a blockchain that uses CT strengthens its confidentiality but its GST rates suffer (transactions per second). That said, we can assume that the compact size of MW counteracts the TPS limitation caused by confidential transactions.
Not quantum resistant
Mimblewimble systems are not resistant to quantum computers (overdeveloped, ultra-powerful computers). MW is based on relatively simple properties of digital signatures. Having said that, it should be noted that a mature quantum computer in operation will probably not be a reality for another decades, cryptocurrencies using Mimblewimble will likely find ways to prevent quantum attacks in the years to come.
To conclude
The introduction of Mimblewimble marks a notable milestone in blockchain history. On the one hand, the slicing functionality makes MW networks cheaper and easier to use. On the other hand, the MW protocol could be implemented as a side chain or payment channel solution, 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. Grin is a community project working on a lightweight proof of concept of the MW protocol, Beam adopts a start-up type approach. Although both projects are based on Mimblewimble, they are technically distinct because each has a particular way of implementing MW design.
An open question is whether Mimblewimble can achieve a significant level of reliability and adoption. It is a promising and exciting concept, but also very young. As such, potential use cases are being explored, and the future of Mimblewimble remains uncertain.
