Zcash Developers Update 5-11-18


By Paige Peterson

This week’s update will be based on the various engineering teams second sprint. This completes sprint 2 of 3 in our 6-week release cycle where the end of the 3rd sprint lines up with the next zcashd release. We’re tracking each team’s progress in Github projects so you can see a more detailed view of what they’re tackling each two-week sprint and what they have in their longer-term backlogs.

Zcashd Team
This team focus on development of the zcashd client but stands distinct from consensus protocol (which is a separate team).

This sprint saw 13 new pull requests merged into zcashd master (see “Released column”). This includes several cherry picked improvements from upstream bitcoin (one of which addresses another issue found in an audit – PR 3183), improvements to a few RPC outputs and documentation, making the note class polymorphic to support Sprout, Sapling and future note types (PR 3206) and a couple PRs progressing on Sapling support for the wallet.

Consensus Protocol Team
This team focuses on the Zcash consensus protocol current and future upgrades which include R&D, specification and interfacing with the ZIP process.

As with the previous sprint, the consensus protocol team is heavily focused on consensus implementations necessary to get Sapling ready for the upcoming 1.1.1 release. Issues addressed in this sprint include implementing the Sapling nullifier set (PR 3191) and commitment tree (PR 3170), implementing rules on the number of spend and output descriptions in a transaction (PR 3220), raising the 100kB transaction size limit (PR 3212) and implementing the Sapling signature verification (PR 3233ZIP 243).

Development Infrastructure team
This team works on making sure developers have the tools and infrastructure they need to efficiently collaborate, design, implement, review, test, and ship high quality projects.

In this sprint, we finished and deployed the Sapling MPC application, updated the Gitian github with new documentation describing per platform setup, did some preliminary investigation into CI System in which a refactor is underway. Looking forward, the CI system refactor will allow us to scale more gracefully as we continue to support more platforms.

Ecosystem team
This team is the interface to everything not directly related to zcashd or the protocol and include support for third-party tools and services. Ecosystem projects developed by Zcash Co. also get handled in this team. Tracking for this team is kept private to prevent information leakage about third-parties.

For this sprint cycle, the Ecosystem Team completed quite a few education tasks related to overall network privacy, outreach tasks related to Overwinter, supporting software update tasks related to Overwinter, and third party wallet UX review and testing,

We worked on upgrading the insight explorer for testnet run by Zcash Co to reflect the changes introduced by Overwinter and returning https://explorer.testnet.z.cash/ to service. We also started on a program to gather data from the entire Zcash blockchain for use in data analysis tasks and started work on calculating metrics to reflect the gathered data. We have a lot of improvements in mind for this project so will share the live staged version at a later date. Eventually these open source projects will live in our Zcash-hackworks Github org.

Documentation team
This team works on improving the accessibility of zcashd and Zcash overall.

The main project in this team is to transition most of our documentation into a Readthedocs instance. The last sprint reworked the user guide, Debian package install and troubleshooting FAQ. The goal for next sprint is to have a preliminary version of the new documentation to show to the community. We also wrote a new FAQ to address issues with transactions not being mined.

Community & Communication

Check back for next week’s update where we’ll dive into the last two weeks of community outreach and communication efforts. You can check out last week’s community and communication update for the latest info.