TRANSACTIONAL TRUST · VERIFIED #037
The membership record was authentic. It was no longer current.
Verified #036 showed that an old quorum must not regain live authority after witness-set rotation. #037 attacks the next assumption: an attacker replays the old, perfectly authentic membership record itself. If the verifier treats the presented record as current, the retired quorum becomes live again.
AUTHENTIC MEMBERSHIP RECORD ≠ CURRENT MEMBERSHIP AUTHORITY.
The membership history
M1:
set-A / epoch 1
W1 W2 W3
threshold = 2
signature valid ✅
M2:
set-B / epoch 2
W4 W5 W6
threshold = 2
predecessor = digest(M1)
signature valid ✅
trusted checkpoint:
epoch 2 / set-B / digest(M2)The replay is cryptographically clean
M1 authentic = true
QC-old valid under M1 = true
H7 authentic = true
region-B = R1 / generation 7 / ACTIVENothing has been forged. The attack is historical rollback of membership authority.
Unsafe: presented membership becomes current
replayed M1 / epoch 1
QC-old = W1 + W2 → H7
→ presented_membership_treated_as_current
→ adoption rows = 1
→ HTTP 200
→ effect_count = 1Safe: membership anti-rollback
presented membership:
set-A / epoch 1
trusted checkpoint:
set-B / epoch 2
1 < 2
→ membership_authority_rollback_detected
→ adoption rows = 0
→ effects = 0The signature proves M1 was issued by the membership authority. The checkpoint proves it is not the latest membership history already observed by this verifier.
Fresh current-membership recovery
M2 / epoch 2
QC-current = W4 + W5 → H9
checkpoint = epoch 2 / digest(M2)
→ current_membership_authorized
→ adoption rows = 1
→ HTTP 200
→ effect_count = 1
→ output = 30I107–I110
- I107 — Authentic membership record ≠ current membership authority.
- I108 — Membership currentness must bind to a monotonic set-epoch / membership-digest checkpoint or equivalent anti-rollback evidence.
- I109 — Authentic membership below the trusted membership high-watermark must fail closed before consequence.
- I110 — Fresh current-membership quorum evidence is required to restore live authority after rotation.
Evidence
GitHub Actions run: 31617837571
Job: 94184983666
Benchmark SHA:
13e4820054cdd9305c169ce27c1d4a39e8b6d18d
Artifact ID: 9149995371
Artifact digest:
sha256:c01bf51e10708674b29316e006556f298456080b7416e2b662226cceff8e1392
Score: 10/10Boundary
The benchmark uses deterministic HMAC identities, a signed successor relation and a PostgreSQL membership checkpoint. It does not implement production PKI, BFT membership governance, transparency logs or protection against rollback of the membership checkpoint itself.