Zcash Foundation Grants (Q4 2017): Review Committee's Recommendations
On 14 August 2017, the Zcash Foundation announced the Call for Proposals for grants to projects that benefit the Zcash community, following the Mission and Values of the Zcash Foundation. We, the members of the Grant Review Committee, were tasked with evaluating the proposals and issuing funding recommendations.
This document, posted on 28 October 2017, reviews the 10-week process of submission, evaluation and discussion; and offers our final recommendations to the Zcash Foundation's board of directors: funding of 10 proposals, at a total of USD 127,000.
We offer our gratitude to the proposers and numerous participants for the thoughtful discussions during this process; and extend our congratulations to the Zcash community, on this 1st birthday of the Zcash blockchain!
Submission and public discussion
There were 29 filed proposals, covering a wide range of topics, including analyzing and improving Zcash's security, building wallets, community outreach, online services and financial interoperability. Many of these included coding efforts, user-experience improvement, or novel research. About half of the proposals came from people who are already publicly active in the Zcash community, and we were delighted to also see many new participants.
Extensive discussion public discussion ensued, mostly via comments in the respective GitHub issues: there have been over 270 such comments!
Our process allowed 3 weeks between the preliminary filings and the final submissions. The public discussion during this period—by committee members and others from the Zcash community—helped shape the proposals by advising on technical aspects (e.g., #32 changed its plan for integration of its new Rust verifier into full nodes), and affecting coordination between related pairs of proposals (e.g., #7 and #22 refactored their overlapping suggestions for desktop wallet improvements). It also allowed for questions on schedules, budgets, open-source policies and many other aspects, all of which helped clarify the proposals.
We felt that this process was very constructive, and that the early feedback improved the viability and clarity of many proposals.
The grant review committee followed these discussions, and summarized its scores and notes on the filings on a private spreadsheet. Based on these, preliminary opinions were issued to the proposers, prior to the deadline for full submissions, on whether their filings seem promising for funding. These were a mere advisory, and proposers were free to continue adjusting their proposals.
By the October 6th deadline, 11 of the 15 of proposals that received a positive preliminary recommendation, and 2 additional proposals, proceeded to make a full submission. (The remainder effectively withdrew their proposals.)
After the October 6th 2017 submission deadline, the grant review committee started its deliberations on the 13 full submissions. In parallel, public discussion and questions to the proposers continued within the GitHub issues. The aim was to take into consideration all input from the community, while guided by the Zcash Foundation's Mission and Values, and the following considerations:
- Importance to the community
- Likelihood of success
- Security implications
- Balance of topics (online services, UI, outreach, research etc.)
- Balance of recipient types (individuals, companies, academic)
- Balance of solid vs. high-risk-high-gain
- Multiple proposals from same submitter
The committee's internal discussion occurred in a private shared document, where every committee member could review and score every proposal (except for two cases of conflict of interest, #5 and #24). Every proposal was received and scored by at least 3 committee members. In the meanwhile, one proposal (#5) was funded by an external donation, and thus withdrawn.
On October 21th 2017, the committee conducted a videoconference meeting to discuss all proposals, and reached tentative conclusions; lingering questions on a few proposals were discussed over a few more days.
Subsequently, the committee finalized its funding recommendations, and prepared a consensus opinion regarding each of the fully-submitted proposal.
At the conclusion of this process, the Grant Review Committee makes the following recommendation to the Zcash Foundation's Board of Directors:
#7 Enhancements to the ZCash Desktop GUI Wallet
The proposer is the original creator of the first GUI interface for Zcash. Funds will be used to add functionality and enhancements to the GUI interface.
The review committee feels that Vaklinov's GUI work is important and has been a great contribution to the Zcash ecosystem. This GUI is used by both the Windows and Mac ports and the proposed UI improvements will increase the functionality and improve the usability and aesthetics of the interface.
We recommend collaboration with IDEO CoLab on the UI design.
Full funding of amount requested is recommended.
#10 Zcash Education & Outreach
The proposers are a group of blockchain enthusiasts who wish to promote the broader education of Zcash and Blockchain technologies. They propose to run, advertise, review, and survey custom workshops for the general public interested in learning about Zcash.
The promotion of inclusivity, and of using Zcash as a way to exercise the right to financial privacy, are core values of the Zcash Foundation, and outreach efforts are essential to these goals.
The proposers’ team has expertise in computer science, engineering and marketing. They provided a well-thought-out proposal and a good working plan for the creation of workshops along, with a reasonable budget for running them. They plan to utilize educational institutions to hold these workshops and will keep the community informed of the progress via various video and social media platforms. Full funding of this proposal is recommended.
#11 Zcash on Tor
The proposer runs "Zcash on Tor", a free service which provides Zcash peer-to-peer nodes accessible as high-bandwidth Tor servers, to help users protect the privacy of the Zcash transactions from network monitoring attacks. The funds will be used to maintain and upgrade this service, where the bulk of the cost is system administration. The proposer also plans to set up non-profit ISP in UK to put things on solid ground legally.
The committee points out that the use of Zcash over Tor opens some potential attacks, as discussed, and that the presence of many additional, independent nodes is needed to mitigate these attacks; we hope that the open-source deployment tools released under this project will facilitate this.
We recommend funding at the first suggested tier, approx. USD 9,300. The higher funding tiers would offer additional capacity and functionality, but the labor costs seem excessive and the functionality is less essential.
#16 Guarda Zcash light wallet
Proposes to develop a mobile Zcash wallet for Android. While several mobile wallets are already available, this one will be tailored to Zcash in UX and capabilities, including support for shielded transactions (as soon as this becomes technically feasible via low-memory proving or Sapling). Moreover, the SPV back-end and client-side library will be released as open source, that can be used in other prospective Zcash SPV solutions.
A risk factor is the dependence of the Zcash-specific portions on code that is currently in zcashd, and will need to be refactored into libraries, forked or reimplemented; but the same issue will arise with other efforts to support the full Zcash functionality, so it's important to start tackling it.
We recommend collaboration with IDEO CoLab on the UI design.
The team has prior experience developing mobile wallets, and the budget is reasonable.
#19 Improved block explorer infrastructure
The proposer maintains the zcashnetwork.info Zcash block explorer. His proposal will fund operation of this website, and add load-balanced geographically-dispersed clones, for a year.
The committee feels that the presence of this block explorer (in addition to explorer.zcha.in) is good for network decentralization.
The proposer is well known by the Zcash community (he has also ported the Zcash desktop wallet, see #21) and is capable of following through on the time and efforts required to keep it up-to-date and running.
Funding of the minimum amount requested (7,000 USD) is recommended, since this seems adequate for the essential functionality, and the proposer has multiple submissions recommended for funding.
#21 Improved multi platform support
The proposer has ported the zcashd software and the Zcash desktop GUI wallet to Windows and Mac. He proposes to continue and stabilize this work by unifying the various porting branches and build scripts, deploy and maintaining machines for Mac and Windows testing environments, and preparing porting efforts for upstream merging.
The review committee consider Mac and Windows support to be important for mainstream Zcash adoption. The proposed work will significantly improve the reliability and maintainability of this code, both in the ports released by the proposer and in helping the upstream developers build and test their software on those platforms.
The proposer is well known by the Zcash community (he is also running a block explorer, see #19) and is capable of following through on all work promised. Funding of the full amount is recommended.
#23 Video Production & Animation
The proposal is for producing two short videos, one "intro to Zcash" style and one more technical, including animation professional quality voice overs. The committee felt that videos are a good medium to engage Zcash users but were split as to what content needed to be covered. With guidance from the community, we feel that funding the production of the two videos that have been proposed would be beneficial to Zcash. Gibson Ashpool has also committed to assisting the producers to gather feedback from the community for the content of these videos. The proposer has shown impressive samples of the animation and marketing materials they have produced for other clients. Full funding of this grant is recommended.
#24 Empirical Analysis Of The Zcash Blockchain
- Proposer: CryptoLUX Research Group, University of Luxembourg
- Recommended funding: USD 24,000
- [proposal] [discussion]
The research group proposes to extend the open-source BlockSci blockchain analysis tool, to fully support the Zcash blockchain including shielded transactions. They will use this tool to analyze the privacy implications of the interaction between transparent and shielded transactions in the Zcash blockchain, and analyze the linkability of shielded transactions.
This addresses crucial questions about the privacy properties of the Zcash as a whole, and will provide new guidance to users on safely using shielded and transparent transactions together.
CryptoLux is an established academic group of accomplished cryptography researchers, and has designed the Equihash proof-of-work used by Zcash. They have also posted preliminary results of the proposed research. They thus appear capable of successfully and responsibly executing the proposed analysis. The budget is commensurate with the proposed effort, at typical academic scholarship rates.
Note: CryptoLUX is headed by Prof. Alex Biryukov, who serves on the review committee. To avoid conflict of interest, he was excluded from discussion of this proposal.
#29 Web Based XCAT tool for easy ZEC <-> Bitcoin Trade
Proposes to implement a web-based service for creating and monitoring of cross-chain atomic trades (XCAT) between Zcash and Bitcoin. The proposal extensively discusses the privacy and security tradeoff in the design of the such a system. The budget includes both the development of open-source software and running it as an online service for 12 months. The implementation will initially perform unshielded (t-address) trades, and may be later extended to shielded trades.
One concern was that similar XCAT tools may be developed independently, by recently-funded decentralized exchange platforms; the proposer made compelling arguments that this tool will nonetheless remain useful to the Zcash community.
#32 Alternative Fully Verifying Node in Rust
Proposes to implement a Zcash node with full verification of all transaction types (though not, yet, the wallet and proving functionality). The starting point is the Parity-Bitcoin reimplementation of a Bitcoin full node; the proposer will port it to Zcash and add the extra functionality needed to verify Zcash transactions - in particular, verification of JoinSplits in shielded transactions, also implemented in Rust.
This will constitute an independent implementation of most of the zcashd node functionality, by a party outside the Zcash Company. Such alternative implementation are crucial for security and decentralization, which are core values for the Zcash Foundation. Moreover, the Rust language seems more suitable than zcashd's C++ for some prospective uses, such as in-browser wallets.
The proposer has been an active contributor to the Zcash community and created a stand-alone zk-SNARK verifier in Rust that can validate Zcash JoinSplit proofs; he thus appears capable of implementing this proposal.
Do not fund
The committee recommends that in the current grants program, the Zcash Foundation will not fund the following proposals, as well as the 16 proposals that did not file full submissions.
#3 Abolish the Bitlicense for Cryptos
Proposed by Theo Chino, a privacy and financial inclusion activist. Theo proposes that the Foundation support his lawsuit seeking to overturn the legal basis for the Bitlicense regulation in New York. The committee consulted informally with cognizant legal experts and concluded that the legal campaign is unlikely to succeed and would thus not be a good use of Foundation funds.
#17 Zcash Latinoamerica - Education and Outreach
Proposed by a group of Zcash enthusiasts in Latin America. They have a Facebook group with 2700 members and propose to create a large number of events across Latin America and providing an "all expenses paid" trip for the organizers plus compensation for time.
The committee felt that such an ambitious project would take extensive planning and a well thought out communications strategy. The committee is not confident in the experience of the organizers to create such an event and represent Zcash, how realistic the expected number of attendees is, the cost of the venues and the clarity of the message to be communicated. Funding of this proposal is not recommended.
Several of the proposals require ongoing interaction with the community, e.g., because of technical dependencies in development, or choice of focus areas in outreach. The Foundation should facilitate these interactions.
Several of the proposals are for online services that require ongoing funding. The Foundation should consider supporting these beyond the initial duration funded by the current grants (whether specifically, or by a future competitive grant process on a suitable schedule).
We encourage the Foundation to conduct another competitive grant process within 6-12 months, broadly similar to the current one but taking into considerations the ideas for improving the grants program. In particular, we found great value in the inclusive and interactive process of community feedback and ongoing discussion.
We, the members of the Zcash Foundation's Grant Review Committee, attest to the accuracy of the above:
- Alex Biryukov
- Eran Tromer
- Gibson Ashpool (pseudonym)
- Zaki Manian
(Vlad Zamfir intended to serve on the review committee, but was unable to participate.)