Zebra 6.2.1: Safety Hardening and a Testnet Template Repair
We’re happy to announce the discharge of Zebra 6.2.1. This patch launch provides two safety hardening enhancements to chain synchronization and mempool verification, and fixes a Testnet-only block-template timing problem. All node operators are inspired to improve.
Safety Advisories
GHSA-x93j-mj2f-q338: Poisoned Blocks Can Delay Obtain of Legitimate Blocks (Reasonable)
Chain synchronization can now instantly retry an sincere block physique after rejecting a physique that shares its header hash, as an alternative of ready for a later little one block to set off cleanup. This shortens the window wherein a peer delivering a poisoned same-hash block physique can delay the obtain of the legitimate block. It builds on the stale-rejection repair in GHSA-8gxx-hc65-vv82. (#11052)
Because of @oxarbitrage for figuring out this problem.
Different Safety Enhancements
On nodes with NU6.3 (Ironwood) lively, Zebra now rejects underpaying and structurally invalid shielded mempool transactions earlier than working their costly proof verification, and disconnects friends that ship transactions with invalid shielded proofs. (#11053, #11054)
Modified
Testnet getblocktemplate Timestamp Dealing with
On Testnet, the getblocktemplate RPC not switches to a minimum-difficulty block template early. Zebra beforehand handled a template as minimum-difficulty as quickly as its cur_time got here inside a set 150 seconds of the consensus minimum-difficulty threshold, clamping cur_time as much as simply previous the brink, which future-dated the block’s timestamp and produced spurious minimum-difficulty blocks that depress Testnet issue far beneath its equilibrium. Templates now change to minimal issue solely as soon as cur_time reaches the consensus threshold itself. It is a Testnet-only, template-construction change: it doesn’t alter block validity, and it doesn’t change the difficulty-averaging rule that amplifies every minimum-difficulty block into a big issue drop (tracked in zcash/zips#1321). (#10873)
Upgrading
You’ll find the discharge on GitHub, crates.io, and Docker Hub. We encourage all node operators to improve to choose up these fixes.
Thank You to Our Contributors
This launch was made potential by the work of @conradoplg, @daira, @jvff, and @upbqdn. Thanks to your continued contributions to Zebra.
Zebra is the Zcash Basis’s impartial, Rust-based implementation of the Zcash protocol. Study extra at github.com/ZcashFoundation/zebra.
