There’s been a lot of talk about governance, ballot proposals for some actions, but little about a concrete strategy for the Foundation. In this post I want to provide my vision for what that strategy should be, over the intermediate and long term. This is why I’m running for the board.
First, let me state my motivation. I am a cryptography researcher and one of the original developers of the Z(ero)cash protocol. More fundamentally: I believe in the promise of privacy-preserving technology and cryptocurrency. In many ways, the existence of private currencies like Zcash is the realization of a dream I’ve had for most of my life and nearly all of my research career. My candidacy for this board is predicated the idea that, despite the success we’ve had, that vision has not yet been fully realized.
Before I get to the main challenges I think our community faces, let me start with some of the successes. From a technology perspective, Zcash has done some amazing things. The fact that the Sprout release works and has been accepted by the community should be viewed as proof that the technology works and can scale, even though it isn’t the final result. Moreover, the work Zooko and the Foundation board and others have done to promote Zcash adoption (including approval of Zcash by NYDFS!) has been incredible.
While the work so far has been terrific, there are a number of important technical challenges facing the currency and platform. (I’m going to focus primarily on Zcash here, but I want to be clear that addressing these issues will benefit other downstream forks of Zcash, and potentially other coins as well.)
Zcash does not have full fledged cross-platform support. I think the current state of the Zcash “product” is a travesty. In general, no single party is acting like Zcash is a user-facing product, and nobody is willing to own the experience of using it end to end. At the end of the day this has to be our highest priority: simply hoping that others will address this problem does not a strategy make. Zcash has an excellent reputation for its technology, but technology doesn’t matter if nobody can use it. We have to fix this.
I think some clear goals for the Foundation should be to build and package cross platform GUI clients:
On Windows, OSX, and Linux (in that priority order)
On mobile platforms
On the web (for example, post-Sapling it should be possible to generate shielded TXs efficiently in WebAssembly)
These packages should be clean, usable, and (post-Sapling) should default to shielded transactions. This involves both developing or modifying an existing GUI packaging it, and shipping it. For mobile, achieving privacy involves protocol enhancements that we still need to develop. While this is not strictly a board member duty, I intend to participate in and guide that activity.
How to go about this? The question is how to achieve this. In my view, the Foundation either needs to hire full time employees (my preference) or to engage a qualified contractor. The grant process just isn’t appropriate to achieve this sort of goal, as it doesn’t provide the right kind of technical management… And grants mean that nobody owns the result after the grant is up: they are mostly “fire and forget”.
As a board member I will support efforts to make Zcash into a quality cross-platform product with excellent UX and a regular release schedule. I will also support the development of a high-quality technical team within the Foundation, so that these things can happen – and so development will be decentralized. This will benefit downstream forks of Zcash, as well as other privacy coins that choose to adopt Zcash technology and usable security techniques.
Developing protocol capabilities. The current roadmap for the Zcash company includes the development of an extremely efficient new version of the Zcash protocol (Sapling). This is a good start. However, zk-SNARK proving technology is a constantly-evolving field. The development of these techniques provides an opportunity for the Foundation to investigate and to prototype implementations of emerging techniques which may improve performance, avoid “toxic-waste”, and improve code verifiability. Building on the flexibility of zk-SNARK proofs, it is also possible to extend the protocol with new capabilities, such as user-issued tokens and privacy-preserving smart contracts.
The Zcash community has led in the development of these tools. We should continue to lead. This means identifying individuals with experience in these areas and (ideally) bringing them in-house to lead an implementation and research effort so that Zcash (and all other private currencies) will have access to this technology when it is ready for deployment.
Summary: the role of the Foundation. The main role of the Foundation board, in my opinion, is to assemble a team that can address these key technical challenges in the short term. While this doesn’t preclude additional (future) missions for the Zcash foundation, building this team – with the buy-in of the Zcash community – is what I plan to do if I’m elected to the Foundation.
I’m posting this here both to explain the purpose of my candidacy, and also to start a discussion within the community about these priorities. I look forward to hearing the responses.