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
registry_root rewritten as an incremental LtHash multiset hash (new
registry_lthash.rs): O(1) maintain + O(1) per-checkpoint-head seal read,
scaling to millions of light nodes. From-scratch fallback (compute_lt_state);
one rebuild scan at boot/snapshot/reorg recomputes lt_state, prunes orphan
roster keys, and refreshes seals. Binds super+light; snapshot recompute-reject
closes the forgeable-snapshot Sybil/fork vector. registry_root carried in the
QC macroblock Checkpoint, enforced in content_ok (gate=0).
Onboarding correctness (producer-inline vs apply parity under gate=0):
- producer mirrors apply first-match-wins: skip Phase2 NodeActivation registry
rows (closes a registry_root divergence -> finality halt)
- light eligibility bitmap indexed via one shared writer on both apply paths
(no reward_root divergence at the emission boundary)
- reorg orphan prune: drop reg_height>target roster keys so the unbounded
reward rosters match a from-genesis node
- NodeActivation proof-of-burn gate at verify + producer pre-filter: an
activation must be backed by a burn-attested registration (no free identity)
Also lands prior uncommitted work: cbw fork-safety (derived reg_height-bounded
index), 2f+1 committee burn-attestation, genesis vrf_pk seeding, light on-chain
burn onboarding, finality/repair freeze fixes, reward-roster apply-time indices.
184/184 lib tests green; cargo check clean.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
0 commit comments