Skip to content
This repository has been archived by the owner. It is now read-only.

Grant Project Ideas

Eran Tromer edited this page Jun 26, 2018 · 46 revisions

Ideas for Project Grants

This page is for listing and discussing ideas for projects that could be supported by the Zcash Foundation's grant program. Everyone is welcome to add new ideas, or to use these ideas in their own projects and grant proposals.

Other places where such ideas may be collected:

Wallets Development

  • New Zcash wallets
    • Desktop, mobile and hardware platforms
    • Shielded transaction support using Sapling (or payment offloading, see below)
    • Add Zcash support to the Copay wallet
  • Key-management tools:
  • Payment offloading:
    • Adapt an existing open-source JavaScript wallet to be a "Payment Offloading" client which works with a proof-of-concept server. This protocol is in flux, but there is already a working demo and a javascript client library. See Zcash #1113 or ask @str4d for details.
  • Make a Zcash wallet that automatically donates.
    • When:
      • Whenever it sends a transaction, in addition to adding the normal transaction fee for the miner (0.0001 ⓩ), it adds an additional donation (0.0001 ⓩ).
      • Or, once a month it donates 0.1% of the current balance.
    • To whom:
      • To organizations
      • To the author of the wallet
      • To a randomly selected Tor node which advertises a z-address in its Tor consensus metadata

Science and research

Core/Security

Mining

  • Integrate the best CPU miner from https://zcashminers.org/ into zcashd, designed to run continuously in the background solo-mining as a contribution to the decentralized network instead of as a business
  • Port a good GPU miner to the GPU in a modern high-end smartphone
  • Find and implements ways to encourage decentralization of mining pools, and solo mining
  • Build an alternative PoW puzzle and upgrade proposal (e.g., for ASIC-resistance)

Integration with other systems

Ongoing services

  • ZEC↔XLM gateway or exchange (see https://twitter.com/zooko/status/906002125284458496)
  • A "service status dashboard" site that monitors the status of the dozens of Zcash-related online services (e.g., those listed in this section, the "Network monitoring and anomaly detection" listed above, as well as exchanges, software download sites, etc.), so that systemic problems can be identified at a glance. The monitoring website can check that the services are responding to web requests, as well as heuristically check that they are synchronized (e.g., blockchain height is correct and underlying zcashd is a recent version) and sensible (e.g., transaction volume and spot price are not zero).
  • Network monitoring and anomaly detection (see above)
  • Continuous monitoring of third-party Zcash block explorers to identify discrepancies (indicative of failures or attacks)

Examples of online service types that already exist, and can be supported by the Zcash Foundation:

Education and outreach

  • Translation to new languages
  • Zcash social meetups
  • Zcash hackathons and/or workshops

Cryptographic research

  • Security analysis of cryptographic primitives/assumptions that are (or will, or should) be used by Zcash
  • Constructing new cryptographic primitives that can improve the performance or functionality of Zcash (zkSNARKs, SNARK-friendly hash functions and commitment schemes, etc.)

See related ideas in https://github.com/ZcashFoundation/ZcashFoundation/issues/21 (which is about bounty/competition for the first/best analysis, rather than committing in advance to doing an analysis.)

Supporting larger projects

There are many improvements to Zcash that are already underway (e.g., see the roadmap, near-future blog post and Sapling crypto blog post), or are too large for the intended scope of a Grant, or require too many changes in other components to be suitable as a stand-alone project. But it's possible to addresses specific aspects, for example:

You can’t perform that action at this time.