At Zcash Foundation, our mission is to build and support infrastructure that ensures Zcash remains a secure, private, and decentralized financial system. As always, our focus remains unwavering: we are here to ship code that keeps Zcash running.
Today, we are proud to announce a significant addition to the Zcash ecosystem: a native Rust implementation of the Zcash DNS Seeder.
Why a New Seeder?
DNS seeders are a critical piece of “plumbing” for any decentralized network. When a new Zcash node starts for the first time, it has no idea where to find peers. The seeder provides an initial list of active, healthy nodes, allowing the new participant to join the network.
Historically, the ecosystem has relied on legacy implementations. By rewriting this tool in Rust, we achieve several key objectives:
- Native Integration with Zebra: The new seeder leverages the
zebra-networkcrate—the same battle-tested networking stack that powers our Zebra full node. This ensures that the seeder crawls the network using the exact same logic and protocol standards as the rest of our infrastructure. - Memory Safety and Performance: The seeder uses a modern, lock-free architecture to serve DNS queries with minimal latency, even under high load.
- Built-in Resilience: The seeder includes per-IP rate limiting to protect against DNS amplification attacks, ensuring that our infrastructure cannot be weaponized against others.
Shipping While it Matters
We believe that the best way to support Zcash is to shore up its weak spots. Peer discovery is often overlooked until it fails; by providing a modern, high-performance alternative, we are ensuring the Zcash network remains robust and accessible to everyone.
Features at a Glance
The new seeder is ready for production testing and includes several features designed for modern operators:
- Active Network Crawler: Uses
zebra-networkfor reliable peer discovery and management. - Authoritative DNS Server: Serves A and AAAA records using the
hickory-dnsframework. - Observability: Includes built-in Prometheus metrics for real-time monitoring of peer health and query volume.
- Docker-Ready: Ships with full Docker and docker-compose support for rapid, secure deployment.
Looking Ahead
We invite the Zcash community and node operators to review the code and begin testing the new seeder on both Mainnet and Testnet. You can find the source code, documentation, and deployment guides in our GitHub repository. Please report any issues on the Github repository.
We remain committed to delivering the high-quality, open-source infrastructure that the Zcash community deserves. There is much more work to be done, and we’re getting after it.
