Dear Zcash community,
We hope you are having a pleasant holiday season, and we’d also like to wish you all a Happy New Year! We’d like to share with you an update on what we have been working on for the ZSA project.
ZIPs
Our PR#854 to the ZIPs repository was merged some time ago, and the ZSA ZIPs have received go-aheads from the ZIP editors based on their viability assessments for NU7.
We have opened a new pull request, PR#960 to the ZIPs repository, in order to continue with further updates and improvements, which we detail more about below.
- We have adjusted the V6 transaction format to include forward-looking support for Action Groups, which is a generalization required for Asset Swaps. We have also correspondingly updated the computation of the transaction digests.
- We have resolved even more of the open issues related to ZSAs, viz. Issue#956, Issue#957, Issue#958. In the process, we did a refactor of the entire consensus rules section of our ZIPs, bringing it to the same format and structure of the protocol specification, making for easier review.
- We have added an explicit specification of the types of Issue Notes, removing a minor ambiguity that we spotted.
- We have discussed a resolution to Issue#955, that adds specification for the computation of the \rho field in Issue Notes, which we are putting the finishing touches to in our internal PR#90.
- We are also completing the specification for reference notes, another forward-looking addition to the issuance state that will be used in Asset Swaps and other potential future improvements to the protocol.
- Based on discussions with the ZIP Editors and changes to the ZIP update guidelines, we have moved the specification of the ZSA Fees from an edit of ZIP 317 (The Proportional Transfer Fee Mechanism ZIP) to a section in ZIP 227 (The Issuance of ZSAs ZIP). Accordingly, PR#667 for the Fees has been closed and further discussion will continue in PR#960.
Zebra Node, zcash_tx_tool, testnet and demo
- We ran a community call some days ago, where we gave a quick overview of the changes we have made, demonstrated the functionality by running a Zebra node and using our zcash_tx_tool to set up the transactions. The recording can be found here, we’d love to hear more from you!
- We have continued to develop the asset supply and state management functionality in Zebra.
- Work is also ongoing related to implementation of the new consensus rules and transaction structure for Zebra.
- We are also progressing well on setting up a persistent Zebra node on an ECS instance, as a step towards setting up a dedicated ZSA testnet.
Changes to the librustzcash
, orchard
, and other crates
- We implemented the transaction format change to account for Action Groups, through all the relevant crates, viz.
librustzcash
,orchard
, andzcash-test-vectors
. We are in the process of putting all these changes together. - We have added an implementation for reference notes into the
orchard
crate. - We have updated the Orchard and Halo2 books with a draft of our changes, so everything is appropriately explained there as well.
OrchardZSA Audit
We received the audit report for the OrchardZSA Protocol from Least Authority. It is very positive, with no major issues found, and some suggestions for improvement, which we have already begun incorporating.
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
.
See you in 2025!
Best,
The QEDIT Team.