MimbleWimble Protocol Explained | Grin Tech Guide
Do you remember the mysterious origin story of Bitcoin and unknown Satoshi Nakamoto? So we got a sequel now, called MimbleWimble. It’s no less exciting, believe me.
August 2, 2016, someone called Tom Elvis Jedusor (a name of Lord Voldemort from the French Harry Potter) posts a link to a text file on Bitcoin IRC chat (a place for Bitcoin Core developers to meet), and it was titled ‘MIMBLEWIMBLE’.
This file contains a white paper of new algorithm for the decentralized cryptocurrency.
What was the surprise when everyone discovered this paper is a piece of art by true cryptography genius? Let's see how it works.
How MimbleWimble works
As you may know, the Bitcoin transaction is made of inputs and outputs.
- John sends 1 BTC to Mary.
- Phil sends 2 BTC to Mary.
- Mary sends 2.5 BTC to Jennifer.
Last transaction (Jennifer) looks like:
Input: -(1 Mary + 2 Mary) BTC
Output: +(2.5 Jennifer + 0.5 Mary) BTC
As you can see, Input+Output=0.
And such presentation of transaction seems to be detailed and clear. But it’s not efficient in terms of data storage. Especially in the case, we have hundreds of input entries. Also, it bears the risk of privacy.
The MimbleWimble protocol works in a bit different way.
It employs a set of technologies from cryptography science:
I will not load you with technical details explaining every mechanism above, but all of them together allows eliminating excess data from our Blockchain and providing better anonymity.
First of all, it removes all inputs and outputs except the first input and last output. Such an approach reduces the size of Blockchain multiple times. It’s called “Cut Through”.
There are no wallet addresses at MimbleWimble. Instead of this, the sender and recipient share a key which is called ‘blinding factor’. It multiplies to the sums of inputs and outputs of the transaction, like this:
Input * ‘blinding factor’ = Output * ‘blinding factor’
And no one could solve this ‘blinding factor’ cypher. The Blockchain node should only check the input equals output, so no new coin was produced (so, no double-spending).
What problems are solved by MimbleWimble
MimbleWimble solves the two main problems which we are facing at Bitcoin. It’s anonymity and scalability. Of course, Bitcoin core developers are implementing a list of amazing solutions that help sort out these issues, like SegWit and Lightning Network. But MimbleWimble employs a completely different approach, maybe more efficient and less resource-intensive.
October 20, 2016, another guy called Ignotus Peverell (a wizard who owned the cloak of invisibility, from ‘Harry Potter’) posted a Github link on Bitcoin IRC chat. It leads to a new project called Grin.
The project actually applies MimbleWimble technology in its Grin cryptocurrency code.
The main reason I am excited about Grin is its ideology. These guys are true ‘crypto punks’, as the main value for them is decentralization. There are no leaders or middlemen nor employees. It's open-source, Grin developers are independent and contributing for free.
The Grin coin is created for daily use, not just for the HODL. For this purpose, early mining isn’t rewarded more than latter mining. And no one can mine Grin coin with ASICs (Cuckoo Cycle algorithm). The overall supply of coins is unlimited. Block mining reward is not changing.
By the way, with a MimbleWimble technology, you shouldn’t download a heavy Blockchain to start mining. Now it’s much faster and efficient. Block time is about 60 seconds. And CPU mining works nicely here.
By the way, MimbleWimble technology could be applied at Bitcoin someday as a soft fork (it means there is no need to make a new coin for this).
Now Grin project can test everything with MimbleWimble, maybe to find possible problems and solve them. The best practice could then be implemented at Bitcoin. There is no conflict of interests between Grin and Bitcoin, don’t worry; the reason for this will be the absence of direct owners at both protocols.
I am a big fan of Grin project. And I wish them all the best.
I guess everything at crypto goes as it should, and I am so happy with that.