Hello Zcash Community,
We are excited to announce that our team at Chainscore Labs has submitted a grant proposal to the Zcash Community Grants (ZCG) program for the development of zec-go: a new, independent, clean-room full node client for Zcash, written entirely in the Go programming language.
You can read the full proposal and grant application here:
- Technical Spec: Proposal: zec-go Node Client
- ZCG Application: Grant Application - zec-go: Independent, alternative Zcash Full Node Client in Go · Issue #133 · ZcashCommunityGrants/zcashcommunitygrants · GitHub
Why Zcash Needs Another Node
Client diversity is critical for the health, resilience, and decentralization of any blockchain network. As the Zcash ecosystem evolves and zcashd approaches deprecation, the network risks becoming heavily reliant on a single implementation (zebra). This centralization introduces systemic risk, as a consensus bug or vulnerability in one client could disrupt the entire network or cause a chain split.
Proposal: zec-go
zec-go is our solution to this problem: an independent, alternative full node client for Zcash built from scratch in Go. Our goal is to enhance network resilience and performance by providing a third, production-grade node implementation.
We chose Go to leverage its memory safety, powerful concurrency model (goroutines/channels), and broad developer ecosystem, which is ideal for building a high-performance and maintainable node.
What We Will Deliver
Our proposal covers a 12-month, 7-milestone plan to deliver a production-ready node capable of:
- Connecting to the Zcash network and gossiping blocks/transactions with peers.
- Performing a full Initial Block Download (IBD).
- Validating the entire chain history from genesis, enforcing all consensus rules across every network upgrade (Sprout, Sapling, NU5, etc.).
- Managing a full mempool for unconfirmed transactions.
- Producing blocks for miners.
- Passing the Ziggurat network conformance test suite to ensure robust compatibility.
About Us
Chainscore Labs, founded in 2021, is a Web3 research and development firm specializing in core, high-performance infrastructure for leading blockchain ecosystems. Our team possesses deep expertise in protocol-level engineering, applied cryptography, and decentralized systems. We have a proven track record of delivering production-grade infrastructure, with experience directly relevant to this proposal:
- Tessera (Polkadot/JAM Full Node Client)
We developed a clean-room, independent, alternative implementation of the Polkadot-JAM full node node client in Python. This demonstrates direct, hands-on experience in building a complex, high-performance full node from the ground up, parallel to the core requirements of zcash-go. It included:
- Consensus & VM: RISC-V VM (PolkaVM) supporting 1M+ TPS
- Storage: Erasure Coding based Data Storage (632MB/s)
- QUIC-based P2P Networking with 1000+ Nodes
- Performance: Achieved a 10ms block time, demonstrating an understanding of low-latency block processing.
Releases: GitHub - Chainscore/tessera-releases: Clean-room implementation of JAM Full Node Client in Python3.12
Codebase:
- GitHub - Chainscore/tessera: Python implementation of Join Accumulate Machine (JAM)
- GitHub - Chainscore/tsrkit-pvm: Tessera PVM is a Python implementation of the Polkadot Virtual Machine, with both Interpreter and Recompiler modes
- GitHub - Chainscore/tessera-test-suites: Detailed Test Suite for JAM+Tessera
- GitHub - Chainscore/tsrkit-asm: PolkaVM x86 Assembler binding in Python
- GitHub - Chainscore/tsrkit-types: Performant Python Typings library for type-safe binary serialization, JSON encoding, and data validation with zero dependencies
Documentation: https://tessera.chainscore.finance
- DotRing (ZK Crypto Library):
Our team developed DotRing, a library implementing the IETF, Pedersen and Ring Proof on 20+ Elliptic Curves including Bandersnatch, built from scratch without any third party dependencies. This project highlights our deep expertise in applied zero-knowledge cryptography, a domain central to Zcash. Supported by a grant from W3F.
Github Implementation: GitHub - Chainscore/dot-ring: ZK Suite of libraries for generating and verifying Pedersen and Ring Proofs
Specification: GitHub - davxy/ring-proof-spec: W3F Ring Proof Specification, GitHub - davxy/bandersnatch-vrf-spec: Specification for Bandersnatch VRFs
We welcome all feedback and questions from the Zcash community.