This is a mandatory update. Nodes older than v1.4.0 are refused at handshake and
cannot peer with the network. The pre-relaunch branch is dead — updating is the only
way to follow the live chain.
Highlights
- PoM walk-seed hardening (H5.1 + H5.2). The possession-walk seed salt is now
anchored per-pruning-header (activated at DAA 59,027,921) and chain-anchored
(activated at DAA 59,170,000). Both gates are already crossed on the live chain;
new nodes replay them transparently during IBD. - PoM proof transport fix. A missing possession proof on a received block is now
treated as a transport error: the delivery is rejected and retried, and the block is
never persisted as invalid. This closes the sync-wedge scenario where a node catching
up through the proof-retention window could permanently mark valid blocks invalid.
Validated by a controlled catch-up test across ~2,300 proof-stripped blocks: zero
errors, no wedge. - Abandoned-branch peer filtering. Three complementary layers keep dead-branch
peers out: a minimum-version gate at handshake (< v1.4.0 rejected), a pinned
chain-anchor check during IBD negotiation (wrong-chain syncers are banned before any
header download), and extended auto-ban on proven-invalid block delivery. - Orphan-root recovery follows the IBD trust model. Blocks fetched as orphan roots
beyond the proof-retention window are validated like IBD blocks (possession proof not
required), removing a false-positive rejection path during short catch-ups. Direct
tip relays keep full enforcement.
Chain anchor
The peering policy is pinned to selected-chain block
3461d9178083b24dadb13618758b5c4c92faa7c3c5dc1acdcd6a6abe5300e2ce (DAA score
59,192,679). Nodes whose chain does not include this block are on the wrong chain and
are banned at IBD negotiation. This is a local peering policy, not a consensus rule:
patched and unpatched nodes accept exactly the same blocks.
Bootstrapping from scratch works with or without the datadir snapshot. The anchor
check only arms itself once your own DAG contains the anchor block: a fresh node
simply syncs normally, learns the anchor during its first IBD, and enforces the check
from that point on. The snapshot is a convenience (it skips the multi-day full IBD and
ships with the anchor already known) — never a requirement. Once the anchor block is
eventually pruned, the check stays armed using your node's own pruning point as
witness.
Upgrading
- Stop your node.
- Replace the binary with this release.
- Restart. An existing datadir from the live chain resumes normally; a fresh node can
bootstrap either with a full IBD from the network or from the datadir snapshot.
Miners: update to keryx-miner v0.4.0