Riddikulus!

Thoughts on Mimblewimble, Grin, Beam and the future of cryptocurrency

Victor Hogrefe
Published in
9 min readDec 16, 2019

--

TL;DR: Both Grin and Beam will not succeed for different reasons, and miss the point of what is really needed in privacy coins: stability.

After hearing about the promise of Mimblewimble for almost two years, I finally decided to look into it a bit more. I’m sure most readers are already aware, Mimblewimble is a protocol anonymously suggested in 2016, which was supposed to solve some of the privacy and scalability problems of Bitcoin. Named after a Harry Potter spell, blah, blah, blah, I’m sure you don’t want to read the same thing in every article about this project.

Fair warning: I’m coming at this as an outsider. I don’t know any of the history in detail, and I’m not particularly familiar with the people behind Mimblewimble.

Basically, the idea is that transactions can be secured more privately if a coinjoin mechanism is part of the protocol layer. Further, Mimblewimble gets rid of addresses, and instead uses commitments, the parameters of which are known as blinding factors, and are essentially private keys that allow users to spend their outputs. Transaction amounts are hidden, and the network uses a dandelion protocol when broadcasting, in order to obfuscate the node of origin.

One of the main advantages is scalability as the entire chain is very lightweight in terms of data storage (The entire Grin chain is currently a bit over 1 GB in size). However, both Monero and Zcash have stronger privacy, and some regard Mimblewimble as merely a Bitcoin testnet on which new and radical protocol-layer changes can be experimented on. In fact, the above-mentioned anonymous paper was originally published as a Bitcoin improvement.

There are two current implementations of Mimblewimble: Grin and Beam. Both of them have their strengths and weaknesses, and both of them have major flaws. I’m not necessarily talking about technical flaws or bugs, but about the outlook of the entire project. One year after the mainnet launch of both projects, it might be time to ask some questions.

The most obvious difference between Grin and Beam is that Grin is a grassroots, community-driven open-source project, while Beam is a venture-backed professional endeavour. Grin did not do an ICO, or pre-mine, nor does it reserve mining rewards for the devs, while Beam did make some of these choices in order to recoup some of their development costs, and potentially profit from price increases. While I applaud Grin’s commitment to being as open and community-driven as possible, it also introduces a problem: it is a very slow-moving project. It took Grin three years to launch their mainnet, while Beam merely required nine months.

Grin

The slow speed alone makes Grin less viable to ever go anywhere. Here are some of the major problems I see for Grin as it currently stands:

  • There is no money in it, since development time is mostly volunteered, and mining rewards are so low, given Grin’s exchange rate, that it is just not worth it. Mining Grin is basically pointless, since the reward does not justify the effort or electricity costs. I let my two 1080Ti’s mine Grin for a few days, and made about 1.26 Grin (about USD $1.3), not accounting for electricity costs. Hoping for the Grin price to skyrocket is a long-shot. That being said Grin has a much more interesting approach to proof-of-work with its Cookaroo and Cookatoo algorithms, instead of Beam’s rather unexciting reliance on Equihash. Both of these graph-based algorithms rely on memory as limiting factor, and are thus much more difficult to scale up than SHA-256 for example.
Command Line Grin Node Interface
  • User un-friendly: It is hard to overstate this point: Grin is terrible to use. Just awful. If you are not a developer, or have pretty good command-line skills, forget it. You thought Ethereum was difficult to work with? At least Ethereum has smart-phone wallets, addresses, chrome extensions, and a huge development community. Grin feels like the crippled child of disgruntled Ethereum devs who thought that this whole distributed ledger thing was getting too mainstream. This is really where the hype should have broken down long ago, but of course the vast majority of “crypto-enthusiasts” never actually use the currencies they are “investing” in.
  • Difficult to transact: this goes to the user-friendliness point, but I’ll separate it out just to add emphasis. You can’t just send Grin to other people like you send Bitcoin or Ethereum, etc. That would be too easy. There are basically two ways to do it: you can send money via file, or you can send it via http requests to certain IP addresses, which need to be specially set up and configured for this purpose. Users also need to be online and listening with their wallet at the same time, or it doesn’t work. In order for me to send Grin to you, the easiest way is to go into my command-line wallet, while simultaneously running a node, create a special transaction file, and then send you that file via email. Then, you need to download that file, ‘receive’ it on your command-line wallet, and send an auto-generated response file back to me, where I can finalize the transaction and we’re done. Could it be any easier?
Grin Command Line Wallet
  • Low volume. It goes without saying that there are basically no transactions on the Grin network. A good number of blocks are empty, and even if they are not, they usually only contain one or two inputs and outputs. I suspect that at least 95% of these transactions are coming from exchanges, Grin mining pools, and Grin developers testing their wallets. On exchanges, of course, the general public is shielded from all of these technical details, and can happily speculate on how awesome Mimblewimble is, without ever having to actually use it.
  • Individuals and groups running Grin community infrastructure, like websites, mining pools, etc. face real costs: server costs, development costs, opportunity costs. A slow-moving project is less likely to have enough infrastructure retention. Recent examples are the shutdown of both Grin-pool and mwgrinpool for exactly these reasons.
  • Individuals are less likely to stick with a project for many years, especially if it moves slowly, because they lose interest, become interested in something else, or are distracted by life events and changes.

I’m not trying to bash the efforts of Grin developers, but these problems are real, and persist a year after mainnet launch, which means that basically no-one can use Grin, which doesn’t help its chances very much.

Beam

Right off the bat, Beam is just nice. There isn’t much I can say about it, really. It is a real product, it looks good, it’s user-friendly, etc. It took me just two minutes to set up a Beam wallet on my computer and felt no different than setting up Bitcoin. They even offer atomic swaps between Beam, Bitcoin, Litecoin, and QTUM. One currently must run a full Beam and Bitcoin node in order to participate in these swaps, but it is still a very cool feature.

Beam Desktop Wallet

On the transaction side of things, Beam attempts to create more anonymity by generating a number of decoy inputs and outputs for each transaction, which makes the network look much busier than it really is, and is meant to confuse any investigators trying a linkability attack of the Ivan Bogatyy type, even though one could argue that the attack can be modified to account for these tactics by running a large number of malicious listening nodes.

What is the point of private currency?

Let’s take a step back and consider a few things in general. Is Grin cool? Undoubtedly. It is one of the coolest, technically interesting projects in the blockchain space, and it is sticking to its cypherpunk philosophy. Will it succeed? It entirely depends on what the definition of success is. If success means that Grin can be used as a basis for testing possible changes to the Bitcoin network, then it can certainly succeed. If it wants to become the coin of commerce, it will fail, just like Beam.

Both Grin and Beam agree on one thing: true privacy and scalability are incredibly important. But, neither Grin nor Beam will ever be adopted on a meaningful scale, because no one will ever use a non-stable currency for commercial purposes. We already have Bitcoin if you want to invest in a crypto asset, or transfer large chunks of money around the world. But no-one is using Bitcoin to buy a coffee, because that would be silly (And don’t get me started on the lightning network, which is essentially a cool solution to a problem that no one was having). What we need is a stablecoin: completely anonymous, private, stable, and globally decentralized. Over my years working in the crypto-space, I have become convinced that this is the only thing that matters in cryptocurrency; the holy grail. A truly stateless, global currency.

Aside from the major technical problems of this, like every attempted type-3 (non-asset backed) algorithmic stablecoin having failed so far, there are also fundamental structural difficulties, which are exemplified by both Grin and Beam. You can have cypherpunk, open-source, part-time development, but it will be incredibly slow and won’t produce anything user-friendly anytime soon. Or you can have venture-capital-backed, efficient, organized development like Beam, and be completely shut down by regulators and anti-money laundering organizations who will see a decentralized private stablecoin as the ultimate money laundering tool. The only reason Beam hasn’t gotten in trouble yet is because nobody is using it.

Facebook Libra is already being shut down by major countries because of “KYC concerns” and Libra isn’t even attempting to be private, so if you think Beam stands a chance, don’t kid yourself.

And this is the paradox of the holy grail: you can’t really do it subversively, because you lack the resources, and you can’t do it corporately because you’ll go to jail.

Don’t be fooled by the current compatibilist talk that is floating about the blockchain industry. Cryptocurrency can be used only in two ways: to completely control and monitor everyone, or to completely privatize and hide everyone. There is no middle ground, as any such attempt will be swallowed by the authorities, or will decay into total control or censorship.

I’m not talking about other uses of blockchain here. Sure, you can have decentralized assets, real estate, supply chain management, document verification, smart contract gambling, and an internet of value, etc. But that isn’t about currency. Cryptocurrency can only go one of two ways: a private, decentralized stablecoin, or a currency that is either directly state-controlled (state-issued crypto), or is easily monitored and regulated (like Bitcoin is beginning to look). While we can try to make Bitcoin more resilient to censorship and analysis, it remains more of a commodity than a currency, and fluctuates too wildly to ever be the basis of the world economy.

Everything is heading towards less privacy, more control, and more surveillance, and we need to cherish and build the only technology that has even the slightest chance to go the other way, and protect the freedoms we are so willingly giving away ‘for free’.

--

--

Victor Hogrefe

Tech Entrepreneur, here to share thoughts on technology, politics and other philosophical musings.