Important: Deadline for ZIPs that want to be activated in NU7

In yesterday’s meeting, the ZIP editors (with additional input from Daira-Emma) discussed the timeline required to implement ZIPs (Zcash Improvement Proposals) to be activated in NU7 (Network Upgrade 7). (Zcash Improvement Proposals are the mechanism through which changes and improvements to the Zcash protocol are proposed and discussed.)

There is overall expectation in the community that NU7 will bring ZSAs (Zcash Shielded Assets, an extension of the protocol being worked on by QEDIT via a ZCG grant), and thus will also mark the official deprecation of zcashd (the Zcash node maitained by ECC), since it is not expected that ZSAs will be implemented for zcashd.

A network upgrade takes time (implementing, auditing, activating on testnet and testing, preparing for mainnet activation, and finally activating on mainnet), so we have mapped out a timeline for this process to happen. Considering this timeline, we have determined the first important deadline.

By November 5th, 2024, all proposals that aim to be included in NU7 must have been submitted as ZIPs, containing semantic content that is sufficiently stable to make a technical and community decision on whether to include it in NU7.

In particular, this applies to the ZSAs ZIPs (which are already mostly done), but of course to any other ZIP.

For guidance on how to submit a ZIP, check the “ZIP Workflow” section of ZIP 0.

If required, the ZIP editors can hold “office hours” where you can get guidance on how to write and submit a ZIP. Please reach out if that is necessary.

Timeline

In order to work out the previously specified deadline for NU7 ZIPs, the ZIP editors made a rough sketch of the most optimistic possible timeline for the network upgrade and zcashd deprecation. Please note that this is a preliminary view from the ZIP editors, and does not represent any sort of commitment by ECC or ZF or any other involved party. Also keep in mind that the timeline will be affected by the set of ZIPs that end up being selected to be activated at NU7.

Highlights (most optimistic possible timeline):

  • November 5th, 2024: NU7 ZIP deadline.
  • Around beginning of February, 2025: NU7 testnet activation height set. Zebra release with all NU7 consensus rules implemented.
  • Around beginning of March, 2025: NU7 testnet activation. Wallets should update to support the likely new transaction format, and possibly to add ZSA support if desired.
  • Around beginning of April, 2025: hopefully the zcashd replacement wallet will be ready so zcashd users can start to migrate to Zebra + replacement wallet.
  • Around mid-May 2025: the last zcashd release reaches end-of-service. Network will become mostly Zebra-only. A new zcashd release with updated end-of-service will be ready in case something unexpected happens in the network.
  • Around end of May 2025: Zebra release with the NU7 mainnet activation height set.
  • Around mid-August 2025: NU7 activates.

(mermaid.live version)

15 Likes

Does this mean that @_jon or @vivek need to submit a revised ZIP 228, or other to get ZSAs on the docket for NU7 activation?

https://deploy-preview-50--zcash-zips-qedit.netlify.app/zip-0228

Yes. We mentioned this to @vivek during a meeting today.

Shielded Labs should also be aware (cc @aquietinvestor )

3 Likes

I guess majority of time when people ask the following question they are not really interested in the answer. This is not one of those.

Genuinely, what would it take to compress this timeline? Is there anything holding this out or it’s just the inevitable process of decentralised node operators?

IMO it’s incompressible. There’s simply too much to implement, test, and deploy

3 Likes

I wanted to clarify that we have submitted updated versions of the core ZSA ZIPs via PR#854. These are ZIP 226 (Transfer and Burn), ZIP 227 (Issuance) and ZIP 230 (V6 Transaction Format), where I’ve linked to the rendered versions of all three ZIPs. It is already on the agenda for the ZIP Editors meeting, and we will resolve any comments that are raised.

ZIP 228 relates to Swaps on ZSAs, which we have begun implementing (see update here), but which is not planned for NU7.

We are preparing a revision to ZIP 317 for the fees, and similar for ZIP 315 for the wallet behavior. That is something we discussed recently, and will share with the ZIP Editors / community in the coming weeks.

4 Likes

Meaning we would launch ZSA’s in main net without being able to swap them?

what are the current presumed candidate zip’s for NU7?

The big ones are ZSAs and formerly-known-as-ZSF ZIPs. There may be some smaller ones.

1 Like

I think there may be some confusion on the goal of this deadline.

It’s not the job of the ZIP editors to dictate a specific timeline for development. The goal here was to work out: if we want NU7 as soon as possible (i.e. because people want ZSAs as soon as possible), what is the best feasible timeline for that to happen? And based on that, what is the latest date on which we need to decide which ZIPs will be included in NU7?

It’s still perfectly possible that, for example, QEDIT can say that they won’t be able to finish the ZIPs in time for the Nov 5th deadline (unlikely, it’s an example!). Then it would be up to the community to decide if they want an NU7 without ZSAs, or if NU7 should be delayed to wait for the ZSAs ZIPs to be finished.

4 Likes

lets say we get ZSAs. but if the swapping ability is not launchin at same time then is there even real point to release ZSAs at that point?

There’s a lot you can do with ZSAs without swapping. Tokens, NFTs, etc.

Also I don’t see a good argument for waiting for swaps unless swaps were really close to done (which AFAIK they aren’t)

I believe we will have the ability to transfer ZSA tokens between users/exchanges, issue new, burn, etc… as it is scheduled.

The swaps are more automated & matchmaking that are built on top of the base ZSA functionality so are more complex. It makes sense to have the base ZSAs running smoothly before we add complexity on top.

2 Likes

so like a centralized exchange swap will work?

1 Like

Yes, it would work

1 Like

After several marathon meetings (of which there will be many more in the next few weeks), the ZIP Editors have assembled the full set of ZIP drafts proposed as candidates for inclusion in NU7:

For avoidance of doubt, no decision has been made on whether to include each of these ZIPs. We have another meeting tomorrow in which we’ll start editing them, with an initial focus on edits for clarity.

13 Likes

I noticed that I forgot to highlight one important date, which is the deadline for selecting which ZIPs will make into NU7: November 26th. So if you have any strong reason for some of them to not be included, you should voice your opinion before that date.

1 Like

One way of thinking about which ZIPs should be included in NU7 is to chunk them up into distinct packages based on what features they add (or other changes they make) to the Zcash protocol. I think this approach makes it easier to consider the implications for protocol complexity, and lends itself to polling the community for their input (see example poll below).

Feature or Change ZIPs
Zcash Shielded Assets ZIP 226: Transfer and Burn of Zcash Shielded Assets
ZIP 227: Issuance of Zcash Shielded Assets
ZIP 230: Version 6 Transaction Format
Memo Bundles ZIP 231: Memo Bundles
Explicit fees (protocol improvement) ZIP 2002: Explicit Fees
Deprecate Sprout (and render all Sprout funds unspendable) ZIP 2003: Disallow version 4 transactions
Consensus protocol improvement ZIP 2004: Remove the dependency of consensus on note encryption
Network Sustainability Mechanism option A (all) ZIP 233: Network Sustainability Mechanism: Burning
ZIP 234: Network Sustainability Mechanism: Issuance Smoothing
ZIP 235: Network Sustainability Mechanism: Burn 60% of Transaction Fees
NB: Will also require changes to the transaction format.
Network Sustainability Mechanism option B (burning only) ZIP 233: Network Sustainability Mechanism: Burning
NB: Will also require changes to the transaction format.

It’s also essential to clearly communicate the implications of proposed changes. “Disallow version 4 transactions” sounds relatively innocuous.

“Prevent anyone who has funds in the Sprout pool from able to access or spend their funds” is more accurate and informative. :upside_down_face:

Example poll:

Which of the following features and changes should be included in NU7?
  • Zcash Shielded Assets
  • Memo Bundles
  • Explicit fees (protocol improvement)
  • Deprecate Sprout (and render all Sprout funds unspendable)
  • Consensus protocol improvement
  • Network Sustainability Mechanism option A (all)
  • Network Sustainability Mechanism option A (burning only)
0 voters
10 Likes

I agree we need to emphasize the consequence of deprecating tx v4.

I don’t think we need to poll every single set of features since some of them are reasonably simple and well justified and have mostly benign engineering implications.

If we were to poll, my personal suggestion for options would be

  • ZSAs (mostly as a metric to compare with others, since we’re expecting overwhelming approval)
  • NSM (or NSM / NSM with burning only)
  • v4/Sprout deprecation

Regarding the timeline (also my personal opinion), I’m sorry the NU7 selection deadline wasn’t emphasized enough. I remind everyone that is not really the ZIP editors’s job to decide what is included or not. If the community needs more time to decide then that’s fine, the main implication is that this will likely move the proposed timeline and delay NU7 activation. I do urge any polling to be done ASAP if desired.

Additionally, the ZIP editors are preparing a post with feedback on whether each ZIP is feasible, safe, and useful, which I think will be posted early next week. I don’t expect big surprises in it.

5 Likes

[speaking for myself]

A ZIP title can’t describe all of its implications, and that isn’t its purpose. It would have been inaccurate to have the title be specifically about Sprout. The Abstract is extremely clear:

This proposal disallows v4 transactions. The v5 transaction format introduced in the NU5 network upgrade [7] does not support Sprout, and so this will have the effect of disabling the ability to spend Sprout funds.

It is not proposed in this ZIP to unissue, burn, or otherwise make Sprout funds permanently unavailable. This leaves open the possibility of re-enabling v4 transactions, or of adding another facility to retrieve these funds if the Zcash community considers it worthwhile. However, since it is possible the ability to spend Sprout funds will never be re-enabled, holders of these funds should move them out of the Sprout pool without delay.

ZIPs are technical specifications. It was never proposed to just give the community a list of ZIP titles and expect them to vote on them on that basis.