Ycash Development Roadmap #1

The Ycash Foundation will fund projects in four key areas

Portion of New York City subway map. Source: Metropolitan Transportation Authority.

Published: August 15, 2019. Last updated: December 3, 2019.

Introduction

This roadmap covers Ycash software development for the next several months. (It also includes projects completed between the Ycash launch on July 18, 2019 and the initial publication of this roadmap on August 15, 2019.) This roadmap is subject to change; check back here for the most up-to-date information.

During the coming months, the Ycash Foundation will fund projects in four key areas.

Improvements to ycashd and YecWallet Light Wallets Merchant Tools Mining Algorithms

Summary

Below is a summary of the projects that the Ycash Foundation is funding, organized by area.

Improvements to ycashd and YecWallet

YecPaperWallet . Status: Completed July 29, 2019.

Status: Completed July 29, 2019. Fast-sync mode for ycashd and YecWallet. Status: Completed July 30, 2019.

Status: Completed July 30, 2019. Nullifier Migration Tool. Status: Completed August 16, 2019.

Status: Completed August 16, 2019. Incorporate Upstream Changes from zcashd v2.0.6. Status: Completed August 16, 2019.

Status: Completed August 16, 2019. Diversified Addresses. Status: Completed August 20, 2019.

Status: Completed August 20, 2019. Better Rescanning and Private Key Importing. Status: Completed August 16, 2019

Status: Completed August 16, 2019 Viewing Keys. Status: Completed September 26, 2019.

Status: Completed September 26, 2019. Wallet Encryption. Status: Initial planning.

Status: Initial planning. BIP39 Seed Phrase Support in ycashd and YecWallet. Status: Initial planning.

Status: Initial planning. Trezor Integration. Status: Investigating feasibility.

Light Wallets

YecLite. Status: Completed November 27, 2019

Status: Completed November 27, 2019 Light Wallet Based on ZLiTE System. Status: Initial planning.

Status: Initial planning. Commercial Service for Light Wallets. Status: Initial planning.

Merchant Tools

Point-of-Sale Systems for Accepting Ycash. Status: Initial planning.

Status: Initial planning. Encrypted Memo Tools. Status: Initial planning.

Mining Algorithms

Investigate Proof of Work Mining Algorithms Tailored to Commodity Hardware. Status: Not yet commenced.

Improvements to ycashd and YecWallet

YecPaperWallet

Offline paper wallets are useful for safely storing large amounts of YEC. At the same time, paper wallets are a fun and easy way to give small amounts of YEC to friends and family. YecPaperWallet will include support for both shielded addresses and transparent addresses. The addition of viewing keys (described below) will enable YecWallet users to create “watch-only” wallets where the spending key resides solely on the paper wallet.

Fast-sync Mode for ycashd and YecWallet

For users downloading the blockchain for the first time, fast-sync mode will reducing the time required to sync by 25% to 33%.

Nullifier Migration Tool

To address Ycash Issue #11, we will add a Nullifier Migration Tool in YecWallet to enable users to easily consolidate balances held across multiple Sapling addresses into a single fresh Sapling address.

Incorporate Upstream Changes from zcashd v2.0.6

Currently, ycashd is based on zcashd v2.0.5–2. We will incorporate the upstream changes from zcashd v2.0.6.

Diversified Addresses

Diversified addresses enable the creation of an unlimited number addresses that map to the same private key. This enables a recipient to give out unique addresses to each individual sender, yet only manage a single private key. See https://www.ycash.xyz/docs/diversified_addresses/.

Better Rescanning and Private Key Importing

Importing private keys can be frustrating because there is no way to track the progress of the subsequent rescan of the blockchain. We will add a new ycashd RPC call that will return the rescan progress. Using this new RPC call, YecWallet will provide visual feedback showing the progress of the rescan. We will also enable partial rescanning (rescanning only a portion of the blockchain).

Viewing Keys

Viewing keys — keys that allow the viewing of certain shielded transactions without also allowing spending— combined with paper wallets will allow users to create secure “watch-only” wallets.

Wallet Encryption

We will increase the security of ycashd and YecWallet by enabling wallet encryption.

BIP39 Seed Phrase Support for ycashd and YecWallet

Many popular multi-asset wallets use BIP39 seed phrases. We will add BIP39 seed phrase support for both transparent addresses and Sapling addresses. This will enable users to back up their wallets via their seed phrase, and will eliminate the need to perform wallet backups every time that a new transparent address is generated.

Trezor Support

We are investigating the possibility of integrating Trezor with ycashd and YecWallet. (We are also investigating the feasibility of Ycash support on Trezor devices.)

Light Wallets

YecLite

YecLite is a lightweight Ycash wallet for shielded transactions on MacOS, Linux, and Windows. It is a port of Zecwallet Lite to Ycash.

Implement ZLiTE-based light wallet

ZLiTe is a lightweight client design proposed by researchers at ETH Zurich and Cornell Tech. It leverages Trusted Execution Environment technology to significantly reduce the bandwidth required for mobile clients to support shielded transactions. We plan to implement a ZLiTE-based light wallet for Ycash.

See Karl Wüst and Sinisa Metetic et al., “ZLiTE: Lightweight Clients for Shielded Zcash Transactions using Trusted Execution” and Karl Wüst’s ZLiTE presentation at Zcon1.

Commercial service for light wallets

This project will enable commercial companies and community members to run servers that service light wallets. The service provider will be able to choose whether to charge a fee or not.

Merchant Tools

Point-Of-Sale Systems for Ycash

We place a high priority on facilitating merchant adoption of Ycash. To that end, we will fund the the development of point-of-sale systems that allow merchants to seamlessly accept payment in Ycash.

Encrypted Memo Tools

We will fund projects that allow merchants to use the encrypted memo field for various purposes.

Mining Algorithms

Investigate Proof of Work Mining Algorithms Tailored to Commodity Hardware.

Our commitment to mining on commodity hardware requires that we proactively investigate candidate Proof of Work algorithms. Should Equihash(192,7) ASICs emerge, we need to be prepared to quickly hardfork to a different algorithm. We will begin investigating various Proof of Work mining algorithms tailored to commodity hardware.

roadmap@ycash.xyz