docs: the anchor cadence is every 128th block from 17,225,968 (2026-09-05), not every 32nd; the minimum is six of each scheme, of ten validators since 2026-09-11; fork depth bound and checkpoint period restated for 128

This commit is contained in:
Aere Network 2026-09-28 01:15:22 +03:00
parent c239cbd750
commit a7fa601e97
6 changed files with 24 additions and 15 deletions

View File

@ -38,8 +38,10 @@ findings we chose not to fix and why.
## Verify the chain yourself, without trusting us ## Verify the chain yourself, without trusting us
The post-quantum anchor is designed so you do not have to take our word for it: from block The post-quantum anchor is designed so you do not have to take our word for it: from block
13,014,000, every 32nd block carries a Falcon-512 certificate, and the block hash covers it. From 13,014,000 every 32nd block, and from block 17,225,968 every 128th, carries a post-quantum certificate
block 14,961,456 that certificate requires at least six valid seals out of nine. The verifier is (Falcon-512, and from block 17,047,600 also SLH-DSA-SHA2-128s), and the block hash covers it. From
block 14,961,456 that certificate requires at least six valid seals of each scheme (six of nine
validators then, six of ten since 2026-09-11). The verifier is
public, the signatures are in the headers, and the check runs against any node — ours or your own. public, the signatures are in the headers, and the check runs against any node — ours or your own.
## Reporting a vulnerability ## Reporting a vulnerability

View File

@ -16,7 +16,7 @@ consensus post-quantum, and nothing in the precompile patches touches consensus.
Consensus on chain 2800 is **hybrid post-quantum in a precise and limited sense**, by a separate Consensus on chain 2800 is **hybrid post-quantum in a precise and limited sense**, by a separate
mechanism: the QBFT header anchor in `anchor/` and `patches/0003`. Since 2026-08-14 every mechanism: the QBFT header anchor in `anchor/` and `patches/0003`. Since 2026-08-14 every
32nd block (an anchor block) must carry, under its block hash, a certificate of valid post-quantum 32nd block (an anchor block; every 128th from block 17,225,968, see below) must carry, under its block hash, a certificate of valid post-quantum
validator seals, and a node does not finalize an anchor block without it: at least three Falcon-512 validator seals, and a node does not finalize an anchor block without it: at least three Falcon-512
seals at first (f+1 of nine), **six of nine, a full 2f+1 quorum, since block 14,961,456** (August 21, seals at first (f+1 of nine), **six of nine, a full 2f+1 quorum, since block 14,961,456** (August 21,
2026), and since block 17,047,600 (2026-09-04) a **hybrid** certificate of Falcon-512 AND 2026), and since block 17,047,600 (2026-09-04) a **hybrid** certificate of Falcon-512 AND

View File

@ -138,10 +138,12 @@ running a configuration the chain does not.
## The post-quantum header anchor: apply patch 0003 to follow the current chain ## The post-quantum header anchor: apply patch 0003 to follow the current chain
Since block 13,014,000 every 32nd header of chain 2800 carries a sixth element in its QBFT Since block 13,014,000 every 32nd header of chain 2800, and from block 17,225,968 every 128th,
`extraData`: a certificate of validator Falcon-512 seals, universal since block 13,889,296 and carries a sixth element in its QBFT `extraData`: a certificate of validator post-quantum seals,
enforced at a minimum of three seals per anchor block (f+1 of nine) since 2026-08-14. A node universal since block 13,889,296, enforced at a minimum of three seals per anchor block (f+1 of
rejects an anchor block whose certificate holds fewer than three valid seals. (Correction 2026-08-19: nine) from 2026-08-14 and of six from block 14,961,456, for each scheme once the certificate became
hybrid (Falcon-512 and SLH-DSA-SHA2-128s) at block 17,047,600. A node rejects an anchor block whose
certificate holds fewer valid seals than the schedule requires at its height. (Correction 2026-08-19:
an earlier version of this paragraph said that from block 14,050,000 the network refuses to finalize an earlier version of this paragraph said that from block 14,050,000 the network refuses to finalize
any block without a post-quantum quorum; the per-block rule armed at that height is retired in the any block without a post-quantum quorum; the per-block rule armed at that height is retired in the
shipped code in favour of the anchor rules and changed no enforcement, so that sentence is withdrawn.) shipped code in favour of the anchor rules and changed no enforcement, so that sentence is withdrawn.)

View File

@ -35,8 +35,10 @@ pointer is <https://aere.network/.well-known/security.txt>.
have to agree to halt this chain is one. No amount of cryptography changes that number, and a have to agree to halt this chain is one. No amount of cryptography changes that number, and a
report pointing at the consequences of that fact is in scope and welcome. report pointing at the consequences of that fact is in scope and welcome.
- **The post-quantum guarantee is at anchor heights**, not on every block: from block 13,014,000, - **The post-quantum guarantee is at anchor heights**, not on every block: from block 13,014,000,
every 32nd block carries a Falcon-512 certificate under the block hash, requiring at least six every 32nd block, and from block 17,225,968 every 128th, carries a post-quantum certificate under
valid seals out of nine from block 14,961,456. Blocks between anchors rest on ECDSA. We correct the block hash (Falcon-512, and from block 17,047,600 also SLH-DSA-SHA2-128s), requiring at least
six valid seals of each scheme from block 14,961,456 (six of nine validators then, of ten since
2026-09-11). Blocks between anchors rest on ECDSA. We correct
over-claims publicly when we find them, and we have done so before. over-claims publicly when we find them, and we have done so before.
## Fixes ## Fixes

View File

@ -431,7 +431,8 @@ schedule: 0 from 13,014,000 (warm-up), 3 from 13,034,000 (f+1 of the nine valida
2026-08-14), and **6 from block 14,961,456** (of nine then, a full 2f+1 quorum at that size and below the ten-validator quorum of seven since 2026-09-11, the same count QBFT itself 2026-08-14), and **6 from block 14,961,456** (of nine then, a full 2f+1 quorum at that size and below the ten-validator quorum of seven since 2026-09-11, the same count QBFT itself
requires) (source: `anchor/README.md`, "Scope boundary"; `RUN-A-NODE.md`, the anchor section). requires) (source: `anchor/README.md`, "Scope boundary"; `RUN-A-NODE.md`, the anchor section).
The defensible sentence, and the only form this document endorses: *every 32nd block does not The defensible sentence, and the only form this document endorses: *every anchor block (every
128th block from 17,225,968, every 32nd before it) does not
finalize without a certificate of at least six valid Falcon-512 validator seals (of ten validators since 2026-09-11) under its finalize without a certificate of at least six valid Falcon-512 validator seals (of ten validators since 2026-09-11) under its
hash (three, before block 14,961,456; see the schedule and the historical windows)*. Blocks between hash (three, before block 14,961,456; see the schedule and the historical windows)*. Blocks between
anchors carry no Falcon seals in the header and their header is finalized by the ECDSA committed anchors carry no Falcon seals in the header and their header is finalized by the ECDSA committed
@ -452,8 +453,9 @@ against the four known mitigation families and states what it does NOT claim, in
safety). safety).
Security property bought by the interval: an adversary holding every classical validator key and no Security property bought by the interval: an adversary holding every classical validator key and no
Falcon key can rewrite at most the tail since the last anchor, so fork depth <= 32 blocks (about Falcon key can rewrite at most the tail since the last anchor, so fork depth <= 128 blocks since
16 seconds); rewriting anything below an anchor changes that anchor's parent hash, forces the block 17,225,968 (about 75 seconds at the measured rhythm; <= 32 blocks, about 16 seconds, before
it); rewriting anything below an anchor changes that anchor's parent hash, forces the
anchor to be reproduced, and reproducing it requires Falcon signatures the adversary does not have. anchor to be reproduced, and reproducing it requires Falcon signatures the adversary does not have.
History below H remains protected by ECDSA alone, permanently (source: History below H remains protected by ECDSA alone, permanently (source:
`anchor/consensus/common/.../PqAnchorConfig.java`, interval javadoc; `anchor/README.md`). `anchor/consensus/common/.../PqAnchorConfig.java`, interval javadoc; `anchor/README.md`).

View File

@ -11,11 +11,11 @@ demonstrable from these files is marked as not demonstrable from these files.
## Scope boundary, stated first and not in a footnote ## Scope boundary, stated first and not in a footnote
**Consensus on Aere Network chain 2800 is classical secp256k1 ECDSA QBFT with a post-quantum **Consensus on Aere Network chain 2800 is classical secp256k1 ECDSA QBFT with a post-quantum
checkpoint enforced every 32 blocks.** This code is what adds the checkpoint, in two steps that checkpoint enforced every 128 blocks (every 32 until block 17,225,968).** This code is what adds the checkpoint, in two steps that
should not be confused: should not be confused:
1. **The binding.** From block 13,014,000 the block hash of every anchored header (every 32nd 1. **The binding.** From block 13,014,000 the block hash of every anchored header (every 32nd
block) commits to a Falcon-512 certificate signed by the validators. That is a binding, not a block, every 128th from block 17,225,968) commits to a Falcon-512 certificate signed by the validators. That is a binding, not a
replacement: a rewrite of anchored history must also forge the post-quantum signatures. replacement: a rewrite of anchored history must also forge the post-quantum signatures.
2. **The enforced minimum.** Since 2026-08-14 a node does not finalize an anchor block unless 2. **The enforced minimum.** Since 2026-08-14 a node does not finalize an anchor block unless
its certificate holds at least three valid Falcon-512 seals (f+1 of nine, the guarantee that at its certificate holds at least three valid Falcon-512 seals (f+1 of nine, the guarantee that at
@ -27,7 +27,8 @@ should not be confused:
`aere.pq.anchorMinSeals=13014000:0,13034000:3,14961456:6`, uniform on all ten validators; the `aere.pq.anchorMinSeals=13014000:0,13034000:3,14961456:6`, uniform on all ten validators; the
startup guard refuses any threshold above N - f = 7, the highest count reachable with the fault startup guard refuses any threshold above N - f = 7, the highest count reachable with the fault
budget down. Blocks between anchors carry no Falcon seals and are finalized by ECDSA alone, so budget down. Blocks between anchors carry no Falcon seals and are finalized by ECDSA alone, so
the post-quantum guarantee is a checkpoint about every 16 seconds, not a per-block quorum. the post-quantum guarantee is a checkpoint about every 75 seconds (128 blocks; about every 16
seconds at 32 blocks, before block 17,225,968), not a per-block quorum.
3. **The hybrid certificate.** Since block 17,047,600 (2026-09-04) the certificate is the v2, scheme-tagged 3. **The hybrid certificate.** Since block 17,047,600 (2026-09-04) the certificate is the v2, scheme-tagged
form `RLP[2, [[scheme, index, signature], ...]]` and carries Falcon-512 (lattice) AND SLH-DSA-SHA2-128s form `RLP[2, [[scheme, index, signature], ...]]` and carries Falcon-512 (lattice) AND SLH-DSA-SHA2-128s
(hash-based) seals; the enforced minimum applies to EACH scheme on its own, at least six of nine valid (hash-based) seals; the enforced minimum applies to EACH scheme on its own, at least six of nine valid