Correction 2026-08-19: the anchor SMT model proves K=3-of-9 on anchor blocks since 13,034,000; the 14,050,000 fork height changed no enforcement and the 'blocking quorum' wording is withdrawn; runner entry added
This commit is contained in:
parent
f2ab368c36
commit
f0fb52862f
@ -2,11 +2,18 @@
|
|||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# anchor_blocking_quorum_smt.py
|
# anchor_blocking_quorum_smt.py
|
||||||
#
|
#
|
||||||
# MACHINE-CHECKED (z3) proof of BLOCKING-QUORUM SAFETY for the AERE post-quantum
|
# MACHINE-CHECKED (z3) proof of ANCHOR-THRESHOLD SAFETY for the AERE post-quantum
|
||||||
# anchor once the blocking fork is active (height >= 14,050,000).
|
# anchor (every 32nd block, minimum K=3 seals since height 13,034,000).
|
||||||
|
#
|
||||||
|
# CORRECTION 2026-08-19: this file used to call the property "blocking-quorum safety
|
||||||
|
# once the blocking fork is active (height >= 14,050,000)". The fork property
|
||||||
|
# aere.falcon.forkBlock=14050000 arms a per-block rule that the shipped client
|
||||||
|
# retires at aere.pq.anchorBlock (13,014,000), so it changed no enforcement; the
|
||||||
|
# invariant below never depended on it and is stated for what the chain enforces:
|
||||||
|
# K=3 distinct valid seals on anchor blocks (f+1 of 9, not a quorum), none elsewhere.
|
||||||
#
|
#
|
||||||
# INVARIANT (the task target):
|
# INVARIANT (the task target):
|
||||||
# With the blocking fork active, no ANCHOR block can be finalized with fewer
|
# Since height 13,034,000, no ANCHOR block can be finalized with fewer
|
||||||
# than K=3 valid Falcon seals from DISTINCT signers of the registry ACTIVE
|
# than K=3 valid Falcon seals from DISTINCT signers of the registry ACTIVE
|
||||||
# at that height; and a NON-anchor block requires no seals at all.
|
# at that height; and a NON-anchor block requires no seals at all.
|
||||||
#
|
#
|
||||||
@ -17,7 +24,7 @@
|
|||||||
# min-seals schedule on heights: 13014000:0, 13034000:3 (so K=3 at the fork)
|
# min-seals schedule on heights: 13014000:0, 13034000:3 (so K=3 at the fork)
|
||||||
# producer write cap maxSeals = 5
|
# producer write cap maxSeals = 5
|
||||||
# emergency minSealsCeiling can only LOWER the effective K, never raise it
|
# emergency minSealsCeiling can only LOWER the effective K, never raise it
|
||||||
# blocking fork from 14,050,000: no block finalizes without the Falcon quorum
|
# (the fork height 14,050,000 changed no enforcement; see the correction above)
|
||||||
# registry rotation on heights: 13014000 -> 7 keys, 13600000 -> 9 keys,
|
# registry rotation on heights: 13014000 -> 7 keys, 13600000 -> 9 keys,
|
||||||
# every height covered by EXACTLY one registry
|
# every height covered by EXACTLY one registry
|
||||||
#
|
#
|
||||||
|
|||||||
@ -27,6 +27,7 @@ CONSENSUS_MODELS = [
|
|||||||
("QBFT/IBFT 2.0 SAFETY (agreement)", "qbft_safety_smt.py"),
|
("QBFT/IBFT 2.0 SAFETY (agreement)", "qbft_safety_smt.py"),
|
||||||
("Falcon LOG-ONLY no-op", "falcon_logonly_noop_smt.py"),
|
("Falcon LOG-ONLY no-op", "falcon_logonly_noop_smt.py"),
|
||||||
("Falcon BLOCKING safety/liveness/N>=7", "falcon_blocking_smt.py"),
|
("Falcon BLOCKING safety/liveness/N>=7", "falcon_blocking_smt.py"),
|
||||||
|
("Anchor THRESHOLD safety (K=3 of 9 on anchor blocks since 13,034,000, registry rotation)", "anchor_blocking_quorum_smt.py"),
|
||||||
("PQC ACTIVATION transition safety (log-only->blocking + contract-anchored registry)", "qbft_pqc_activation_smt.py"),
|
("PQC ACTIVATION transition safety (log-only->blocking + contract-anchored registry)", "qbft_pqc_activation_smt.py"),
|
||||||
("QBFT LIVENESS (partial synchrony)", "qbft_liveness_smt.py"),
|
("QBFT LIVENESS (partial synchrony)", "qbft_liveness_smt.py"),
|
||||||
("QBFT explicit-Prepare counting (2026-07-14 2nd-client bug+fix)", "qbft_prepare_counting_smt.py"),
|
("QBFT explicit-Prepare counting (2026-07-14 2nd-client bug+fix)", "qbft_prepare_counting_smt.py"),
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user