As I’ve said previously…
The ZF Zebra engineers have been meeting with the QEDIT team on a weekly basis for some time now, and we will prioritize reviewing and merging the PRs that enable ZSAs as and when QEDIT submit them.
@_jon & @vivek - If there’s anything we can do to speed things up, let me know, and if you ever feel that ZF is an obstacle or a bottleneck to getting ZSAs deployed, feel free to call me out publicly!
ZSAs could be rolled out before zcashd is deprecated, with the caveat that doing so would require that zcashd be updated so that it continues working (i.e. retains, at a minimum, its current functionality) after the network upgrade that deploys ZSAs.
Right now, there are effectively two paths to deploying ZSAs.
Plan A is to add support for ZSAs* to both zcashd and Zebra, and activate ZSAs on mainnet.
﹡ To avoid any confusion, “support for ZSAs” in this context means consensus rule compatibility - i.e. the node will recognise V6 transactions (including ZSA transactions), be able to validate them, gossip them across the network, and include them in block templates. It explicitly excludes adding support for ZSAs to zcashd’s internal wallet.
Plan B is to add support for ZSAs to Zebra only, which means that ZSAs cannot be activated until zcashd is deprecated. In order to deprecate zcashd, we need to create alternative solutions for the key use cases that people currently rely on zcashd for that Zebra doesn’t yet support but should (e.g. the functionality required to act as a back-end for block explorers) or has no plans to support (e.g. zcashd’s integrated wallet). Then we need to coordinate an orderly and timely migration by key ecosystem partners (e.g. exchanges).
I want to be clear: ZF is committed to working with ECC to make it possible to deprecate zcashd. If it were the top priority and primary focus for both ZF’s and ECC’s engineering teams, I think we could make very rapid progress, maybe even get it done in time for the Halvening. However, ECC has other priorities, which means that the timeline isn’t clear.
So, the choice is between getting ZSAs deployed ASAP by expending the effort to add support for ZSAs to zcashd, or delay ZSAs until we deprecate zcashd but with no clear timeline.
Personally, I think getting ZSAs deployed should be the Zcash ecosystem’s top priority. Nothing else that anyone in the Zcash ecosystem is working on at the moment comes close to the potential for ZSAs to improve Zcash’s utility, expand its functionalty, and enable more use cases.
Let’s JFDI.