ZSAs in NU7

Dear Zcash community,

We’d like to share with you here our update on what we have been working on in the last few weeks!

ZIPs

  • The ZIP Editors merged our previous pull request (PR#1009) to the zcash/zips repository for the rearrangements to the Asset Identifier section of ZIP 227.
  • We have also opened a new pull request (PR#1033) that makes some minor changes to both the ZSA ZIPs in order to remove some ambiguities we spotted while parsing through the ZIPs.
  • Our internal PR#107 includes a draft of our resolutions to issues #1034 and #1036 raised by the ZIP Editors inside this PR. A link to the rendered version of the ZIPs and slides summarizing these changes are also present in comments on these issues.

Changes to the halo2 and crates

  • Our pull request to the halo2 repository (PR#823) has received initial approval from the ECC post our discussion and response to their comments. We are looking forward to the merging of this PR!

Changes to the orchard crate

  • Our changes to the orchard crate are in general caught up to upstream changes, and we have also completed the implementation updates to support ZSAs as of the current specification.
  • We are looking forward to receiving feedback from the ECC based on discussions we had about the ZSA changes to orchard.

Changes to the librustzcash crate

  • Just as in orchard, we have completed all the changes arising from the updates to the ZSA ZIPs in the librustzcash crate.
  • We are making progress with the merge of the changes from upstream into our work.

Zebra

  • We have completed the changes to make our version of Zebra support the ZSA changes made lower down the stack.
  • We have recently prepared a pull request (PR#9560) to the upstream repository that covers partial support for ZSAs, via parsing, (de)serialisation and validation of V6 transactions. This allows for a formal review to be done.
    • This PR uses ZSA capable forks of the various crates (such as orchard, librustzcash and others) down the stack, and therefore merging post review will depend on those forks being merged in those crates.
  • We also have the state management work being worked on at present, and we will submit a subsequent PR with those changes post the review of the current PR.

Updates to zcash_tx_tool

  • Our CI has been improved to check for compatibility with Zebra, and also takes advantage of caching to improve runtime.
  • We have also caught up to other changes down the stack such as the move of the Burn fields inside the Action Groups, and the switch to using a hash of the Asset Description.
  • Our improvements to the code to create different scenarios for testing have been completed.
  • We have also set up our testnet node, and you can see more details on how to connect to it and try it out here.
  • All these improvements have been released in a new version v0.3.0.

PRs ready for review

  • We have submitted PR#823 to the halo2 repository (and PR#429 to the orchard repository as a reference to support the halo2 gadget changes), as described in the previous update. We will be submitting further PRs after the initial review of this PR, since they build on this base.
  • We also have made some minor clarifying improvements to both ZIP 226 and ZIP 227 in PR#1033 of the zips repository.
  • The orchard crate changes for ZSA are in PR#372.
  • The initial ZSA changes for zebra are in PR#9560.

Best,
The QEDIT Team.

4 Likes