Zebra 1.0.0-beta.2
Pre-release
Pre-release
github-actions
released this
02 Dec 20:55
·
2194 commits
to main
since this release
Zebra's latest beta continues implementing zero-knowledge proof and note commitment tree validation. In this release, we have finished implementing transaction header, transaction amount, and Zebra-specific NU5 validation. (NU5 mainnet validation is waiting on an orchard
crate update, and some consensus parameter updates.)
We also fix a number of security issues that could pose a local denial of service risk, or make it easier for an attacker to make a node follow a false chain.
As of this release, Zebra will automatically download and cache the Sprout and Sapling Groth16 circuit parameters. The cache uses around 1 GB of disk space. These cached parameters are shared across all Zebra and zcashd
instances run by the same user.
Added
Network Upgrade 5
- Validate orchard anchors (#3084)
Groth16 Circuit Parameters
- Automatically download and cache Zcash Sapling and Sprout parameters (#3057, #3085)
- Stop linking the Sapling parameters into the
zebrad
and Zebra test executables (#3057)
Proof & Anchor Verification
- Use prepared verifying key for non-batch Sapling Groth16 verification (#3092)
- Validate sapling anchors⚓ (#3084)
- Add Sprout anchors to
zebra-state
(#3100)
Transaction Amount & Header Validation
- Validate miner transaction fees (#3067, #3093)
- Validate transaction lock times (#3060)
- Validate transaction expiry height (#3082, #3103)
Dashboards
- Add transaction-verification.json Grafana dashboard (#3122)
Fixed
- Shut down channels and tasks on PeerSet Drop (#3078)
- Re-order Zebra startup, so slow services are launched last (#3091)
- Fix slow Zebra startup times, to reduce CI failures (#3104)
- Speed up CI, and split unrelated and conflicting CI jobs (#3077)