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 subject. 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 trustworthy block physique after rejecting a physique that shares its header hash, as an alternative of ready for a later baby block to set off cleanup. This shortens the window through which 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)
Due to @oxarbitrage for figuring out this subject.
Different Safety Enhancements
On nodes with NU6.3 (Ironwood) energetic, Zebra now rejects underpaying and structurally invalid shielded mempool transactions earlier than operating 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 problem far under its equilibrium. Templates now swap to minimal problem solely as soon as cur_time reaches the consensus threshold itself. This can be 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 problem drop (tracked in zcash/zips#1321). (#10873)
Upgrading
You will discover 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 in your continued contributions to Zebra.
Zebra is the Zcash Basis’s unbiased, Rust-based implementation of the Zcash protocol. Be taught extra at github.com/ZcashFoundation/zebra.
