Arborist Call #96 | Zcash R&D Updates
The Zcash Arborist Calls are bi-weekly protocol development meetings focused on tracking upcoming protocol deployment logistics, consensus node implementation issues, and protocol research.
Key Points: Zebra RPCS, Mobile SDK Tor Support, ZSA Offchain Metadata, Crosslink & NSM.
This summary focuses on the last call that took place on 02/20/2025
Refactoring the Docker file is complete.
A joint effort between Arya and an external contributor on implementation of invalidateblock + reconsiderblock functions to a finalized state - completed.
This allows Zebra to actually implement the RPC method.
https://t.co/IHY4hJylJ1
Work on tracking misbehaving peers that sending bad information and banning them using a score system - now finalised although documentation and analysis is required.
Inbound connections to the getpeerinfo RPC method are currently being added.
Conrado is replacing ZcashScript in Zebra & Natalie is doing the sensimilla for Zebra.
Zebra team expanded the getblockchaininfo RPC method to return more data, added a block commitment field to the getblockoutput & fixed serialization in the configuration format for regtest.
Alfredo is adding negative height support for some RPC methods.
Work is ongoing to fix the getblocktemplate coinbase output order for greater similarity to zcashd.
The main focus over past 2 weeks has been getting the librustzcash crates into releasable state.
This allows @KeystoneWallet to use published versions of the crate stack rather than depending on pined dependencies.
The transparent change recovery will not be in this set of releases as there are significant enough changes in how wallet code synchronizes transparent logic, that it requires its own breaking release.
These will be made available in the mobile SDK so that @zashi_app, @EdgeWallet, @Unstoppablebyhs & @NighthawkWallet will be able to test.
This also brings transparent-related RPC’s to the zcashd replacement wallet, Zallet.
ECC team also put together a draft for ZIP 325 - specification for account metadata keys.
It will enable a commonly understood keytree that any wallet can use to encrypt/handle offchain metadata is generated its recoverable from an encrypted backup using the same seed phrase.
Metadata would be items such as address book, annotations on transactions, exchange rates used to calculate amounts, tax notes etc.
Support for mobile SDKs for fetching and submitting transactions over Tor has been implemented and will roll out in the next release.
Done correctly and done carefully, it will be able to break the link to stop lightwalletd servers from directly observing who is submitting transactions on the network.
Timing correlations if you immediately query it via public provider still possible.
Teams integrating must consider request patterns.
Tor has limitations but does well protecting against compromised infrastructure.
Stronger iterations would be using @nymproject mixnets.
@LeastAuthority audited the FROST client and frostd tools, they provided an audit report with no major findings. There were minor issues that are already being addressed.
The FROST project is now complete! There was a recent community call with a demo.
A rerecorded demo is soon to be posted.
Integrating with PCZT`s is a valuable add which will need to be scheduled later.
If you would like to integrate FROST with your Zcash wallet or other piece of software, reach out to the @ZcashFoundation team.
Focus @ShieldedLabs has been interviewing and hiring new team members, an additional person is expected to join soon.
This week the team is going meet in-person to discuss Roadmap for a crosslink implementation and its code design.
They`ll also gather specific requirements for a first milestone which is to include a demo or proof of concept with crosslink functionality added into a Zebra fork planned for end of March.
The security analysis of Crosslink is incomplete but will not block till after Milestone 1.
@ShieldedLabs has made significant progress on the integration work for ZIP 233.
Feature flags have been removed and NU7 has been added in the V6 transaction format.
2 separate feature flags for ZIPs 234 & 235 were added.
The Zcash test vectors were updated for the v6 transaction format. All PRs, except for librustzcash were rebased on the latest upstream.
They will meet with @eiger_co today to relay feedback and discuss what else needs to be done before their PRs are merged upstream.
The ZIP editors have suggested a new design change. Currently, there`s a string called asset_desc that describes each asset.
Its paired with an issuance public key specifying the asset uniquely.
Suggestion is for asset_desc to only be encoded as a hash on the blockchain.
If the asset description itself is onchain, a simple attack vector would be to spoof a popular asset`s description, but use a different issuer key misleading users wallets.
Without a protocol for offchain metadata, users can`t acquire reputation of an issuer, any security issues there might be or if its a scam.
The solution may be to use a standard format for curated Token Lists as used on Ethereum with the user having options which to subscribe to.
Into Open Discussion, the idea for Arborist Calls livestreamed to X:
Restreaming may build engagement/bring in new developers & show the significant amount of development that is carried out. There was objection however as it may pose a risk to participating developers.
@Nuttycom proposed an ecosystem-wide configure flag, eg, zcash_unstable=NU7.
Within each crate, guarded by the configure flag, new functionality will be introduced under an ordinary rust feature flag.
The advantage of this is modularity. Memo Bundles code/ZSA code could be put under a Rust feature flag so implementation could be done in an additive fashion, such that when you turn on all of those features, all of the functionality is intended for a NU7 is working.
The next Arborist call will be ion 20th of March:
Downloaded new ICS calendar files with corrected timezones here:
https://t.co/Id8HNnfMQA
A mail group for announcements relating relating to Zcash technical developments for ecosystem partners to find out when significant changes are being made to software, upgrade requirements & deprecation notices have been created.
https://t.co/U697lqx8uz to register.