Crypto's Usability Doom Loop
Why crypto seems like an unending cesspool of scams – and an idea contributed to the cause of doing better
As a product engineer getting deep into blockchain tech back in 2017, it was a bit shocking how profoundly hostile crypto was to actually use. I was so accustomed to user experience being the top priority for any sort of new product, it was bizarre to dip into such an exciting technology where good user experience was seemingly not only ignored but maybe even actively resisted.
Eight years on, six of them leading product at Radix, it's tremendously disappointing how small the improvements have been for the general experience of using most crypto platforms and applications – and it's an absolute gut punch how very far crypto has fallen short of its potential to do good.
To make a small contribution to solving crypto's usability problem, I've co-written a paper with a friend and colleague of mine (and cryptography expert), Alex Cyon, describing an idea. It's a cryptographic concept for what we call "decentralized security questions", with example open source implementation. Its purpose is to help bring better user experience to the "your keys your crypto" ethos.
If you're involved in blockchain or wallet architecture, go ahead and click the link above and we sincerely hope you find something useful in the idea.
If, however, you haven't been deeply involved in crypto, I also wanted to talk a bit about the motivation behind the idea. That's what this article is about.
The point I want to make is this: Bad user experience isn't just an inconvenience for blockchain applications. It feeds a vicious cycle that keeps the crypto world locked onto quick money schemes rather than applications that could fulfill its potential for good.
Blockchain's Promise
From its origins, part of what made blockchain tech so exciting was that it could do something that no previous technology in history could: it made it possible for individuals to directly manage digital representations of true ownership without a trusted intermediary.
That's a mouthful, I realize, but it isn't as wonky as it sounds. Consider some things you're familiar with:
Your bank balance is a digital representation of your ownership of dollars.
Your RFID-enabled Passport contains a reference to a government's digital representation of your identity.
Your healthcare account holds a digital representation of your medical data that you own.
The items you own in your favorite online game are managed as natively digital objects.
In all of these cases, there is an "official" record of who owns what, with tightly-controlled rules for how ownership can be transferred. Those digital records and their rules are what define the ability to own things in a digitally represented form, but they must be trustable for anybody to consider them usefully "official" and for digital objects to have any real value.
In all of the examples above, the record and its rules are managed exclusively within the servers of a company (or a government). That means you log in to their closed system to access what you own, you trust them completely to protect what you own, and your rights to do things with what you own are defined by what that company allows you to do. If the company vanishes, they might take your digital assets with them.
Blockchain makes it possible to create systems where anyone can control digital assets without relying on any single company. You as a blockchain user can directly connect to the network to access what you own there, the network itself protects the assets you hold there, and you directly control what you do with your assets by issuing commands to the network. In short, there's nobody between you and your stuff by default.
Blockchain tech is designed to create good official records of ownership. The rules of how assets can move are reliable, clearly defined, known to all, and enforced automatically. Understanding how this works gets into a dark arts of things like consensus mechanisms and state machines. But in short, a group of participants operates "nodes" of a "blockchain network" by running an algorithm that is designed to mathematically ensure the rules of ownership are respected and that no one party can unilaterally change the rules.
Blockchain folks often call this new kind of digital ownership "self-sovereign", as opposed to the "custodial" ownership that we have today in the systems run by our banks, governments, healthcare systems, game platforms, and more.
But does self-sovereign digital ownership really matter?
The Blessing and Curse of Self-Sovereign Ownership
In many cases there is nothing wrong with the old way of managing ownership, but a lot of people are excited by the idea that it doesn't have to be this way for everything, and can provide some important benefits.
For example: It's useful to be able to use digital money with the level of control we have with cash. It's useful to be able to transfer ownership of things without paying a bunch of fees just because you have no choice. It's useful to avoid managing ownership across multiple complex and closed systems that can conceal the sorts of manipulation that caused the 2008 global financial crisis. And it's useful to be able to build markets and automation that can freely interact with a huge variety of digital objects in the same open, frictionless way that the internet allows people and applications to freely communicate with each other.
That's the good of self-sovereign ownership, but as with many useful technologies there is also a dark side. Free, uncontrolled representations of ownership can also enable quite a lot of bad stuff. We have laws, regulations, and restrictions on how money and other assets can flow because, well, money can enable crime just as effectively as it enables legitimate human commerce. There's a reason they say "follow the money".
We don't have to just shrug and accept the dark side though. It is my long-held belief that blockchain technology can and should enable better implementations of beneficial laws, regulations, and restrictions. This can be done while still allowing crypto to create real efficiencies in markets and businesses, and create useful new applications wrapped around digital ownership that weren't possible before. Part of what I did at Radix was push for its native asset system that, among other things, allowed issuers to easily implement good industry-standard controls on an asset-by-asset basis, with transparency and without compromising the asset's openness and user control.
Unfortunately, most crypto projects have chosen to ignore the hard work needed to take open blockchain networks from a good tech idea to something legitimately useful and mature. Instead they have focused on easy money. And when we're talking about digital assets with real value, there is sadly an overwhelming amount of easy money to be found in unconstrained ponzis, fads, get-rich-quick scams, bribery, market manipulation, and money laundering. Over the years, I've watched crypto's focus on those things collectively suck the energy, attention, and funding away from anything more useful in the long-term.
We'll come back to that in a moment.
Self-Sovereignty's Usability Nightmare
Bringing our attention back to the technology, there's a big tradeoff that unavoidably comes with self-sovereign ownership: If the individual has the power to control their own assets alone, they also bear the full responsibility for the control of their assets.
Think of it like this. If you leave your wallet at a coffee shop and come back later to discover the cash has been stolen, there's not a lot you can do; it was your cash to protect and you lost it. Similarly, if you alone possess the means to transfer your digital assets, you alone must protect those means at risk of permanently losing those assets or having them stolen.
Unfortunately the typical means of controlling digital assets on blockchains today is pretty horrible. To do anything on a blockchain, you need to prove to the blockchain network that you are indeed the true owner of the assets. The simplest way to do that, from a blockchain tech perspective, is using what's called a "private key". There's some cryptographic magic here, but you can think of a private key as a very long password. On today's blockchains, whoever has a user's single private key "password" has absolute and full control of their stuff. Lose your password, lose your access. Have your password stolen, the thief owns your stuff – just like somebody emptying the cash from your wallet.
Blockchain started with this simple solution for maintaining digital ownership, and oddly failed to progress much further. You probably won't be surprised to learn that, as a result, people lose their crypto all the time.
So crypto's bad user experience with private keys isn't just a matter of a little undesirable friction, as it would be in your typical app. It undercuts one of the primary reasons why we might want to use a blockchain in the first place. The very thing we want (self-sovereign control of our assets) is the thing that, as things stand today, is incredibly dangerous.
Bad Usability Feeds Bad Crypto
The private key problem is far from the only usability failure of crypto. Over and over, early technically simple approaches behind many aspects of crypto have become established, standardized, and frozen, with the user experience implications largely ignored.
Even though the fundamental design and security of a blockchain network may be good, the way digital assets and blockchain applications ("smart contracts") usually work in practice on today's most popular blockchains look, to an experienced developer of production financial systems, insane. They look like like tech demos that push enormous responsibility onto the user and developer, rather than into the design of the system. As a user today, you can only really be confident in safely using crypto if you're personally auditing every line of smart contract code of everything you interact with. Even experienced blockchain developers very frequently often overlook expensive errors, exploits, and backdoors that cost millions in losses.
So over a decade after its invention, using crypto is still confusing, complicated, and wildly risky. But why? Shouldn't there be a strong incentive to fix it? The incentives actually run in the opposite direction.
There's an ugly feedback loop between bad usability of blockchain and bad uses of blockchain that is keeping it bad.
The loop begins like this: When it's extremely difficult and risky for the average person to use blockchain, the only people who will do it anyway are the ones who stand to make a lot of quick money by taking the risk.
Then, because the only ones in crypto are the quick money people, good user experience takes a distant back seat to new quick money schemes that keep things as they are so they can keep making money. A common feature of the quick money schemes is that they're an insider's game; if you're a wise guy, you can win at the expense of the schmucks. For a crypto insider who has already come up the learning curve on things like managing your private keys and checking smart contracts, there's not only a certain amount of gatekeeping pride in keeping things the same, it gives you a competitive advantage over the schmucks coming in fresh trying to get their piece of the action.
If you're building the new blockchain applications, there's good money in delivering that quick money status quo. You're trying to launch apps on a scale of weeks to take advantage of the latest frenzied money-making fad, which means you want development to be what you're used to, you want the experience for your risk-taking users to be what they're used to, and you care not at all about the long-term usability or security of your system because you (and the smarter users) will have moved on to the next thing anyway.
If you're building a blockchain network, the gravitational attraction of the quick money is irresistible and perverse. When your goal is to build something that wins adoption, you are pressured on all sides to focus on whatever brings in the quick money people, not good long-term architecture that can grow and support legitimate sustainable usage. When you're trying to raise funding, the standard has been set that you better deliver the same incredibly fast and steep returns that the other quick money platforms have, which means turning your network token itself into a quick money scheme. "How do we build a useful platform for digital ownership?" rapidly becomes "how do we pump our token?"
Bad crypto feeds bad user experience, which helps keep crypto bad, and the cycle continues. The more money circulating through bad crypto (in the billions today), the greater the strength of that feedback loop and the resistance to anyone trying to break it. User experience remains awful, and crypto remains dominated by its dark side – 1 part genuine benefit to society, struggling to survive and be heard amidst 9 parts well-funded exploitation.
An Idea that May Help (Just a Little)
Breaking the feedback loop and fixing the massive problems with crypto will not be easy, but we can try to contribute in the right direction.
As we saw, one of the (many) things that has to change is somehow improving the user experience of users controlling their own digital assets. A number of folks have been chugging away on various solutions to this problem and I won't try to summarize those efforts here, but idea that Alex and I have published is intended to contribute toward that cause.
We think our "decentralized security questions" idea can help with the usability nightmare of the single private key that has absolute control of digital assets. The basic concept is to allow users to reliably use personal information that they already know about themselves (plus a little cryptographic magic) as part of their ability to control their assets on blockchains.
If you're technically inclined, here's a snapshot of how it works under the hood:
As we describe in the paper we’ve just published, this idea is far from a panacea on its own; it's more like a useful tool that may be combined with some of the other ideas being pursued by others.
The paper, along with some example code, are mostly intended for a technical audience working on blockchain tech, but it's all open source here for anyone who's interested:
https://github.com/Sajjon/svar
Our hope is that we may someday come to a point where blockchain moves past the era of quick money schemes, and that ideas like this one can be used to help solve real problems around digital ownership for normal people in a way that makes sense and is safe.