If you ever cared about the privacy of your crypto transactions, you likely came across names like MimbleWimble, Beam, and Grin. If you’ve ever read a Harry Potter book, you’ll probably recognize some of the terms mentioned above.
For those that are new to Bitcoin privacy, Harry Potter lore would probably be among the last things to come to their mind when thinking about cryptocurrency. Still, the popular cryptocurrency protocol mentioned above has deep roots in both of those worlds.
The MimbleWimble project was originally envisioned back in 2016 by an anonymous individual who decided to use the pseudonym “Tom Elvis Jedusor”. His name of choice is a French translation of “Tom Marvolo Riddle”, which is the acronym/name of Lord Voldemort, the biggest villain in the Harry Potter book series.
This individual/group of individuals went the “Satoshi” route and chose not reveal their actual identities when publishing the details of their MimbleWimble project. The name of the project is also closely related to the popular young adults book, as “MimbleWimble” is a tongue-tying spell that prevents people from revealing touchy information and secrets in the Harry Potter lore.
The creators of MimbleWimble clearly figured that some sort of magical solution is required to overcome Bitcoin’s privacy issues. These issues seemed insurmountable once, as each Bitcoin transaction exposes the sender’s address, transaction size and the address of the receiving individual on the public blockchain.
This level of transparency was an intentional design flaw of the protocol, as Satoshi wanted to make the process of verifying the validity of Bitcoin transactions easy and straightforward. All you have to do to make sure a transaction went through is to look it up on a blockchain explorer.
This naturally creates a problem for people who want to use Bitcoin, as their financial dealings can easily become deanonymized. While one transaction on the blockchain doesn’t contain names or personal information of the one who’s making it, once you give out your address to someone (either by paying them in BTC or receiving BTC from them) your privacy is as good as gone.
People who you’ve transacted with can either track your Bitcoin dealings themselves or can expose your address publicly, giving “interested” third parties the ability to do so. This can make some Bitcoins less fungible than others, as those tracked BTC might be less valuable than the ones that haven’t been “exposed”.
MimbleWimble looks to solve Bitcoin’s problems with privacy and fungibility by utilizing new technological solutions that are designed to change how Bitcoin transactions are constructed and made. Additional benefit of this protocol is its ability to reduce the data footprint of Bitcoin transactions, leading to improved scalability. Technological solutions we mentioned include Confidential Transactions and Pedersen Commitments.
Developed by Bitcoin developer, Gregory Maxwell, and also deployed on Blockstream’s Liquid sidechain, CT’s let users hide the amounts of a transaction so that only the sender/receiver know how much was actually sent. This technology allows senders to encrypt the number of Bitcoins they want to send using what we call blinding factors, elements that are made by combining the transacting parties’ private and public keys.
In MimbleWimble there are no addresses. Blinding factors are used to connect two members of a transaction. The blinding factor is shared between the two parties that are transacting and no outsider has access to it. Later on, this blinding factor can be leveraged to prove ownership of the values that were sent.
The factor is ultimately used to encrypt the inputs/outputs of the transaction as well as the public/private keys of the transactors. Using a piece of technology called the Pedersen Commitment (where full nodes subtract the encrypted amounts on the sending side of transactions from the encrypted amounts on the receiving side of transactions), network verifiers can confirm that the transactions are real and no cryptocurrency was created out of thin air.
MimbleWimble combines these two technologies while stripping them off their scripting behavior, which ultimately leads to it being a protocol that is capable of providing privacy and fungibility, as well as transaction confirmation, without endangering scalability.
This is achieved through another Maxwell’s idea called CoinJoin, one that allows for transaction aggregation; by combining several transactions into a single big transaction where all senders send money to all receivers we can obfuscate which receivers get which coins, in a manner similar to what you see with the RingCT technology (a feature used in popular privacy coins Monero and Zcash). As a result, MimbleWimble-made blocks appear as randomly mixed inputs and outputs on the blockchain explorer, without clear connections to actual correlating inputs/outputs.
It is clear that MimbleWimble introduces a unique blend of privacy and scalability to Bitcoin. Your transaction is sent “in bulk” with other transactions and its value is a mystery to the network or any outside observer; as no addresses are used, no one can connect your name to a single address and later track your transaction activity. The protocol allows us to “summarize” the transaction data, making it much less taxing for the nodes to retrieve this information.
This is just the tip of the iceberg of the MimbleWimble technology; if you want to learn more, check out the official introduction into the protocol given by the Grin Github. For a quicker intro into the project, check out this “Mimblewimble explained like you’re 12” article or this explanatory video made by the popular crypto YouTuber Ivan on Tech.
Two projects that are attempting to build a MimbleWimble-based cryptocurrency are called Beam and Grin. Alongside Grin, Beam represents the first live implementation of this protocol. Beam development began sometime after Grin’s, with the development team taking an approach similar to the one of Zcash.
This approach means that the project has an official foundation behind it, one which supervises and funds its development. This foundation is set up in Switzerland and is actively looking for VC investors and development partners to help them out.
Beam Foundation chose to write the Beam protocol in C++, originally keeping the code closed source, before opening their repositories recently.
Their initial philosophy was a stark contrast to their at the time competitor Grin, which went open source from the start and also didn’t create an official foundation to back things up (but is rather a community-organized, funded and developed effort). Grin community chose Rust as their coding language of choice.
Since Beam opened their code to the public, they started cooperating with Grin community, and now both projects want to help eachother and grow through a mutual change of ideas. This is mostly made possible by the fact that these projects are looking to position themselves not as market competitors but rather as two complementary products.
Beam wants to act as a confidential store of value, while Grin would prefer to encourage wider use of their coin by taking the role of a medium of exchange.
This is also reflected in the economic models of these projects: Grin intends to have a constant coin release schedule, without limiting its supply. Meanwhile Beam has adopted a model similar to Bitcoin, where it will have a limited supply that will eventually be mined out.
Beam’s supply is capped at 263 million BEAM tokens with a Bitcoin-like deflatory mining scheme that halves block rewards over time. The block reward for the first year is 80 BEAM coins per block; this will halve approximately every 4 years until the 133rd year when emission stops.
At the same time Grin is looking to introduce an uncapped linear inflatory model, one that expects to see continual growth of the Grin network/user base. 60 new GRIN tokens are mined with each Grin block (added every minute to the blockchain); the number of coins released per block will reduce over time, heading towards zero but never actually reaching it.
Both models are relatively popular in the modern cryptocurrency market and have mechanics which enable the respective tokens to maintain their price/become more valuable over time; will this actually happen depends on the market.
This project is still very early in its development cycle, even with its mainnet being live. Ultimately they want to expand the MimbleWimble protocol base with such features as Schnorr signatures, Bright Boson (a working development for atomic swap support with Bitcoin) and related hardware wallet integration, offline transactions, pool support, Atomic Swaps with BTC, mobile wallets, payment platforms integrations and opt-in auditability.
This final feature will be implemented by splitting the development into two routes: Beam Core and Beam Compliance. While Core is open source and allows for community audits and contributions, Compliance is more business oriented and allows companies to adjust the protocol to their liking without revealing their full set of features to the public.
Beam wants to bring a user-friendly implementation of the MimbleWimble protocol to the crypto markets. The project already has a wallet with a solid graphical user interface that is suitable for crypto beginners.
This wallet can be downloaded from their official website, either in the form of a desktop wallet app (that has an included CPU miner node) or as a CLI wallet for more advanced users. With Beam’s mainnet being launched, the project encourages the community to download either full Beam nodes or standalone OpenCL/Cuda miners.
Beam utilizes the Equihash PoW mining algorithm for block creation. Grin utilizes the same algorithm but adds a Cuckoo Cycle twist to it to force initial GPU mining. Beam is currently GPU/CPU mined, but the plan is to hard fork the algorithm in the future and include ASIC miners once the network is decentralized enough. For those who want to test some of the mentioned Beam’s technology out, they can get in on this link. Overall, these two projects have a lot of similarities and differences which were nicely summed up by the Bitcoin brainiac Andreas Antonopoulos in this video. You can learn about Beam itself straight from the horse’s mouth by checking out this interview with the project’s CTO, Alex Romanov.
Beam Roadmap and Future
We focused a bit more on Beam in this article, as Grin was already covered here. The projects are early in their bootstrapping phase, looking to grow their communities and networks in order to secure their blockchains/kickstart their economies.
This is an important step as a bigger support network means more security from a 51% attack, the ultimate bane of a PoW cryptocurrency. Both projects will also need to deal with the lack of scripting that comes with MimbleWimble; if they want future Atomic Swaps/Lightning Network integration, scripting is a necessity.
Finally, there’s the problem of sender/receiver having to be online to complete a confidential transaction (another feature of MimbleWimble).
We can’t say for sure what’s in store for these projects in the future. What we can say is that both Beam and Grin represent interesting and unique takes on the MimbleWimble protocol; these two could potentially deliver storage of value/means of exchange combo that would have the privacy/scalability features required for commercial adoption of cryptocurrency.