1. What is MimbleWimble?
MimbleWimble is a PoW protocol with extensive scalability and increased privacy. In the popular Harry Potter series of novels, MimbleWimble is a “cunning spell” that prevents an opponent from pronouncing a spell correctly. This expression refers to the protocol’s ability to hide transaction data.
2. Who created MimbleWimble and when?
The creators: a person or a group of persons under the pseudonym “Tom Elvis Jedusor”. That is the name of the main antagonist, Lord Volan de Mort, in the French translation of the same series of novels.
Date of creation: On July 19, 2016, a white paper by Jedusor describing a blockchain with increased scalability, privacy, and interchangeability of tokens appeared online. On October 6, 2016, Blockstream mathematician Andrew Poelstra provided an overview of the white paper, suggesting solutions to a number of security problems. A few days later, the pseudonymous author “Ignotus Peverell” published a Grin implementation on Github.
3. How does MimbleWimble function?
MimbleWimble uses Confidential Transaction Technology (CT), which completely eliminates inputs and outputs through the implementation of multi-signatures. In CT, both participants in a transaction create a multi-signature key for the transaction. CT uses a blinding factor that encrypts all inputs and outputs as well as their public and private keys. Transactions are confirmed by means of the Pendersen commitment scheme, a low-level cryptographic algorithm (“primitive”) that allows you to confirm your willingness to accept a chosen value, hide it, and then reveal it. The full MimbleWimble implementation node subtracts these encrypted amounts from the inputs and outputs and equalizes, confirming that no new coins have been created. The amount of the transaction is unknown to Noda in this case.
MimbleWimble compresses blocks through “slashing,” a technique for splitting and removing large amounts of data from a block without compromising security.
MimbleWimble “cuts through” the output of the first transaction and the input of the second. It then leaves a single set of inputs and outputs, so you can verify how the sender purchased the coin and the recipient received it. This process compresses the size of the blockchain and optimizes data storage.
The protocol has significant potential in the context of scaling: inputs and outputs are hidden, there are no public addresses, and multiple transactions are included in a single block.
MimbleWimble also uses CoinJoin. The technology, created by former Bitcoin Core developer Gregory Maxwell, allows you to take payments from a number of senders and combine them into a single transaction, making it impossible for a third party not involved in the transaction to identify which recipient the payment was intended for.
CoinJoin hides sender and receiver inputs and outputs. Multiple transactions are combined into a single transaction. The value of all inputs is subtracted from the value of all outputs, the result as zero allows for consensus.
With CoinJoin and privacy measures in MimbleWimble, a high degree of data integrity is achieved.
4. What are the disadvantages of MimbleWimble?
MimbleWimble does not support “scripting” language (scripting language). The functionality of the protocol is limited to monetary transactions. This implies that it is much more difficult to implement Layer 2 solutions such as Lightning Network and atomic swaps. The protocol is theoretically vulnerable to quantum computing because it relies on elliptic cryptography (ECC) for aspects of privacy and coin issuance control.
5. How is MimbleWimble evolving?
The main implementations of the protocol are the Grin and Beam projects.
In October 2019, Litecoin Foundation developers published two proposals to improve the protocol, which involves the integration of MimbleWimble. The aim of the innovations is to ensure the privacy of transactions.