June 2, 2017 - Dev update

These updates are now categorized by working groups.

We’ve been stalling on getting these working groups up and running with regular group meetings and official reports to include in the dev updates as originally intended. So I might revert to the less-structured format I was using at least temporarily until the groups start establishing themselves more formally.

That said, we had a conversation in the weekly Zcash foundation call about adopting the working groups format for volunteers working with the Foundation. More info in this ticket.

Not much direct progression happened this week on Sapling or HF0 but we have a planned meeting for Sapling discussions next week. If you’d like to become involved in this upcoming meeting or future discussions (even if just for passive lurking purposes), please get in touch to receive an invite.

You can see the tickets in discussion and work-queue for Sapling in the related project.

There is planned to be a release for the CI production infrastructure next week (referred to as 1.0.10 CI deployment).

Engineering work and ticket triage for the 1.0.10 release (set for later this month) is also progressing.

Development infrastructure:
As mentioned above, updates to the development infrastructure are set to be released next week. The main goal for these upgrades will be to port the benchmarks used in Zcash to bitcoin so we can compare results and have better understanding of effects from changes we’ve made (#2356).

Network infrastructure:
As mentioned in the Release section of this update, we’ve been progressing on work for the 1.0.10 release. A lot of the work will continue to focus on security and stability, particularly with improving performance expectations and network robustness such as a mempool expiry for transactions (#2384 which helps to limit the size of the mempool when many transactions are being submitted.

Relatedly, we had a topical meeting about temporary mempool performance solutions using time-based transaction expiry. A blocktime-based transaction expiry is the end goal, but is a consensus change and will need to wait for a future hard fork (either HF0 or Sapling, for example).

We’ve also started a zcash-primitives repository which will be an officially supported JavaScript library of Zcash primitives. This is intended to be used with full library implementations such as a Zcash fork of bitcore.

Berkeley DB replacement:
No further discussions this week. See the Wallet DB to SQLite project for current status.

I neglected to point out in previous updates in the last month the existence of the ZBXCAT repository which is a work in progress implementation of cross-chain atomic trades between Zcash and Bitcoin.

We progressed on the user experience research project that started last week. Initial takeaways are that preliminary research to round-up general cryptocurrency UX implementations and difficulties is a necessary first step before exploring Zcash-specific UX. We gathered notes on existing cryptocurrency UX challenges and did studies on mobile installations of two Zcash supporting wallets. A summary of these reports will be released at the end of this project phase (probably around the end of this month).