Skip to content

fix: support trusted warp sync checkpoints on release v500 - #3122

Merged
UnArbosFive merged 11 commits into
release-v500from
fix/finney-light-sync-checkpoint-v500
Aug 27, 2026
Merged

fix: support trusted warp sync checkpoints on release v500#3122
UnArbosFive merged 11 commits into
release-v500from
fix/finney-light-sync-checkpoint-v500

Conversation

@UnArbosFive

Copy link
Copy Markdown
Contributor

Summary

Ports the trusted Finney GRANDPA warp-sync checkpoint fix from #3113 onto the release-v500 branch used by #3117.

  • register an explicit grandpaWarpSyncCheckpoint chain-spec extension containing a historical GRANDPA transition header and the authority set that signed it
  • feed that trusted transition into the existing GRANDPA warp-proof verifier, preserving Finney's one-time initial set-ID correction while allowing normal proof verification to continue to the peer's current finalized head
  • expose a compact grandpa_genWarpSyncCheckpoint response behind the opt-in --enable-warp-sync-checkpoint-rpc flag
  • preserve grandpaWarpSyncCheckpoint whenever the raw and plain chain specs are rebuilt
  • require any exceptional future checkpoint change to be an explicit reviewed chain-spec diff; normal scheduled authority rotations require no refresh

Addresses #3112.

Cause and user impact

Finney's historical GRANDPA set-ID discontinuity causes otherwise valid warp proofs to be rejected during bootstrap. A full sync bypasses warp verification but is not a practical replacement for lite-node operation. This change supplies a trusted historical signing boundary in the Finney chain spec, after which ordinary GRANDPA transitions continue to be verified from the proof chain.

Trust and compatibility

  • Finney remains Aura for block production and GRANDPA for finality. This is GRANDPA-only and does not modify BABE.
  • The checkpoint authenticates one historical transition; it is not a current-set-ID cache. Future scheduled rotations and set-ID increments are verified automatically and do not require checkpoint updates.
  • State sync remains targeted at the proof's current finalized header, so clients do not need archive state at the historical checkpoint.
  • A malformed populated checkpoint fails startup in warp mode.
  • Full sync, sealing, existing databases, and chain specs without a checkpoint retain their existing behavior.
  • Serving peers do not need this branch, but Finney proof providers need the set-ID generation fix first released in v446 and retained transition data.
  • The generator RPC is disabled by default and does not automatically update a chain spec.

Validation

  • replayed the exact fix: support trusted warp sync checkpoints #3113 commit series onto the current Release 450: canonical on-chain beta pricing, display units, and curated beta #3117 head with no conflicts
  • confirmed all nine touched files are byte-for-byte identical to the audited final fix: support trusted warp sync checkpoints #3113 state
  • cargo fmt --check --all
  • bash -n scripts/build_all_chainspecs.sh
  • git diff --check origin/release-v500...HEAD
  • SKIP_WASM_BUILD=1 cargo check -p node-subtensor --lib
  • the focused checkpoint and service tests passed on the original change; CI reruns the complete checks against this release-v500 base
  • the prior fresh-database Finney regression completed --sync=warp, imported current state, reported GRANDPA set ID 6, reached isSyncing: false, and continued finalizing blocks
  • the archive proof provider restarted on its existing database and served current-head proofs without a database re-sync

@vercel

vercel Bot commented Aug 27, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
subtensor Building Building Preview Aug 27, 2026 5:39pm

Request Review

@UnArbosFive
UnArbosFive merged commit 1eda733 into release-v500 Aug 27, 2026
41 of 44 checks passed
@github-actions

github-actions Bot commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

🛡️ AI Review — Skeptic (security review)

VERDICT: SAFE

VERY HIGH account-age/repository scrutiny, mitigated by admin permission and substantial merged history; no Gittensor association found; integration branch fix/finney-light-sync-checkpoint-v500 → release-v500.

Static review found the nine changed files byte-identical to the previously reviewed and merged #3113 implementation. The checkpoint remains explicitly chain-spec anchored, validates its transition shape and authority set, and the generator RPC is opt-in.

Findings

No findings.

Conclusion

No malicious behavior or security vulnerability was found in the PR-specific changes.


🔍 AI Review — Auditor (domain review)

VERDICT: 👍

Gittensor association UNKNOWN; very new account, but admin permission and substantial repository contribution history warrant established-contributor calibration.

The implementation matches the substantive PR description and is identical to the previously reviewed #3113 change. The checkpoint is chain-spec anchored and validated, while its generator RPC remains explicitly opt-in.

Quick checks passed: bash -n scripts/build_all_chainspecs.sh, JSON parsing of both changed Finney specs, and git diff --check. cargo fmt --check --all was skipped because the locked Rust environment could not create its rustup temporary file. The working tree remains clean.

Findings

No findings.

Conclusion

The release-branch port preserves the reviewed checkpoint behavior and includes focused validation and regression coverage. No blocking domain issues were found.

@github-actions

Copy link
Copy Markdown
Contributor

🔄 AI review updated — Skeptic: SAFE Auditor: 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant