Why bitcoin wallets flop, and how to fix them

Robbie Hanson
ZeroDarkCloud
Published in
5 min readSep 4, 2019
Photo by David Shares on Unsplash

If you’re reading this article, then you are NOT the average user. You’re probably a developer, or a tech enthusiast. You’re probably very familiar with bitcoin, and even understand how it works internally.

So if you want to know why bitcoin wallets flop, you need to get into the mindset of an average user. To help us do this, let’s call this average user Alice.

Understanding the competition

First we need to understand the competition. Bitcoin enthusiasts imagine that the only competition for bitcoin wallets are… other bitcoin wallets. But that’s not how Alice sees things.

Alice simply wants to send and receive payments. She’s not stupid — our Alice is a doctor. She understands bitcoin as an alternative form of money. And she likes that it cannot be inflated by politicians seeking votes. But if she’s going to use it for payments, it needs to be easy to use. And she’s going to compare it to what she uses now: CashApp & Venmo

So let’s imagine that Alice goes out for drinks after work with her colleagues: Bob & Carol. The bar is crowded, and the group has a hard time getting the bartender’s attention. Finally Alice is able to get an order in. She orders everybody’s drinks, and pays with her card. Bob & Carol plan on paying her back later — they don’t have cash on them.

So later that night, after everyone has gone home, Bob wants to pay back Alice. He remembers that Alice has a bitcoin wallet now. So he opens his bitcoin wallet, and searches for Alice…

Oh wait, no he doesn’t. Because that’s not a thing. So he sends her a text message, asking for a bitcoin address. She doesn’t respond right away. So Bob switches over to Venmo, searches for her, finds her, and sends a payment.

Let’s face facts: Searchability is something the average user needs. It can obviously be opt-in / opt-out. But without it, the wallet sucks (from the perspective of the average user).

Prerequisites for searchability

Let me start by stating the non-obvious: Searchability does NOT require Alice to expose a public bitcoin address to the world. Searchability simply means that Bob can search for Alice, and that a search result exposes a communication medium with which Bob’s wallet can exchange secure messages with Alice’s wallet. That’s it — nothing else.

Now there are many companies and organizations working towards “decentralized identity”. The Decentralized Identity Foundation is one such organization. It has a big impressive list of backers, and some very lofty goals. But often lost in the noise and hype of “fixing the Internet” is how the average user plans on interacting with these systems.

If Emily wants to search for Frank, her search will be based on the communication mediums with which she ALREADY communicates with Frank. If she ONLY knows Frank thru LinkedIn, then Frank’s LinkedIn account is the target of her search. She will recognize Frank thru his LinkedIn page & avatar.

The same goes for Alice when she’s searching for Emily. If they primarily communicate online thru Instagram, then that’s how Alice prefers to search for Emily.

It’s well and good if decentralized identity systems create new sovereign identities linked to crypto keys. But to bridge the gap between the here-and-now vs the decentralized-future, some form of interoperability will be needed. Unfortunately this concept creates tension between the idealists and the pragmatists, as discussed here.

I’m reminded of a quote from the show Eureka:

Idealists don’t get much done without pragmatists running interference for them.

While we wait for the ideal sovereign identity solution to come to fruition, wallet designers should actively pursue pragmatic interoperable solutions for now. We don’t know which sovereign solution will win in the future — but we can implement the search UI now. And we can swap out the backend system later, as need be.

The killer feature — secure communication & storage

Let’s imagine that Bob can now search for Alice. He finds her, and the search result yields a secure communication medium with which Bob’s wallet can exchange messages with Alice’s wallet. This is a killer feature for wallets. Here’s why:

  • Bob’s wallet sends a message to Alice’s wallet asking for a Bitcoin address with which he can send her a payment
  • Alice’s wallet generates a unique address for Bob via an HD scheme.
  • Alice’s wallet sends this unique address to Bob’s wallet
  • Alice’s wallet associates that address with Bob
  • Bob’s wallet saves the address, and associates it with Alice

Having a secure communication channel means that Alice can be searchable, and yet maintain her privacy. She doesn’t have to reveal her bitcoin address on the Internet. But rather generates unique addresses per sender. And that’s not the end of the story — it gets better.

With the crappy wallets on the market today, when Alice receives a payment from Bob, the wallet shows the sender as an obscure bitcoin address. This is a HORRIBLE user experience. But with our solution above, the new wallet can display Bob as the sender of the payment! The wallet generated that address for Bob — he’s the only person that knows this address.

Further, our wallet can securely sync this information with the cloud (using zero-knowledge encryption for privacy). And so if Alice views her wallet on a different device, everything will look the same. That payment will still read as “from Bob”. And the wallet does all of this in a privacy preserving manner.

The tech is available now

Wallet developers can take advantage of the new zero-knowledge sync & messaging framework ZeroDark.cloud. It allows for secure communication between Alice’s wallet & Bob’s wallet. And by “secure”, we mean end-to-end encryption (also called zero-knowledge encryption) — so servers are unable to read the messages that flow through them. Only Alice & Bob will be able to decrypt the messages.

The framework also allows the wallet to store & sync data in the cloud — using the same zero-knowledge encryption technique.

And it has a user search feature too. It’s not a true decentralized identity system — we’ll still have to wait for that. But it does provide a pragmatic solution for now. Backed by the Ethereum blockchain.

Recent publications:

--

--