Mimblewimble is a relatively new privacy-orientated technology with origins from the Bitcoin world.
The project is a new blockchain protocol that aims to improve Bitcoin’s UTXO model. UTXO stands for the unspent output from bitcoin transactions. UTXOs are processed continuously and are responsible for beginning and ending each transaction. Confirmation of transaction results in the removal of spent coins from the UTXO database.
Mimblewimble plans to achieve this by cutting out various information to improve privacy, efficiency, and scalability. It utilizes some existing technology currently available such as Confidential Transactions and CoinJohn.
Since Mimblewimble is a new blockchain protocol, the platform can be implemented as an altcoin, Bitcoin sidechain or as a soft fork of Bitcoin with extended blocks.
The first mention of Mimblewimble took place in 2016 when the project’s whitepaper was submitted in a Bitcoin IRC chat.
Throughout the whitepaper, there contain several Harry Potter references such as:
- Name – tongue-tying curse (privacy)
- Author – Tom Jedusor (Voldemort)
- Later, Ignotus Peverell appeared to start implementing MW in a project (Grin)
- Other anonymous Harry Potter characters also contributed to various aspects of MW
Mimblewimble has many similarities to Bitcoin, where the project came to life following the publication of an anonymous piece of work, being Satoshi Nakamoto.
Bitcoin’s privacy limitations
Satoshi Nakamoto was very open about Bitcoin’s privacy limitations in the whitepaper. Even though Bitcoin doesn’t disclose names when transacting, there three pieces of data which is public:
- Sender address
- Amount transacted
- Recipient address
This data can then be used to dox/de-anonymize users using blockchain analysis or other techniques.
However, this data is necessary for Bitcoin’s protocol to ensure the transactions sent are valid.
How does Mimblewimble work?
Mimblewimble uses some clever math or cryptography to around the above-stated hurdle.
Transactions currently done on the Bitcoin protocol are as follows:
In Bitcoin’s UTXO model, Bob pays Alice 1 BTC. However, there has to be a combination of the inputs that go into Bob’s address to make sure that there is enough BTC to send Alice the 1 BTC.
- Bob (input: 0.25+0.30+0.40+0.20=1.15 BTC)
So Bob will have enough BTC to send to Alice. Once sent, on the outputs 1 BTC will be sent to Alice and o.15 BTC sent back to Bob. Bitcoin also stores the entire transaction history on the ledger publically to let people view previous transactions.
Using Mimblewimble, the UTXO is replaced by Confidential Transactions. This means the inputs and outputs are combined into one multi-signature transaction used to verify the transaction validity.
Instead of addresses, parties use ‘blinding factors’ only known to them. What this does, is that it encrypts the amount (inputs/outputs) public and private keys used.
There is a math equation that allows the network to verify the following:
- No new coins were minted (without knowing the amount transacted)
- Private keys were used to sign the transaction (without revealing the actual keys)
Challenges for Mimblewimble
Of course, there remain challenges for the project, and as Mimblewimble is inherently script-less, this means:
- No atomic swaps
- Ni Lightning Network
- No multi-signature transactions
- No time-locked transactions and outputs
So many restrictions mean MW is unable to implement many aspects of current projects into their architecture. Also, the sender and receiver have to be online to construct the transaction.
While Bitcoin continues to make progress as an alternative form of payment, there remain substantial barriers to global adoption. Scalability and privacy are the two primary reasons.
Despite being in its infancy, Mimblewimble could prove to be the solution to one if not both these issues. Much work, however, does remain, but it will be interesting to see what progress can be made.