Tom Elvis Jedusor created Mimblewimble to provide solutions to both privacy and scalability issues in cryptocurrency. Mimblewimble is named after a spell from Harry Potter that prevents people from spilling secrets.
Mimblewimble technology is incredibly complex. In this article, we will break down the basics of the technology and its applications.
Mimblewimble looks to verify transactions by ensuring that the sum of a transaction’s output, minus the sum of the input, equals zero. This is achieved by utilising Confidential Transactions that prove the creation of new funds.
This concept of validating transactions without knowing the values is reminiscent of zero-knowledge proofs in Zcash and RingCTs in Monero.
One important aspect of Mimblewimble is that it does not use addresses. Instead, two wallets communicate with each other to exchange data. Only the participants will be able to read the data, and the information is not reusable by outside parties (the two parties do not even need to be online at the same time).
Reducing the size of blockchains
One of the reasons why Mimblewimble is increasingly promising for the crypto community is its pledge to reduce the size of blockchains.
Mimblewimble looks to accomplish this by aggregating all transactions into a single transaction with the inputs and outputs mixed together. As such, if someone were to view a block of transactions, it would provide them with inconsequential information – there are no insights into a sole transaction.
Therefore, nodes verify the legitimacy of a transaction without revealing any values or information associated with the transaction.
Mimblewimble’s approach to solving scalability is more direct than previous Layer 2 solutions. Layer 2 solutions are used to scale blockchain transaction capacity while still retaining the benefits of a decentralised and distributed protocol. It is commonly thought that solving the issue of scalability will help blockchain technology’s adoption into the mainstream.
For context, a popular Layer 2 solution is the Lightning Network (LN). The LN is a payment protocol that operates on top of cryptocurrencies, like Bitcoin. It provides faster transactions between nodes and is dubbed as the solution to Bitcoin’s scaling issues.
The LN works by opening a payment channel to the relevant base blockchain (Layer 1). This is then followed by any number of Lightning transactions that update the distribution of the channel’s funds without broadcasting to the blockchain. This is optionally followed by closing the payment channel and broadcasting the final version of the transaction to distribute the channel’s funds.
Mimblewimble, however, seeks to eliminate old and redundant transactions on the blockchain in a bid to improve efficiency. It removes the spent inputs on the blockchain by aggregating intermediary transactions together, thereby shrinking the size of the blockchain. This protocol employs a method called ‘cut-through.’
In a Mimblewimble block, cut-through transactions are solely represented by the transaction kernel, whilst all the outputs appear the same because they are represented by large numbers, and therefore it is not possible to differentiate.
If you take a look at Grin on GitHub, it provides an introduction to Mimblewimble. This introduction helps clarify and illuminate how Mimblewimble helps reduce the size of a blockchain.
“All that needs to be checked in a block is that ownership has been proven (which comes from transaction kernels) and that the whole block did not add any money supply. Therefore, matching inputs and outputs can be eliminated, as their contribution to the overall sum cancels out. Note that all transaction structure has been eliminated and the order of inputs and outputs does not matter anymore. However, the sum of all outputs in this block, minus the inputs, is still guaranteed to be zero.”
This application is remarkable for three reasons. Firstly, it ensures that no matching input and output can be determined whilst still retaining the ability to validate transactions within a given block. Secondly, it allows for the Mimblewimble protocol to become more scalable. And thirdly, the entire chain state can be validated, much like a full node, even if not a single user retains the majority of the blockchain’s historical data.
Grin itself is Mimblewimble’s cryptocurrency. It is coded to provide the same levels of privacy, fungibility, and scalability. The token achieves this level of privacy and fungibility by excluding addresses and transaction amounts. This is done by merging the transactions, thereby removing all intermediary information. Each block of Grin also appears as one transaction. All transactions within that block are not displayed.
All the spent outputs can then be removed with no risk attached. This aids in reducing the blockchain size. As a result of the reduced blockchain size, users are free to download and verify the blockchain. Furthermore, it is notably faster to do this with Grin than with other tokens.
There are three essential points to remember with Mimblewimble technology:
- It aims to provide an answer to scalability by reducing the size of blockchains.
- It aims to drastically enhance privacy through its method of blending transactions into one by not using addresses and removing all intermediary information. This, in turn, enables complete fungibility.
- The entirety of the blockchain can be verified even if nobody has access to the majority of the blockchain’s historical data.
For more information and guides from Coin Rivet, click here.