At a high level, there are two things that need to happen before NU7 can activate:
- zcashd must be deprecated (because ECC will not support adding more features - like ZSAs - to zcashd), and
- QEDIT must complete the work to enable ZSAs, and those changes must be merged into both Zebra (maintained by ZF) and librustzcash (maintained by ECC).
Of the two, Zcashd Deprecation is the biggest challenge. This isn’t to suggest that the work that QEDIT is doing is simple (it’s definitely not!) but it’s well in hand, and on track.
To deprecate zcashd, we need to replicate all the functionality that people and organisations currently rely on zcashd for, in other pieces of software. The plan (agreed last September) looks roughly like this, annotated with which organisations are responsible for which pieces (credit to Zingo for the original diagram):
ZF is working on adding whatever functionality is necessary to support the Zaino usecase, and any other use cases that will rely on Zebra (e.g. mining). You can track the progress of that work in this GitHub milestone or by reading our Engineering Updates.
We’re also supporting QEDIT with the changes they’re making/refining to their fork of Zebra, and we’ll be helping them merge those changes into the main branch of Zebra.
FROST is not a strict prerequisite for NU7 but it addresses various important use cases (e.g. the Avalanche bridge, multisig-style ZSA issuance, potential mechanisms for distribution of lockbox funds).
We would absolutely do that if it would bring NU7 forward. As things stand, we don’t think it would because ZF is not the bottleneck.
In any case, the current phase of FROST work (providing a FROST and frostd implementation that can be used to add FROST support to Zcash wallets) is nearly complete, and after that, all our engineers will be fully focused on Zebra, Zcashd Deprecation and getting ZSAs merged and activated.