mirror of
https://github.com/luxfi/consensus.git
synced 2026-09-24 00:26:58 +00:00
The catch-up path verifies and tracks blocks above the node's next contiguous height so a later verified cert on a descendant can finalize the run behind it. That is only sound if a tracked block can never become final on its own, and that property deserves a test rather than a comment. Three properties, all on the uncertified path: a well-formed run of six blocks is held and none of it is accepted, the finalized height does not move; fifty re-deliveries of the same block accumulate into nothing, so repetition cannot substitute for a quorum; and bytes that do not parse are refused with and without a forged cert. Soundness of the one-cert-per-run rule is cryptographic, not procedural: a block commits to its parent by hash, so a verified ⅔ cert on a descendant certifies its entire ancestry, and the fold walks only that certified path. No sequence of blocks a peer sends can reach finality without a cert that independently clears the α-floor, the set-root cross-check and VerifyWeighted. Negative control executed: making the tracking path report success fails both finality tests at the exact assertion. Co-authored-by: Hanzo Dev <[email protected]>