Mimblewimble Protocol - Crypto Academy / S4W2 - Homework Post for @fredquantum
Hi friends, From this Today lecture from @fredquantum I learn about the New Blockchain Technology Protocol of Mimblewimble Protocol.
Thanks for making it like a wonderful lecture to us.
In detail, explain your understanding of the Mimblewimble protocol.
Mimblewimble name itself telling what this inner meaning. Mimblewimble means preventing them from making coherent speech.
This word is taken from Harry Potter and this is one of the characters in that story.
Still, we don't who is Satoshi Nakamoto's but we know he is the person who published Bitcoin Whitepaper at first.
Same as that Mimblewimble Protocol white paper first published by Tom Elvis Jedusor, an alias name referenced from Harry Potter, in June 2016 but the mainnet is now live.
This means still we don't know who is Tom Elvis But His motto of this Protocol is Mind-Blowing, No one not imagines how it's possible. But they work on this Protocol, some projects start building using Mimblewimble Protocol.
This Mimblewimble Protocol main intention is Hiding Sender and Receiver Address along with the amount.
Here we get some confusion with our sender and receiver address how a transaction is executed, how validators verify it. Like those doubts, we get the first time on knowing about this Mimblewimble Protocol. But this protocol solving this confusion by using some Math magic they trying to reach their goal.
Using this protocol we can solve privacy, scalability and fungibility issues that we at present are facing very easily.
This Protocol is very different from Traditional Blockchains but more compact implementation, So It makes the download, synchronization and verification processes very easier compared to traditional protocols.
In Mimblewimble Protocol, there are no addresses for senders and receivers and transactions are fully confidential. So not possible to get details about who sending, by who receiving, how much they sending, what they buying like those details are not possible to check.
In General, on checking any wallet address in Bitcoin Scanner, we get full details about that wallet address in the present Protocol.
For Example, here I checking this wallet address in 0xF977814e90dA44bFA03b6295A0616a897441aceC in ETH SCANNER.
Here you can see Sender and receiver address, and how much they sending, which assets they sending along with what other coins are in his wallet. Like those all details possible to check.
Those details are useful for Crypto Reachers but getting all those details publicly to others is not good for wallet holders. Because here he listing his Privacy and Security.
At the same time storing all those details consume a lot of Blockchain storage also.
For solving those issues Mimblewimble Protocol was developed by some unknown persons.
In this Protocol, He doesn't have any details about the sender, receiver or amount also. After finishing those transactions, all those data were destroyed so no storage issues here. And also getting Privacy and Security. But this Protocol also having a lot of loopholes so need to develop more before use.
In Mimblewimble Protocol we can't Identify Sender and Receiver addresses. Because it looking like this.
This is the main difference between Mimblewimble and Traditional Protocol.
Discuss in detail how the Mimblewimble blockchain protocol works.
In Mimblewimble Blockchain Protocol all Transaction Execute Privately in a unique Security framework using Elliptic Curve Cryptography.
Source
In our school days, we all learn about logarithms. On using the same concept Mimblewimble Protocol Work.
For Example 2^5= 32
This Equation on using Logarithm we wrote as.
Log 2(32)= 5.
This means here we need to multiply 2 itself by 5 times we get 32 as Answer.
On combining Elliptic Curve Cryptography and Logarithm equations here Transactions executed.
Doing those calculations Manually is very hard but Computers can solve all those within a fraction of seconds. So here Transactions execute very faster.
Now we discuss how Mimblewimble Transactions execute on hiding Data.
For the example, if I give the above calculation, all give answers very quickly on using Paper and Pen within a second.
For Example, if I hide data like below, calculating this equation is not so easy. Because it took some time to solve this equation. Because here some data is missing.
But we can solve by using assuming numbers randomly, and finally possible to find exact data.
All are we solve on using Multiplication tricks. Here if we hide data from the public it's very difficult to unscramble.
In Mimblewimble amount, sender, receiver address is hidden. So that calculation is similar to looking below. But not exactly.
In Mimblewimble Transaction, the receiver and the sender must be involved in Transaction. Otherwise not possible to execute. But they no need to be online at the same time but must need to involve in Transaction.
So here Transaction equation looking like this.
This type of involvement is called Pedersen commitment. Here sender and receiver possible to see how much amount, which assets they Transaction together, no other person not possible to see that details. Because this transaction lock with a key. Those keys are only known by sender and receiver.
Here the most important thing in this Transaction is the Amount part and the key part is visible but indirectly it is multiplied by a big number. So finding exact data is not so easy for others. That's the beauty in this Protocol.
In any Mimblewimble transaction, it consists of two Pedersen commitments.
one is money that goes into the transaction, and another one is the money that comes out.
For Example, there is Mob and Rob. On using Mimblewimble they need to Transfer their assets together.
Mob wants to send 5 Dot Coins to Rob. So here Mob is sender, Rob Is receiver.
As per Mimblewimble Protocol. Then edition would be looking like.
Here -5 means he sending 5 coins, so it deducts from his wallet, +5 means it is added to Rob wallet.
This above evaluation we also write like
On using maths Formula
(a+b)*c = (a *c)+(b * c)
Same formula we applying here also. On merging here we get
So the final answer would be
So here amount would become vanished at coming to end. So not possible to find what they Transfer between them. Only key files and a big number is visible to us.
Using this finding buyer and sellers addresses is not possible, simply say it completely hiding from others in the blockchain.
That's why this protocol is named Mimblewimble. Because all looking easy to find but solving those calculations is not so easy because it hides with Math Magic.
Based on the above formula Mimblewimble Transactions execute on Blockchain.
Discuss in detail your understanding of Confidential Transactions(CTs)
Confidential Transactions means hiding Eder, Receiver address along with amount from others. Here only Sender and receiver know the details, no other persons not possible to get that information.
Here all Transactions are done privately, from this we get privacy and security too.
Confidential Transactions Protocol allows transactions to execute inside the network but here all data is encrypted. For validating Transaction, the validator just needs basic information, those data openly available, so on using that data validator verify the Transactions. So here Transaction gets successful.
But those are not real data, because data multiplied with nig numbers. Identifying the original sender, receiver and amount by normal persons are not possible. This is the magic of this Protocol.
At first Confidential Transactions(CTs) protocol was introduced by CEO of Blockstream, Adam Back, in 2013 on seeing privacy and eligibility issues in present Bitcoin Network.
Then after Gregory Maxwell start developing this Confidential transaction (CTs) protocol and try to give real usage.
Example of a Confidential Transaction (CT)
For Example, there is Janu and Raj, want to exchange some coins using the Confidential transaction (CTs) protocol.
Janu wants to send 3 monero from a total of 5 from her wallet to Raj address.
In Confidential transaction (CTs) protocol sender and receiver must need to in value in Transaction. Because here they need to add a big number to multiply their address, and finally calculation set to equal.
After setting the needed data they start the transaction. But for executing any transaction inside the network validator must need to verify.
For verifying he just needs basic details, those details they get from equation very easily. So he verifies that Transaction very easily. So Transaction gets to execute.
Here Janu sends 3 Monero to Raj and stores his remaining 2 monero in her wallet.
Here Raj also knows janu sending 3 Monero but don't know how much she holding in her wallet, and where she and how she arranges that information also.
Because here Transactions are encrypted so not possible to find these details publicly.
From this, we getting privacy and fungibility to our wallet.
Formulation of Confidential Transactions
C (BF1 + D1) + C (BF2 + D2) = C (BF1 + BF2, D1 + D2)
BF is random data or blinding factor
D is the transaction data
C (BF1 + D1) is the direction of change
C (BF2 + D2) is the destination address
C (BF1 + BF2, D1 + D2) It is the address of origin of the funds.
Using this simple formula that guarantees the security of the data within a confidential transaction.
At present Monero using this protocol for Transactions needs. So by using this network we can do Transactions privately in the Monero network very easily.
Like that Confidential Transactions work inside the network on hiding sender, receiver address along with amount too.
How do you think Mimblewimble Protocol can be utilized on the Bitcoin Network to enable anonymity of transactions and improve scalability?
Now we know what is meaning of Mimblewimble is, it's the calculation and How it works. Now we try to understand how it solves present issues in Bitcoin Network.
In Bitcoin White paper itself include this network having privacy limitations. Most people don't agree with this but it's true.
Because in Bitcoin network all data is open to all, so anyone can check and research on it.
In the Bitcoin network sender, receiver addresses and amount is open to all. On taking any address from blockchain, we can go back to their history, which coins he buying, where he buying, how much amount he holding like those details we get openly. But here who is that person not possible to identify, but his wallet details are open to all.
On using those details anyone can track that wallet easily.
On using https://www.blockchain.com/ anyone can track wallet Transactions very easily.
Like that we trace all details in Bitcoin Blockchain. So here wallet holder losing its privacy and Fungibility.
Along with holding all those data, It uses a lot of space in the Blockchain chain, so we also facing storage issues. Due to this unwanted data in Transaction it taking a huge time to validate.
For solving all those issues Mimblewimble protocol came. Here Transaction occurs without address and amount too. Those are hidden with Math Magic.
Mimblewimble use Cut-Through technology for cutting unwanted data. So here Block size get reduce so Transaction execute faster and occupy less space in the blockchain.
Here Cut-through technology enables the aggregation of inputs and outputs from transactions.
For Example, if you want to send 1 ETH to your friend. So here 1 input and 1 output. But your friend again sends this 1ETH to some other person. So here is also 1 input and 1 output we get. So total 2 inputs and 2 output in this Transaction.
With the help of cut-through technology in the Mimblewimble protocol, Mimblewimble aggregates all the inputs and outputs and unifies them into a single input and output. So all data store in one block from this we saving space. The validator also valid this transaction very easily, no need to check the previous node for clarification. Because all data aggregate in a single node.
This type of calculation that Mimblewimble performance is called Confidential Transactions.
Confidential Transactions allow the user to encrypt their sending amount of data using blinding factors.
In Confidential Transaction only the sender know how much data he sending, others not possible to visible because those data bind with blinding factor.
Here Other people can still verify the transaction by checking the number of inputs and outputs is the same, but the amount real amount is not possible to identify.
In Mimblewimble, blinding factors are chosen by the sender, then after he given to the receiver using proof of ownership. So only those two persons are possible to know this Transaction details, others not possible to identify this Transaction complete details. But they know something transfer from one wallet to another wallet only. But not possible to identify who sending, how much sending, at the same time who receiving also not possible to identify.
Mimblewimble was created to improve the Bitcoin network. But in mimblewimble data is hidden, block size it reduces, some data is erased so not possible to do time-locked transactions and atomic swaps using mimblewimble protocol. So here it reducing Bitcoin use cases.
That's why now Mimblewimble we used as a sidechain. Means who need privacy Transactions for their assets would use this Blockchain and take advantage of the strongest privacy here. Then after they also move their assets to Bitcoin Blockchain, where users do not get any issues regarding it. Just changing output data they can transfer funds from Mimblewimble Blockchain to Bitcoin Blockchain also.
By using Mimblewimble as a side chain we can reduce the burden from Bitcoin Blockchain on reducing Block size, we can improve scalability very easily without using mimblewimble blockchain directly.
By using the sidechain of Mimblewimble we can improve scalability in Transactions very easily. But still, need to develop more. Then only all start using this protocol.
State the Pros and Cons of the Mimblewimble protocol.
In each new development, there is some Pros and Cons. So we must aware of both before using those.
Pros of Mimblewble Protocol:-
Blockchain size:-
All we know in Mimblewimble Blockchain, data is comprised so overall block size reduces here. So downloading those files or synchronising those for verifying is done very faster.
Verifying new nodes, downloading into MV Blockchain is very easy. So it reduces storage space in Blockchain.
So here it reduces the overall cost for verifying, so the Transactions fee is also very less here.
For verifying nodes in the Mimblewimble blockchain it takes less mining power so much so it reduces the burden in many PoW blockchains due to this.
Scalability
Mimblewimble works as a sidechain so we can attract this protocol to any network. So here it improves the scalability of those networks indirectly.
The Mimblewimble protocol is also designed to improve the performance of payment channels, such as the ones used by the Lightning Network also.
Privacy
In Mimblewimble coins are Fungible. Due to this Fungibility property here all units are interchangeable with any other unit of the same coin.
Means here Receiver, Sender address along with Amount of assets are hide with using Math Magic. So no one not possible to identify those data publicly. Oy sender and receiver only know about.
So here we getting high Privacy compared to the Bitcoin blockchain.
Cons of Mimblewimble Blockchainain
- Scripting
This is the main disadvantage of the Mimblewimble protocol. Due to it's through script not possible to integrate this protocol into Lighting Networks.
- Not Support AMA
Using this protocol not possible to do AMA's,multi-signatures and timelock transactions like those not possible to do in Mimblewimble protocol.
- Quantum Computing
At present quantum computing advances as current UTXO blockchains.Not possible to use the Mimblewimble protocol. For using they again need to change everything. It's Time and Mony consuming Task.
There is a chance of ramifications attacks in Mimblewimble does it need more development to overcome this issue.
Here Sender and Receiver must be involved to complete the Transaction.
it's not possible to integrate 1-on-1 into Bitcoin. Only possible to use as a Sidechain
Discuss in detail at least a Crypto that uses the Mimblewimble protocol.
Some projects already start working to implementing Mimblewimble Blockchain. Along with Bitcoin and Litecoin developers also looking fo ding ways to utilize Mimblewimble features without sacrificing the exciting UTXO Design.
At present Grin, Beam and some other networks start implementing Mimblewimble Protocol.
Grin
Grin is a fully open-source and Community Driven Project. This project run completely on using Donations. So it won't have any single entity behind it. So Everyone can participate and discuss, influence and work on it to future development needs.
Grin is a minimalistic, lightweight cryptocurrency project. It runs on using Mblewimble Protocol for improving Privacy and Scalability.
So this chain does not need to address, no need for data for transaction needs and also don't store any data in their network.
At present Grin is trading around $0.34 with USD 3,117,607 trading volume in exchanges.
Its Total supply is around 84,029,400.00 GRIN with a $28,749,157 Marketcap.
This coin trading in all major Exchanges like ZT, HitBTC, KuCoin, Gate.io, and BKEX Exchanges.
It's the official website https://grin.mw. Their website and Design looking more attractive but need more development and publicity to reach Users.
Grin project not owned by any company or any person. So this coin distribution also going fairly. So they offering with emission of 1 GRIN per second to all users.
Grin simply we say as privacy-focused, scalable Mimblewimble chain implementation project.
This project aims to serve as a digital currency. To provide Electronic Transactions to all without any restrictions and censorship.
Grin wallet comes without any graphical user interface (GUI). But we can use this project very easily by following their instructions.
On their website, we get all the needed help and services for utilizing their services.
We can also join and share our ideas for further development needs on joining their community.
At present they receive nearly 3.8k GRIN,96.87 BTC as a fund from throughout the world.
Grin journey start around January 2019 with anonymous Developers.
Its design looking very simple, fast, hold a fixed block reward of 60 Grins over time with a decreasing dilution. This network is different from Bitcoin, ETH and other networks.
Here all Transactions are indistinguishable, and the block looked like 1 Grant along with it don't associate with Input and Output. So here it reducing scripting problems.
In my opinion upcoming Future we see good growth in Grin Project.
Conclsion:-
In Mimblewimble we get confidential Transactions.
With help of Elliptical Curve and Cryptography here Transactions execute.
Here Sender, Receiver address and about of Coins also hiding with Math Magic. So no other persons not possible to identify exact information in Mimblewimble Protocol. Even IP addresses are also hidden here.
Through Mimblewble we getting Privacy, Fungibility and scalability.
Due to the reduction of data here Blocksize get reduced, so Transaction cost and Time also decrease.
Grin is an Open source network build on using Mimblewimble protocol.
Grin has no address and no amount. This project run on using the Donation fund.
Grin project mo owned by any company or person. So anyone can participate and share our ideas for future development needs.
Due to it's a limitation not possible to use 1 on 1 chain in the Bitcoin network. Only possible to use it as a side chain.
It is a good choice than the Bitcoin network but not getting much popularity. For getting wide uses it needs to develop more and needs to overcome its limitations. Then only we see more projects come with using the Mimblewimble protocol.
Thanks For Reading My Post
this is something mind-boggling. im still learning about blockchain protocol and the new protocol arrived ha haha. @lavanyalakshman
Yes ,Now we are in learning stage but Technology going faster than us.
Thanks for stopping my post.