Dear Zcash Community,
We’re happy to share our monthly update on the status of our work on the ZSA project and our supporting work for Zebra.
Zebra Node
We have largely completed changes across the librustzcash
, orchard
and zcash-test-vectors
repositories to support V6 transactions, including the refactoring as we described in the previous update. We are working on providing the complete V6 transaction support inside the zebra
repository.
- We have switched over to using the OrchardZSA versions of
librustzcash
andorchard
(which have support for V6 and V5 together). - We introduced NU7 specific code to the appropriate sections in the
zebra
crates. We are in the process of adding ZSA-specific changes inside these sections. - We are also working on using RocksDB to store the additional issuance state that is required in the ZSA protocol (specifically, whether assets are finalized, and issued amounts) .
- We resolved CI issues: the Zebra node and repository has a complex CI setup that cannot directly be copied to our working repository. We instead created a simpler CI setup for our day-to-day work. We will be verify the ZF CI setup passes on our work at regular intervals.
- We are continuing work on the ZSA test setup and the
zcash_tx_tool
(link) that can be used for creating ZSA transactions for integration tests. - We have also begun work on V6 transaction verification logic.
OrchardZSA Audit
- We have contacted the Least Authority team for initial work and cost estimation.
- The scope of review is as follows:
- The OrchardZSA protocol, as reflected by the modified Orchard crate.
- The OrchardZSA Halo2 circuit and dependencies.
- We will be supporting the audit in the upcoming weeks.
TxV6 serialization and testing
- We completed the TxV6 serialization and edge-cases in
librustzcash
. - We also completed the test vectors for TxV6 and OrchardZSA.
ZIPs
- We have continued resolving the open issues related to the ZSA ZIPs. These have been merged into our PR#854.
- We have made some additional improvements to the burn mechanism section, and added rationale where it was necessary.
- We are also making a pass through ZIP 228 for Asset Swaps over ZSAs (PR#780), refining the material as we begin our implementation.
Open Implementation PRs
- We have submitted PR#823 to the
halo2
repository and PR#429 to theorchard
repository to support the halo2 gadget changes, as described in the previous update. We will be submitting further PRs based on the split described last time after the initial review of this PR, since they build on this base. - We have made changes and responded to the review on our PR#2 to
zcash_note_encryption
.
Best,
The QEDIT Team.