Skip to content

Euclid欧几里得(v1.5.2)

Latest

Choose a tag to compare

@benbaley benbaley released this 21 Oct 06:48
f9a9311

v1.5.2 is a maintenance release. It includes an important CBFT consensus security fix for ViewChangeQC verification, along with related bitmap handling improvements, fork-detection hardening, and dependency/maintenance updates.

What's Changed

  • Consensus security: When verifying a ViewChangeQC, the node now counts distinct signers across candidate block hashes instead of summing per-hash signer counts. This prevents a single validator from forging an accepted view-change quorum by signing multiple candidate hashes (#2371).
  • BitArray.Or: Bound the OR result by the result size (right-pad the smaller operand correctly), so distinct-signer aggregation across validator bitmaps of different lengths is accurate and commutative.
  • Fork detection: Historical fork helpers (IsCopernicus / IsNewton / IsEinstein / IsHubble / IsPauli) now also honor GenesisVersion, so chains whose genesis already includes a later fork version are classified correctly without relying solely on fork block numbers.
  • Dependencies: Bumped selected golang.org/x/* modules (crypto/net/sys/sync/text/tools, etc.).
  • Maintenance: Removed obsolete // +build tags, simplified some code with the built-in max, and fixed assorted documentation comments.

Statement

This version is a minor maintenance release. Upgrading is optional, but strongly recommended for all nodes because of the CBFT ViewChangeQC quorum verification fix.