Hi everyone,
This is the Zcash Foundation’s Engineering update for Sprint 21 (October 8th - October 21st.)
During this Sprint, the Zebra team momentarily switched their focus back to NU6 in order to tag an NU6 stable release candidate (version 2.0.0-rc.0) and started to address the findings from the NU6 audit, in preparation for the Zebra NU6 stable release v2.0.0.
We also completed the work to add authentication to zebra’s RPC server using cookie based authentication, which is part of the work to support Zcashd deprecation by porting the zcash RPC testing suite to run against Zebra and therefore identify gaps and divergences in functionality between zcashd and zebrad. Additionally, we have completed the work to make the halving interval configurable for custom Testnets and to match the halving interval and funding streams in zcashd on Regtest. Matching the zcashd halving interval on Regtest is intended to help the team working on the Network Sustainability Mechanism (formerly known as the Zcash Sustainability Fund) to test their implementation in Zebra and zcashd,and will also be useful when running the zcashd RPC testing suite. We are still working on adding the spent outpoint and nullifier indices that a zcashd replacement wallet will need from Zebra and on adding support for orphan transactions to ensure that Zebra can support TEX transactions.
Work on FROST this sprint included updates to the documentation on the refresh share functionality, to clarify intended use cases and the fact that previous key shares still remain valid even when new ones are created. We added cargo-vet to our FROST demo repo to facilitate review of dependency upgrades
We have also started reviewing an external PR which adds a new ciphersuite crate frost-secp256k1-tr, which complies with BIP340 Schnorr Signatures on Bitcoin and is compatible with BIP341 tweaks. This crate can be used to produce valid signatures on Bitcoin transactions. We are looking into ways to simplify this implementation to be less invasive to the existing FROST reference implementation and should be able to leverage some of this work when producing FROST signatures on Zcash transactions. This also benefits the Zcash ecosystem, since BIP340 signatures will be used for issuing ZSAs, and that is a great use case for FROST.
Finally we have tagged the v2.0.0 stable release of the FROST reference implementation. For more details on this, please see our FROST v2.0.0 release announcement.
On DevOps, we completed the work on the refactor of the cached disk deployment and have been testing the deployment of long-lived testnet nodes with static IP addresses. These will be added to the Zcash Foundation’s DNSSeeder and will help to make testnet more stable. Finally, we have continued to improve our docker images with a refactor of our Dockerfile to simplify its contents and remove some minor bugs.
Thank you for reading!