This started out as a reply to the grant ideas brainstorm thread, but it got really long, so I’m making it its own topic. It’s a vision for what Zcash could be in the very long future and describes a way of thinking about user adoption that I particularly like. I believe MGRC is in a great position to move Zcash closer to the ideal I’m envisioning! (These are my personal opinions, I’m not speaking on behalf of ECC.)
The way I will approach this is to imagine Zcash as a startup with a plain-and-simple “internet payments and money” product. Let’s set aside—for a moment—Zcash’s core strengths: privacy, censorship-resistance, great community, solid funding, predictable supply, decentralization of power, etc. Let’s also set aside Zcash’s inherent limitations: block size limits, transaction latency, price volatility, regulation, etc. In this thought experiment, think of yourself as an investor who’s evaluating an “internet payments and money” startup—with no awareness of the fact it’s a cryptocurrency!
This mindset makes it natural to overcome some fallacious reasoning that I noticed in myself:
- “Zcash is worth $800M today. That’d be a huge success for any startup, so we’re heading in the right direction!”
- “It’s technically impractical to implement <insert awesome UX> with excellent privacy so we have to sacrifice our desired UX.”
- “<Thing X> is obviously crucial for adoption!” or “<Market X> is obviously the right target!”
With this mindset, what follows?
First off, it’s clear who the competition in the global market are: VISA, Paypal, Venmo, Interac e-Transfer, Transifex, Wire Transfer, Square, are primary. Bitcoin is too but it’s more of a niche thing, lots of people don’t understand it, it’s kinda hard to use, so it’s not that great of a threat. ETH is significant, its programmability addresses a market that even VISA doesn’t. Stablecoins are a big one, but UX issues still put them after Paypal in the short term. Square is in an important case study, because it’s marketing to developers, not end-users directly. Gold and Bitcoin are strong contenders as investments but that’s starting to drift too far away from our “internet payments and money” premise (we can do a similar thought experiment for investments later!).
What would I want to see from a classic startup in order to be competitive in this environment?
- A unified front. People should feel like they’re interacting with a single entity who they can trust, get the product from, get support from, and follow to find out about new features.
- A mobile app that anyone can use send and receive ZEC and fiat to their friends, family. It has to be easy to fund and withdraw from. It has to be more convenient than competing apps, so that everyone wants to use the app, other apps are cumbersome in comparison! It has to support the flows that everyone’s used to, like paying back a friend for dinner using their email address.
- Clear documentation and software libraries, good enough that a PHP developer can write a WordPress plugin to accept Zcash and fiat within a few days’ work. There are Ruby gems, Python packages, Go libraries that make it just as easy to integrate on those platforms too. Developers choose to build on Zcash, switching away from PayPal/Square, because it’s quicker to get going and more reliable.
- A popular business (e.g. the likes of Patreon / Brave/BAT) plans to use the libraries to accept payments on their platform, pointing a firehose of users towards Zcash.
- There’s a mechanism for dispute resolution, such as you can do with PayPal or by calling your credit card company, except the process is a bit quicker and easier.
- Browser extensions or phone-app code generator that makes it easy to pay for products/services online safely. No more worrying about your credit card getting hacked and having to spend hours updating it everywhere.
I consider these the “minimum” required for the hypothetical startup to have a good chance at succeeding. It puts the startup on an equal footing with the competition, has advantages in areas that matter, and a source of users. If any one point is missing, I see a corresponding likely failure mode (it would be fine to shift focus though, e.g. to point-of-sale over remittances).
Being realistic, this would probably succeed as a niche payment platform and start to grow on its own from there. Also being realistic, it would cost $50M+ to build and operate it all!
A theme that runs through each point is that the hypothetical startup is competing for diminishing returns in usability, support experience, and brand perception in order to establish a network effect. This actually works: I use UberEats over SkipTheDishes even though it’s more expensive and has fewer restaurants because it’s faster and Skip’s tracker is unreliable. But there’s a real problem with chasing diminishing returns, it gets incredibly expensive to meaningfully improve on an already-great experience (see: Apple).
Now let’s consider how Zcash at-the-time-of-writing stacks up against these six points and bring Zcash’s strengths and weaknesses back into the picture:
The Zcash ecosystem is fragmented. Users have to make a choice whether to get their wallet from ECC, ZecWallet, Nighthawk. It’s confusing. Competitors’ users don’t have to think about this at all.
- Can Zcash present a more unified front while retaining all of the advantages of a robust decentralized community?
ECC’s mission supports a clear moral philosophy that has widespread support in the tech / privacy / hacker / activist community.
- Have we successfully marketed to that audience? Do they see Zcash in the same light as they see Signal and Tor even if they don’t use Zcash themselves?
Zcash is censorship-resistant, inflation-resistant, private money. The big competitors have none of these advantages!
- Can we find an established business that needs one of these properties and attract a stream of users through them?
- How do we find and market to users who’ve been censored by PayPal? or victims of inflation? Can we bring the victims of inflation/censorship from all around the world together into a community that has its own network effect?
In a competition for diminishing returns, there’s very little room for the protocol to dictate aspects of the user experience.
- Can we implement convenient features (like pay-to-email-address) on par with the competition while still offering meaningfully improved privacy and less central control?
We’re severely lacking developer resources and off-the-shelf libraries. If I had to build a Zcash WordPress plugin it’d take me at least a month and I’d have to build a lot more than just a plugin in order to help my users run/access zcashd.
- Can we make developer documentation and libraries that are more convenient than Square/PayPal? Can the light wallet code be repurposed to do this cheaply and without the need for a full node?
Competing products let users send value denominated in fiat currencies. Even ignoring ZEC price volatility, the mental burden of understanding the fiat<->ZEC conversion is enough by itself to inhibit all of those use cases!
- Can we support private stablecoins such that they contribute to Zcash’s overall value and network effect? Can we solve that problem differently e.g. “ZEC gets sent under the hood, but users only see dollars” using backend services that do immediate conversions?
These would be my priorities if my goal were to attack the global “internet payments and money” market. There are other markets: there’s the specific subset of that market which really needs Zcash’s unique features, the investment market, banking/finance, etc. Thinking through those markets with this kind of thought experiment should reveal different priorities for each!
IMO, the key roadblock ahead of massive adoption (for all cryptocurrencies) is how to coordinate a decentralized community of funders and developers into building a (perceived-as) unified product better than a private company can do by way of centralized command-and-control. Thinking this way makes it clear how much actually needs to be coordinated to achieve any particular kind of success!
I hope this was interesting if not helpful! Thoughts? Would anyone prioritize differently?