Ouriel Ohayon
Contributor
Ouriel Ohayon, a former TechCrunch staffer, is the chief executive of Codename Django focused on custody and cryptocurrency.
Not a week goes by without another report of bad news in the crypto world: funds get lost, stolen or compromised with little or no possibility of recovery.
This is a problem we don’t really have with typical fiat money — where our funds and banks are insured. And it highlights how broken the current state of affairs is in the industry.
Ten years in blockchain have already provided a wide range of solutions to host and keep your crypto funds safe. But can you really trust any of those services?
The risky BYOB promise
You have received or bought your first crypto-currencies and now you need to decide where to keep it safe. Your first option is to be your own bank or “BYOB.” Finally! The dream of any post-modernist society: no more need for intermediaries and greedy banks to manage your funds. You can finally be in charge. But can you?
Yes, blockchains are safer because there are incentive mechanisms aimed at making sure the networks are unbreakable (not “51 percent attacked”). But you need to get your crypto assets somewhere safe. You need to “be your own bank” (BYOB). Crypto custody starts with a requirement: Crypto currencies being encrypted, you need to own and keep your own private keys, which will enable you to sign your transactions and you will own a secret code (a passphrase) that will allow you to recover your funds (a “seed”). The management of this private key and codes is at the origin of nearly all the problems you may have encountered to date.
And it starts with an important problem to solve: the management of the secret passphrase.
If you have ever used any sort of wallet app, you have been exposed to the confusing on-boarding and warnings: 12 or 24 words to remember or “keep safe” and multiple reminders that they are “not a bank” and that you are in charge of your own security. You get a private key to “keep safe.”
But what does “keeping safe” mean? Do you have to print it and keep it under your bed until someone else finds it and accidentally throws it away, or the ink on the paper fades? Do you put it in a safe deposit box… at your bank (at $200 per year on average)? In a vault in Switzerland? Put it in a password manager, protected by a single password or worse in a word document? Encrypt it (again) so no one gets to read it?
Centralization for simplification?
Then you quickly realize that being your own bank is more complex and dangerous than you thought, and you decide to leave your funds on your exchange, which will manage your cryptos for you. It is actually comforting to rely on the security of an established company.
But can you really trust a centralized service? What if they have low reliability or abusive maintenance periods and your funds get stuck when you need them ? What if they get hacked or DDOSed? Or even shut down by authorities (like it may happen in Korea )? Or are simply unreliable or unavailable. And if you thought your funds are better with an exchange, think twice: first they depend on the legacy finance system, and oxygen could be cut off any time.
The crypto industry’s dependence on the legacy financial system is the single point of failure that could take the whole thing down https://t.co/f5W9TjI4Ll
— Pomp 🌪 (@APompliano) January 14, 2018
And what you gain in delegated security you may lose in convenience: Some of those exchanges will not let you withdraw or deposit new coins (because you only trade coins, and not own them). For those who want to participate in ICOs you also will be limited because transfers from exchanges are not accepted.
Sure, if you can afford it, you can decide to place all your crypto funds in a secret air-gapped bunker 30 feet under in Switzerland. Your funds will be safe there, but is that convenient when you may need them handy? Yes, there is a trade-off between absolute security (is there such a thing?) and convenience.
Hardware: a better solution?
Everyone with minimum knowledge will tell you that the best way to solve the problem of storing your crypto funds is to use a hardware wallet (“cold storage”), and certainly it is one of the best solutions to date. Hot wallets ( i.e. software) are more prone to attacks because they are “permanently” connected to the network. But hardware wallets are “air gapped,” meaning not connected by design, until you connect them. So your funds are protected by your hardware key, itself protected by secure hardware elements.
But who protects your hardware key? Where do you keep it? Even hardware deteriorates over time, has software issues or even stolen. Sure, you can always restore your hardware in a new one. But if you can, so can an attacker, and we’re back to the beginning: How do you protect your hardware passphrase phrase? (Read above.) And what you gain in security you lose (significantly) in convenience: You need to be in front of a computer with a micro USB cable to connect your hardware (read above on UX). In the age of mobile, this is not ideal.
How do you make sure your private keys and passphrase/mnemonic codes are safe *over time* when you are in charge. Good luck with that.
Finally you also have to “trust the code.” Those apps also suffer from major vulnerabilities, which result in loss of quasi loss of funds. The reality is that even decentralized services are at risk — because no code is perfect.
Facing crypto fragmentation
One currency, one wallet: this is close to the reality today when you move past the top four or five currencies. You will find some wallets that are supporting up to 10 currencies (and I am not referring to ERC20/ICO tokens). But there are hundreds of chains and forks out there, each with their light wallet. One wallet for NEO, one for MONERO, one for Ripple and so on. There is no solution that can help you host all the main currencies at once (even the top 30), in particular on mobile. This is like getting a different browser for every site, or a different remote control for every TV channel.
Even hardware wallets that support multiple (but not all currencies) have important limitations as you quickly realize they can’t support at once more than a few currencies.
Each crypto service also has its own wallet and more often than not they do not play nice with other services. Most ICO-backed networks have their own wallet: TON (telegram upcoming chain), Crypto Kitties too, exchanges have their own wallets and so on, making it quickly complicated for users to remember where all their assets are stored, but also multiplying the chances of exposures to attacks. Those wallets are not talking to each other except via the transactions pipes for sending assets to each other. It quickly becomes challenging to remember what you own and where. You end up with a list to manage your wallets and private keys. Not ideal.
The current state of crypto custody is forcing users to have multiple assets hosted in various wallets, increasing the risk of exposures. Some users will find in this a security-by-design safeguard: If all your funds are not in the same place, then you are less exposed at once to an attacker. On the other side, you need to invest a lot more in managing all those access points and you lose significantly in convenience.
The responsibility of platforms and manufacturers
No matter how secure the solutions at hand, current crypto custody solutions have another set of weak spots: mobile operators, browsers, app stores and ad platforms have become the main target of hackers to steal your funds.
Hackers are ingenuous at finding ways to hack your mobile phone number, which usually protects your SMS 2FA. Some hackers regularly build fake mobile wallet apps under the nose of Apple and Google and hope to get you fooled to provide your private keys. And finally it has never been easier to buy an ad on Google or Facebook and pretend to be the service you think you need, not mentioning the ingenious social hacks to get you to provide your private key (live example below on Facebook).
Even domain registrars and DNS providers have become targets to hackers and can result in loss of funds.
Those platforms have a critical responsibility and liability in the industry. They can’t ignore it, it is just too important.
And we certainly do not want them to adopt arbitrary rules to ban a whole category of apps or advertisers because of a few rogue players. They need to up their game, learn, follow the space and legit players to prevent or crack down on the attackers with knowledge of what they’re doing.
The same goes for hardware manufacturers: the recent Meltdown and Spectre debacle just showed how exposed we are and how easy it is, even for the savviest users, to get their passwords and keys stolen.
You can trust the blockchain, but can you trust yourself?
Normal human beings are not equipped to deal alone with security, and even less with safety. There are reasons banks have been created and why they are still here today. It is better to trust a network than to trust yourself.
Individuals make mistakes, individuals are the point of failure: Even savvy people can easily make the wrong call about how to keep their private keys or you can end up buying “fake” hardware wallets, your memory could painfully fail you, you may throw away your computer by mistake, forgetting your keys on it. Sometimes it is more subtle than that; you replace your mobile phone and forgot to migrate your 2FA keys.
Some errors can be course corrected, some cannot.
Assuming you found a secure solution, how safe do you feel about it? How safe do you feel keeping at home significantly more money than you can store in your pocket wallet? How would you deal with ransomware, kidnapping? How would you act under duress? Even if your keys are securely protected, do you feel safe walking in the street or even at home with your crypto keys in your pocket or an app that holds a little virtual fortune?
Finally, what would happen to your crypto funds if, like we will all do one day, you die. Did you consider how private accounts should be transmitted?
Can you trust yourself to even consider or deal with all those situations? Those are important issues crypto custody solutions are not addressing yet.
The future is brighter
Custody for cryptos has to be improved; the industry will not grow without it. We need better security — which involves both solution providers and platforms — more convenience and a better approach to safety. This is actually something that prevents institutional money from being poured in the industry and of course if you are a company raising hundreds of millions of dollars in crypto money for an ICO, custody is an even bigger issue (right Kodak?).
Multi-Sig for example is a clear a positive step forward in crypto security (not necessarily in convenience though). The basic idea instead of one single private key (either managed by you or by a centralized service on your behalf), there are 2 sets (or more) of keys that are required to sign transactions: one owned by you and one by the service which operates the custody.
As a user you can delegate some of the responsibility to a “centralized” service without giving full control to it: no more “single point of failure” as the private key is hosted on multiple sides. Another great advancement is the fact that regulated services like Robinhood or Square are jumping in the space and will allow millions of people buy safely crypto currencies and store it for them
Blockchains are safe and secure by design (at least the best ones). But the weak spot is the human being. Human beings, as users or as service designers and operators, are single points of failure. And the blockchains won’t fix that.
The future will bring new solutions where trust can be redefined and programmed thanks to mathematics, cryptography decentralization and game mechanics. The way private keys are managed today is just not good enough. What the industry needs is a set of solutions bringing peace of mind to users.
Maybe banks will at some point jump in the space and bring their own solution, although I really don’t see that happening anytime soon. For this to become reality, a new regulation framework needs to be created.
No matter how many existing services and solutions operate in the space (40 based on my own count), and how much money is being invested in it, crypto custody is one of the biggest unsolved opportunities in the blockchain space (even Naval Ravikant, a prominent crypto investor and thinker, says it) and we’re still pretty much in Jurassic (Crypto) Park.
You can build the fastest and most scalable crypto protocols you want. What’s the point if no one has peace of mind.