diff --git a/RUN-A-NODE.md b/RUN-A-NODE.md index 209bf7d..c6358ed 100644 --- a/RUN-A-NODE.md +++ b/RUN-A-NODE.md @@ -677,9 +677,11 @@ every block is a stronger statement than one that trusted a pivot. A written address is not a live address. This file cannot prove the bootnode is up at the moment you read it; only your own `net_peerCount` can. -Both were reachable and serving blocks when this file was written. Both are Foundation operated, so -this is one operator's word for two addresses. That is a real centralisation fact about chain 2800 -today and not a documentation gap. +The two addresses published from 2026-08-25 to 2026-09-11 were both reachable and serving blocks when +that list was written; one address is published since 2026-09-11. It is Foundation operated, so this +is one operator's word for one address. That is a real centralisation fact about chain 2800 today and +not a documentation gap. (Corrected 2026-10-27: until this date this paragraph spoke of two +Foundation-operated addresses in the present tense.) --- diff --git a/SPEC.md b/SPEC.md index 7f42d24..69aaa30 100644 --- a/SPEC.md +++ b/SPEC.md @@ -699,10 +699,12 @@ Semantics of each parameter (source: `PqAnchorConfig.java`): cap: a proposer includes every eligible seal it heard in time, so real anchor headers carry more than K (measured seal counts at K=3, N=7: 42 blocks with 4 seals, 36 with 5, 5 with 6; a Falcon-512 seal is 666 bytes) (source: `PqAnchorConfig.java`, `PROPERTY_MAX_SEALS` javadoc, - measurement dated 2026-08-07). Real anchor blocks carry at least one valid seal: one or two on anchors from block - 13,014,000 until the emergency ceiling was lifted on 2026-08-14, three or more after that, and at least seven + measurement dated 2026-08-07). Real anchor blocks carry at least one valid seal: as few as one or two on some anchors from block + 13,014,000 until the emergency ceiling was lifted on 2026-08-14 (83 of the 625 anchors of the warm-up, and later ones + such as block 13,283,120; most anchors of that period carry three or more), three or more after that, and at least seven per scheme since block 20,715,632 (source: `RUN-A-NODE.md`; *corrected 2026-10-27:* this sentence said three to - nine, which neither the anchors of the warm-up and of the emergency ceiling nor the ten-seal anchors of today fit). *Note added 2026-10-20:* the cap in the block above is the archive node's own value + nine, which neither the anchors of the warm-up and of the emergency ceiling nor the ten-seal anchors of today fit, and its + first correction that day said one or two seals on the anchors before 2026-08-14 without saying that most carry three or more). *Note added 2026-10-20:* the cap in the block above is the archive node's own value (nine); the validators run ten (the validator kit, `validator/README.md`). The cap only limits what a PROPOSER writes, so on a follower it is inert. - `aere.pq.anchor.disable`: local emergency de-arm; both rules off on this node; per-block disarm diff --git a/anchor/README.md b/anchor/README.md index d27b603..2eb206d 100644 --- a/anchor/README.md +++ b/anchor/README.md @@ -18,9 +18,11 @@ should not be confused: replacement: a rewrite of anchored history must also forge the post-quantum signatures. 2. **The enforced minimum.** Since 2026-08-14 a validator 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 - least one honest validator signed; eight or nine are carried in practice). A node started from the + least one honest validator signed; five were carried in practice under the write cap of five until 2026-08-16, then + eight or nine at nine validators, and nine or ten at ten validators, measured 2026-10-27). A node started from the published package (`run-node.sh`) lowers that count to one seal, at the cost stated in `SPEC.md` - section 6.4 (corrected 2026-10-27: this item said "a node"). Raised at block + section 6.4 (corrected 2026-10-27: this item said "a node", and "eight or nine are carried in practice" in the present tense). + Raised at block 14,961,456 (August 21, 2026): the enforced minimum became **six**, which at that time was as many as the QBFT quorum of the nine-validator set, the same count QBFT itself required to agree on the block. From 2026-09-11 the set was ten and QBFT's quorum seven, so the same six was above f+1 and below the quorum: the threshold had not moved, the set had. **From block 20,715,632 (AIP-22 stage 1, diff --git a/run-node.sh b/run-node.sh index 3d11c9d..42bdfca 100755 --- a/run-node.sh +++ b/run-node.sh @@ -29,10 +29,12 @@ # --no-start Do everything up to and including the build, then stop. Does not start the node. # -h | --help Print this help and exit. # -# Bootnode: chain 2800 does not publish a public bootnode in this repository yet (publishing a node's -# p2p address is an infrastructure decision, and validator addresses are deliberately not printed). -# Until a dedicated public bootnode exists, request a current enode by mail (office@aere.network, +# Bootnode: this repository publishes one (RUN-A-NODE.md, bootnodes section): a public read host that is +# not in the validator set, used by default unless --bootnode is given (validator addresses are +# deliberately not printed). If it is unreachable, request a current enode by mail (office@aere.network, # subject "bootnode") and pass it with --bootnode. Everything except peer discovery works without one. +# (Corrected 2026-10-27: until this date this comment said no public bootnode is published here; one has +# been since 2026-08-25.) # set -euo pipefail @@ -263,12 +265,15 @@ mkdir -p "$DATA_PATH" # rewrite depth unbounded, where a validator at K=7 needs seven such keys. What is not weakened: every # anchor must still carry a valid validator Falcon seal that verifies against the registry, and its # digest must still bind the certificate under the block hash. Real anchor blocks carry at least one -# valid seal (one or two on anchors from block 13,014,000 until the emergency ceiling was lifted on -# 2026-08-14, three or more after that, at least seven per scheme since block 20,715,632), so all of -# history imports at this floor of one. (Corrected 2026-10-27: until this date this comment said the +# valid seal (as few as one or two on some anchors from block 13,014,000 until the emergency ceiling was +# lifted on 2026-08-14: 83 of the 625 anchors of the warm-up and later ones such as block 13,283,120, while +# most anchors of that period carry three or more; three or more after that, at least seven per scheme +# since block 20,715,632), so all of history imports at this floor of one. (Corrected 2026-10-27: until this date this comment said the # guard refuses a threshold at or above the quorum, gave 1 as quorum(3) - 1, said the ceiling does not # weaken what a follower checks and that real anchor blocks carry far more than one seal; RUN-A-NODE.md -# and SPEC.md were corrected on 2026-10-26.) An empty AERE_ANCHOR_MIN_SEALS_CEILING keeps the default +# and SPEC.md were corrected on 2026-10-26. A second correction the same day added that most anchors +# before 2026-08-14 carry three or more seals, where the first said one or two.) An empty +# AERE_ANCHOR_MIN_SEALS_CEILING keeps the default # of 1 below. With the ceiling set the node # shouts one ERROR per imported block by design (AERE-PQC-EMG-CEILING-01; one per anchor before patch 0008, measured # 2026-10-01); RUN-A-NODE.md says what that is, how to run without it once synced, and