To expand on this a little more, here are some goals I’d like to see Zcash hit over the next few years:
- Crypto-unfamiliar web developers can add code to accept Zcash payments in their websites in no more than double the time it takes them to integrate PayPal.
- A typical person can get up-and-running with a desktop wallet and mobile wallet within 5 minutes of visiting https://z.cash/.
- Metamask-style browser-extension wallets exist, giving websites an easy-to-use JavaScript API that lets them build novel products on top of Zcash.
- Zcash is adopted as the de facto choice within a niche community that’s historically struggled with censorship by established payment processors or that has a need for privacy that those payment processors can’t meet.
I could add more to this list, but I think these are the most important ones. IMO, the key to wider adoption is building something that’s a joy to work with and inspires innovators to build new products. None of us can predict how Zcash will be used or where it will be needed most, and I think the best way to find out is to make it easy for innovators to build things and test their ideas.
Usable libraries are key—if developers have to wrangle with internals of the Zcash protocol, needing to know anything deeper than the high-level abstractions they expect and want to work with, then our libraries are too low-level. We can test how good we’re doing by watching developers work with PayPal and then Zcash and then fix the roadblocks they run into.
Usability includes performance. If our libraries are too slow, innovators will turn to less-private alternatives. We might have to make some privacy trade-offs to keep Zcash in competition with centralized payment processors, but this is fine as long as we’re making privacy gains and users consent.
To reach the usability standards I’m imagining, we’ll have to work out our product goals first (library designs, targets for performance, targets for developer-time-to-integrate) and change the underlying protocol to meet those goals.
A big challenge in all of this is making Fiat↔ZEC on/off ramps accessible to everyone who wants to use Zcash. IMO, the best way to do this is to demonstrate a socially-good need for Zcash’s privacy and censorship-resistance, as I suggest in item (4) above. When it’s undeniable that Zcash is doing good for humanity, we’ll have a stronger argument against regulatory fears and have broader demand for Zcash support.
I have some ideas for (4), but I’d like to hear what ideas our community has first!