JAM is optimized to be a rollup host, and a Nu7+Tachyon rollup host specifically. It factorizes consensus (Zcash PoW=>Crosslink) from execution (Orchard=>Nu7+Tachyon) a bit differently to run an audit protocol across some number of cores. Fundamentally, because each core can validate a different part of a rollup’s state transition (verifying recursive proofs, in Tachyon), you win a lot of parallel zk proving across as many as 341 cores.
A Tachyon JAM service, combined with an updated Zashi wallet that interacts with a oblivious sync service, is extremely well-suited to generate proofs of validity + finality at high throughput. The rollup block builders will submitting work packages to JAM, because they are literally operating the oblivious sync mixnet.
We should develop a Zcash JAM testnet instance, running a Nu7+Tachyon service, targeting 10-100x throughput improvement via 341-core parallel execution over alternatives. If our testnet validation confirms these gains (as we would expect/hope!), the Zcash community could prioritize a JAM path over Crosslink. We could hope that Zcash rollups proliferate in 2026-2030 the way EVM rollups did in the 2021-2025 due to: faster finality, composability with other rollups (EVM rollups right next to Zcash rollups), and real privacy (Nu7+Tachyon).
Zcash JAM + Polkadot JAM + other JAM can form a “JAM Grid”, forwarding verifiably finalized work (concerning the validity+finality of the rollups each JAM instance hosts) to one another. And, of course JAM bring together multiple rollups (Zcash + EVM + …) together in the same JAM instance, or across instances.
I’m sure Polkadot would like CoreTime demand from Zcash rollups, but I don’t think Zcash should be an L2 to another eco’s L1. Zcash should have its own Zcash JAM instance, with its own validators staking ZEC instead of DOT, its own validator selection, inflation/burn/fee policy configured separately, and its own rollup ecosystem. Instead of using Polkadot’s validators, JAM open source tech can be used run Zcash’s own rollup network the way the Zcash community wants to. JAM DA becomes Zcash DA within the Zcash JAM instance for Zcash and non-Zcash rollups alike.
Right now our JAM NU7 Service is just validating work packages containing bundles of Orchard ZSA transactions (issuance of new assets, shielded transfers, swaps).
A JAM NU7+Tachyon Service PoC development path would be:
(1) Map Ragu Rust (Sean’s IVC accumulator implementation) into JAM refine PVM to generate proofs of validity
(2) Map Zcash oblivious sync into a JAM builder for Tachyon work packages
(3) Adjust Zashi wallet to generate IVC-native bundles
Re “funding”:
- from the JAM ecosystem, JAM builders (15+ teams) are supported by milestone-based JAM prize, providing client diversity to all JAM instance and potential “oblivious” builder mixnet for Zcash rollups
- from the Zcash ecosystem, ideally we could get whichever teams to do (1)+(2)+(3) to be well-supported enough to see a PoC to success.
Does this make sense? If not, what does?