When Zcash launched in 2016, smart observers in the crypto sector knew they were looking at something special. Its groundbreaking implementation of zk-SNARKs set new standards in transaction privacy, and it remains the best-in-class today. Zcash has continued to redraw the crypto blueprint on multiple levels ever since, from its technical excellence and cutting-edge cryptography to its robust governance models and community-centered development funding initiatives.
Now the Zcash Foundation, one of the core organizations driving the Zcash ecosystem forward, is finishing the first stage of an ambitious technical project called Zebra, a new node implementation that looks destined to set new standards in blockchain architecture. And the Zcash community is waiting with open arms for independent developer teams of all sizes to discover and build on Zebra.
Two nodes are better than one
You may be wondering why Zcash has taken the potentially tricky path of developing an entirely new node from scratch. But when you put the move into the context of Zcash’s guiding values, it makes sense.
Since it was founded, Zcash has been running on zcashd, a code fork of bitcoind. When it was created in 2009, bitcoind was the polestar of the crypto constellation. In fact, it was pretty much the only star. Unsurprisingly, in the 2010s, many teams that were developing new cryptocurrencies used it as their starting point, including the Electric Coin Co., which launched Zcash.
But for crypto ecosystems that are always looking for innovative new features, the bitcoind codebase is beginning to show its age. The problem is that the more a crypto ecosystem founded on a fork tries to develop new features, the more the code it forked from becomes a straitjacket, especially when it comes to making use of newer, richer programming languages.
So about three years ago, the Zcash Foundation decided that the time was right to start over with a blank piece of paper and begin to design a node of its own – one that takes advantage of recent advances in programming language design and software architecture, while remaining fully interoperable with zcashd. This will ensure that the Zcash network operates robustly with a mix of both nodes. Now the new node implementation, Zebra, is ready for experimental use. From a developer’s perspective, here are some of its most compelling features.
Built on Rust
The fact that Zebra uses Rust will be a huge point in its favor among developers. In every Stack Overflow Developer Survey since 2016, Rust has been voted the most loved language among developers because of its great performance, excellent tooling, ongoing refinements and user community. The choice of Rust is also great news for the whole Zcash community. It’s a memory-safe language, and so Zebra and other software built on it are much less likely to be hit by security bugs.
Working within the Zcash ecosystem just got easier
Developers don’t commit to a new node lightly. And they are right to be cautious, because blockchain data usually runs to tens or hundreds of gigabytes. But Zebra typically syncs and validates the whole mainnet chain in between six and 12 hours, depending on network conditions, central processing unit (CPU) usage and other nodes. This performance and ease of getting started creates all kinds of exciting opportunities for developers.
Made modular for better accessibility and usability
Instead of a monolithic node, Zebra makes different pieces of functionality available as discrete Rust crates so that developers can pick and choose what they need and want to develop in the Zcash ecosystem. Anyone who is curious to test Zebra’s waters can dip their toes in to discover if it’s right for them.
Cryptocurrency nodes verify transfers worth millions of dollars. The fact that Zebra is an independent and yet parallel implementation alongside zcashd makes the new node a solid guarantee against the onset of bugs within the Zcash network. Because they operate side by side, if a bug creeps into one, the other implementation of the same rule is likely to be unaffected, ensuring the blockchain continues to operate smoothly while the bug on the affected implementation is neutralized.
Consensus bugs in particular are going to find life much, much more difficult on Zcash because of the independent Zebra implementation. Combined with Zebra’s use of Rust and its agile, modular architecture, the strategy Zcash is taking to implement Zebra looks like it’s going to make Zcash a great space for developers to be working in.
It’s clear that the implementation of Zebra will create some exciting opportunities for developers who are looking for a crypto ecosystem that can do justice to the hard work and inspiration they put into their coding. However, Zcash’s attractiveness to developers goes beyond Zebra. The Zcash community is now one of the most solidly established presences in the crypto industry, and since its earliest days, leading crypto innovators and world-class cryptographers have made it their home.
The Zcash Foundation is especially keen now to work with developers interested in building tools and features that leverage Zebra’s full potential to provide a great end-user experience, from light wallets to block explorers and DNS seeders. So if you’re a developer who has been looking to get involved in a community that’s all about innovation and want to show what you can build, the launch of Zebra might just be your perfect opening.