You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Onboarding cold-join now binds end-to-end:
- snapshot binder fetches the macroblock lineage via sync_macroblocks_repair
sliding cursor; the old mb_from=chain_height/90+1 was an empty request, so
snapshot binding never completed (root cause of slow block-by-block fallback)
- binder verifies the anchor 2f+1 checkpoint QC before trusting state_root and
rejects a None-QC anchor (closes forged macroblock+snapshot pair)
- remove client peer-pick height-gate (trust = QC; stale per-peer height no
longer disqualifies serving peers)
- single sync_macroblocks coordinator + repair path; removes the
clear-before-request / per-index request flood (self-DoS -> priority_rate_exceeded)
- entry sync target = attested cached height, not the poisonable BEST_PEER_HEIGHT max
- control-lane RequestMacroblockAnchor; weak-subjectivity checkpoint (inert at ws=0)
- identity-init failure now halts startup instead of running with a wrong cached key
- activation phase transition anchored to the genesis-block timestamp, not a hardcoded date
Light-node reward/activation hardening:
- bind LightNodeEligibilityBitmap content (genesis_id/epoch/counts/bitmap) into the
canonical signed message; bind genesis_id to the authenticated signer
- light ping challenge is server-stamped (keyed MAC over node_id+nonce+expiry) and
verified before recording an attestation (closes self-attestation)
- operator-path activation re-verifies the 1DEV Solana burn (admission-advisory)
- count only the 1DEV mint toward the burn amount, matched by accountIndex
- route IPFS snapshot through the consensus bind (was a bypass)
- seed light registry last_ping=now (avoid fresh-node self-eviction)
- remove dead process_received_blocks (2344 lines, superseded by block_pipeline)
cargo check clean; 162 lib tests pass.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
0 commit comments