Crypto: the good, the bad and the ugly

It has been very frustrating watching the rise of cryptocurrency (which, forgive me cryptographers, I will be calling "crypto" from here on) because a whole bunch of smart people in tech seem to be very, very excited about it. When good new things show up in tech, I've generally found them intriguing. I'm by no means an early adopter, but once the train is leaving the station I am generally on board.

But crypto hasn't grabbed me like that. Every time I dig into crypto I find things that seem stupid, or useless, or actively bad. But so many people are into it! I'm a big fan of the wisdom of crowds, especially when it comes to technical choices, so a big crowd of people doing something that seems stupid really eats at me. I must be missing something!

So here, mostly to help me think about it for myself, I'm going to examine all the things that are good about crypto, and then all the things that are bad.

The good

Technical achievements

I'm going to assume you are already familiar with the basics of what a cryptocurrency is and how it works. Blockchain-based cryptocurrency allows you to create basically one thing: a currency, and a set of rules that govern that currency. You define how transactions in the currency happen, and you can define side effects to transactions. In a lot of the coins, like Bitcoin, the rules and side effects are very simple, and the result is to create something that works like money. You can store it, you can trade it.

In the more extreme variations, like Ethereum "smart contracts", the side effects can be "execute this piece of code", which allows you to create anything from a money laundering machine to things like Distributed Autonomous Organizations (DAOs), which are essentially wallets that hold money and have their own set of rules about how and why money should go in and out of the wallet. Those rules can involve holders of tokens who have votes in proportion to how many tokens they have, or any other set of rules about the governance of that organization. But they are still, at heart, money plus rules about money.

This is all quite cool and impressive, technically. A whole bunch of really tricky technical problems had to be conquered to achieve the goal of having a global distributed system on which people can execute arbitrary code. It's neat! As I see it, crypto represents two major technical accomplishments.

First, a system where nodes can cooperate without trusting each other, certainly a hard problem, has been solved. The solution was the currency itself: by cooperating, you earn money in proportion to how much you've contributed to the system. If you don't cooperate you don't get paid, so the incentive is to cooperate. You don't need to trust them.

Second, more important for the crypto with things like smart contracts, is that the problem of abuse has been solved. In a network of machines that allows anybody to execute arbitrary code, a huge problem is going to be bad programs running wild and eating all the resources of the network. That problem has been solved by making every action cost money (or computing time, which is essentially a proxy for money). Over-use of network resources is solved by making it prohibitively expensive.

The fact that any of this stuff works at all is extremely impressive. No argument there. And, importantly, it being a currency, the central concept being money, is critical to the solution. You can't do it *without* it being a currency, because being money is what solves the problem.

Financial engineering

This is the single smartest thing anybody who is pro-crypto has ever said to me:

The thing about having a successful model for creating a self-sustaining network of computers that model a currency is that for some people, that's enough. Some people find money and how it works intrinsically interesting. I spend a great deal of time building model cities and fighting fake wars in simulation games on my computer, so even though I find money boring I can imagine people finding SimMoney interesting. You can play with the parameters and experiment with new rules and game out the effect, which brings us to the next thing.

Entertainment

Crypto creates a massively multiplayer online game where the game is "currency speculation", and it's very realistic because it really is money, at least if enough people get involved. That means everyone's behavior is very realistic, and also if you win the game you have actual money that you can spend on other things you enjoy, like a 133 million dollar house.

NFTs add another layer to the game. Instead of just currency speculation, you're now simulating art speculation too! The fact that you don't actually own the art and the fact that the art is randomly generated cartoon images of monkeys is entirely beside the point: the point is the speculation, and winning the game by making money. This is, again, a lot of fun to some people, and in addition to the piles of money they also in some very limited sense own a picture of a cartoon monkey that some people recognize as being very expensive, so they can brag without having to actually post screenshots of their bank balance, which nobody believed anyway.

True cloud computing

Cloud computing providers like AWS and Azure are still (usually) tied to servers or specific instances: you are renting a certain amount of computing power for a certain amount of time. Those providers have terms and conditions and can cancel your contract. Running code on a cryptocurrency (called a distributed app or dApp) is different: once the app is deployed, it's possible for you to completely relinquish control of it, and it will run as long as anybody feeds it money. There's no way to take it down without taking down the entire network, which (per above) is highly distributed, so that's nearly impossible.

This is again a pretty interesting technical accomplishment; you can write an application that costs you literally $0 to run (because users pay in order to make it run).

Web3

Web3, as best as I can tell, is a vague term that encompasses using crypto technologies to create new versions of web technology. By virtue of being a currency, participants in such systems are rewarded instead of the inventors of the systems: a Twitter where your popular tweets earn you money, an Instagram where good photos directly support you. This is a lovely ideal but there are no extant implementations that approach this ideal, so it remains a cool thing to think about but I can't claim it as a good thing because it doesn't exist yet. There are lots of other definitions of web3, but none of them seem to exist either.

Overall

There is definitely something here. Huge numbers of people have been effectively incentivized to create a massive network of computers that can do arbitary tasks (I'm speaking of distributed apps, Bitcoin itself is much less interesting). As a technologist it's hard not to be impressed, and intrigued by the potential applications of such a system.

The bad

Environmental impact

The grievously wasteful nature of Proof of Work networks is the most serious objection to the most popular cryptocurrencies, including Ethereum (although it is trying to change) and Bitcoin itself. I also think it's the weakest objection, since there are extant examples of proof-of-stake cryptocurrencies that work. It seems if you want to do crypto things without burning the planet down, you can. Whether people will switch en masse to proof-of-stake chains depends on the answers to the other questions below.

Interactions at boundaries

This is in my opinion the biggest problem with a lot of the potential applications for crypto technology: the things that happen inside the network happen only inside the network. The interfaces to other systems, and to the physical world, are weak or non-existent.

A great example is NFTs: once an NFT is minted, the network contains a perfect record of who owns it and all the times it has changed hands. However, an NFT does not, cannot prove that the person who minted the NFT owned it in the first place. This is not a theoretical issue, with artists complaining that their work is being sold as NFTs without their permission. Even the cartoon apes were not sold by the people who made the art; the actual artists earned a flat one-time fee.

This presents a problem for the utility of NFTs, since it now requires that you either trust or verify that the original minter of the NFT owned the asset. And if you have to do that work anyway, or blindly trust, what is the utility of the NFT?

DAOs have a major boundary problem

DAOs also have this problem: if the purpose of the DAO is to have some real-world impact, such as buy a copy of the constitution or run an online community or whatever the fuck Friends With Benefits does (throw parties I think?), somebody has to actually do those things. Somebody has to show up to the auction and bid, somebody has to moderate the Discord, somebody has to buy chips and dips for the party.

The problem is that a DAO is not an employer or a legally binding contract. The DAO voting to do things has no legal weight. Even if you create a legal corporation to do the bidding of the DAO this doesn't get you out of the problem, because by law the people ultimately in charge must be a named set of human beings. Making it possible for software to employ humans as an independent legal entity is another neat idea but one that definitely does not exist right now.

So DAOs are ultimately reliant on humans who are gamely agreeing to do what the DAO says but aren't obligated to do so. This is strictly worse than starting a company or a non-profit to do whatever it is you want a DAO to do. It's more complicated and it's legally unclear at best.

Governance

Which brings us neatly to the next problem which is governance. All of the projects govern themselves differently but a common thread to many of them is that the size of investment (remember, everything in crypto is money) is proportional to your voting rights. In Bitcoin this investment has to take the form of actually buying computer time and hooking them up to the network; in others (and especially DAOs) there are actual voting systems.

This all sounds pretty democratic but in practice the majorities of tokens are always held by early adopters. Nearly a third of all bitcoins are held by 0.01% of its users (though Bitcoin doesn't vote by ownership, who owns the computers is much harder to figure out). The ENS early contributors control roughly 50% of the voting rights.

There's nothing intrinsically wrong with founders of projects controlling them, but it's not democracy, and it's identical to how startups work now. If anything, the concentration of power is greater and longer-lasting.

As with NFTs, the result is a much more complicated (and expensive) duplication of the existing system, so the utility of starting a DAO to perform an action versus starting a regular corporation or non-profit is unclear.

Unlike the fundamental boundary problems of NFTs and DAOs, the general governance problem seems solvable: you could establish a fairer system to distribute voting rights long term. But even if you have a totally fair governance system you still have the boundary problems.

Transaction costs and abuse at scale

Another fundamental problem with using crypto technology to build functioning software at scale is that the same good features that help solve the tricky problems begin to become anti-features at scale.

A big one is transaction costs. Imagine a Twitter clone that ran on crypto technologies. Everything that happens is a financial transaction. Presumably it would cost some very small amount of money to read tweets, maybe it could be free (it's very hard to imagine people paying just to read tweets), and it would cost money to post tweets. You can imagine some kind of system where the money earned from posting gets re-distributed to people whose tweets are read a lot, to encourage them to tweet more.

The problem is: how much should it cost? If it's very cheap to tweet, then the system will become over-run with bots, spam and other kinds of abuse. Twitter has huge and expensive systems to deal with all of this, CrypoTwitter has to figure out how to solve it with financial engineering. If instead you make it expensive to tweet, nobody will tweet, earnings from popular tweets will fall, those people will tweet less, and the network will die. (The same mechanic applies if you try to make the transaction following, or liking, or replying)

This goes for anything that wants to operate at scale. If you want billions of users to post millions of times per second, the transaction costs are going to have to be tiny. If the transaction costs are tiny, it becomes too easy to abuse. The bigger the scale of the thing you want to do, the harder this becomes.

Incentives for participation

Thinking about a theoretical CryptoTwitter brings up another big problem, again caused by the fact that the technology is also currency: incentives. The thing that keeps the computers in the network and keeps them cooperating is money. Either users must pay per transaction, and reward the computers that way, or there are tokens produced that have some intrinsic value and some kind of mining mechanism produces them.

It's hard to imagine how this would work for web apps as we understand them now. Consumers have come to expect that the cost of using a web app is free, the cost of reading news is free, the cost of getting email is free, sending messages to each other is free. Paying per transaction for these things creates a barrier to adoption.

Another way to do it would be to say that reading tweets and posting tweets are both free, and that tweeting itself creates tokens, maybe the tweets themselves are tokens. Then you can sell these tokens on a market. Why would anyone buy them? Not clear. Also, by making tweeting free, you've re-opened the hole for abuse mentioned earlier.

Maybe the money comes from somewhere else -- maybe subscriptions, or even advertising. But this brings us back to the same form of the previous problems: if CryptoTwitter is ad-supported, why run it as a currency? If users have to pay to use it, why would they do that when the former, ad-supported versions are free to use? What problem is solved by modeling a social network as a currency? What becomes easier?

Fundamentally: where does the money come from when the existing alternatives are free?

Web3 again

As Chris Dixon says in "Why Web3 matters", "Tokens align network participants to work together toward a common goal — the growth of the network and the appreciation of the token." That's great if what you're trying to do is create an ecosystem of tokens that appreciate in value all the time. What percentage of systems can be modeled that way?

The assumption of web3 seems to be "all of them", but it's not at all clear to me why that would be true. Why does playing a game, or making music, or watching a movie, or sending a message, or any of the millions of other things we spend time doing on the web make more sense or improve if modeled as a currency?

Lightspeed ventures has a roundup of the "web3/crypto/metaverse ecosystem" (when did the metaverse become the same as web3?) and every single project listed is a financial one: they are about getting paid, or investing, or selling.

Which isn't to say you can't marry the two: Axie Infinity is a sort of Pokemon clone where you have to buy your Pokemon, and you can earn real money by battling them and winning. Is this more fun than normal Pokemon? Maybe. But can every game be modeled this way? Certainly no single-player game could be; if you're the only person in the game, who can you transact with?

Fundamentally: is a currency a practical model for general computing?

The ugly

Finally there's the ugly, and there's no shortage of ugly. There are rug pulls and worthless NFTs and market manipulation of all kinds, such as wash trading. There are ICOs that turned into ponzi schemes, endless pyramid schemes, and of course good old fashioned theft. After all, it's all money.

I could go on and on about the huge numbers of grifters and scams but the important thing here is that the ugly and the bad are separate. Even if all the criminal elements and scamming were taken away, there are still the huge problems of boundary interactions, abuse, and incentives.

Conclusions

Maybe it's too early

Having lived through the web 1.0 and web 2.0 booms, one thing I'm very cognizant of is that the new thing does not rebuild the old things. The old things are still there; the new things are different. But at the start, people try to rebuild the old things. People tried to build "online magazines" before they figured out what web native publishing looked like. They tried to build "online shopping" with aisles and carts you pushed around. We built "bulletin boards" instead of forums.

It took a while for people to work out what the strengths and weaknesses of the medium were, and build things that went with the grain of the medium, that felt natural to users of that medium. Maybe that's why none of this stuff feels right yet; we are trying to rebuild the current web, trying to replace it instead of trying to augment it with new, different things (specifically, things that can be modeled as currency).

Maybe it's only finance

The less optimistic possibility is that financial engineering is all crypto can do. It may make money transfers more efficient, maybe it makes collecting royalties quicker and more transparent, maybe it's a great way to pool resources to invest as a group, maybe it's a great way to gamble with real money, either on fake monster battles or fake art. Those are all great, valid use cases. But they are narrow in scope: they were already financial transactions.

Maybe the only things you can model as a currency are financial things. Maybe crypto is fundamentally only useful for financial engineering. That's fine! Finance is a huge chunk of human life and it's full of inefficiency and greed right now. Making that simpler and quicker and fairer is a noble goal, and would be a great outcome. It really would change the world for the better, but in a much smaller way than the current hype would suggest.

There is, like I said, something here. But maybe not as much as people are hoping. Maybe it all comes back to this:

Maybe crypto is only for people who like playing with money, its mechanics and rules. That's not all there is to the software or to the web. And that's not for me.