Inaltimile AIP-22 anuntate pe 2026-10-22: H_r = 24.148.752 (purtat de run-node.sh si de validatori din 2026-10-21) si H_fin = 24.300.000; RUN-A-NODE nu mai spune ca H_r nu e setat (nota datata, inclusiv promisiunea de publicare in aceeasi ora, netinuta), SPEC: amendamentul din 2026-10-22, README si runbook-ul ancorei cu forma anuntata

This commit is contained in:
Aere Network 2026-10-22 17:43:14 +03:00
parent 87d320e057
commit 9a65dce22f
5 changed files with 25 additions and 15 deletions

View File

@ -103,15 +103,17 @@ Both patches target upstream commit `d2032017bb3b8cb215a97303980a1e4a643f7180`,
| `patches/0006-aere-pq-transactions.patch` | AIP-20, transaction type `0x50` authorized by ML-DSA | the tree after 0005 |
| `patches/0007-aere-pq-finality.patch` | AIP-21, `aere_getPqFinality` and the on-disk seal window | the tree after 0006 |
| `patches/0008-aere-pq-aip22.patch` | AIP-22 stages 1 to 3 (post-quantum validator ids from block 20,836,228) and the rest of the fleet distribution of 2026-09-29 | the tree after 0007 |
| `patches/0009-aere-pq-seal-judge-snap-cap.patch` | the fleet distribution of 2026-10-02: the heard-seal judge and the pending-commit buffer (both act only from the AIP-22 stage 4 height, not set on chain 2800), the snap-request cap | the tree after 0008 |
| `patches/0010-aere-pq-round-bound-commit-seal.patch` | the fleet distribution of 2026-10-14: AIP-22 stage R, the round-bound post-quantum commit seal and the v3 anchor certificate, inert until the height `aere.pq.commitRoundBlock` is set (not set on chain 2800 at 2026-10-14; 6,157,024 on testnet 28001 since 2026-10-14) | the tree after 0009 |
| `patches/0009-aere-pq-seal-judge-snap-cap.patch` | the fleet distribution of 2026-10-02: the heard-seal judge and the pending-commit buffer (both act only from the AIP-22 stage 4 height, block 24,300,000 on chain 2800, announced on 2026-10-22), the snap-request cap | the tree after 0008 |
| `patches/0010-aere-pq-round-bound-commit-seal.patch` | the fleet distribution of 2026-10-14: AIP-22 stage R, the round-bound post-quantum commit seal and the v3 anchor certificate, inert until the height `aere.pq.commitRoundBlock` is set (not set on chain 2800 at 2026-10-14, block 24,148,752 there since the announcement of 2026-10-22; 6,157,024 on testnet 28001 since 2026-10-14) | the tree after 0009 |
`run-node.sh` applies 0001 and 0003 to 0010, in that order; 0002 is for the testnet only. A node
built without 0008 stops at block 20,836,227. (Note added 2026-10-09: 0009 is not needed to follow
the chain today; it keeps the recipe equal to what the fleet runs, see `RUN-A-NODE.md`. Note added
2026-10-14: the same holds for 0010 while `aere.pq.commitRoundBlock` is unset on chain 2800, which
`run-node.sh` does not set; when the founder sets that height, a node without 0010 stops at the block
before it, see `RUN-A-NODE.md`, "Patch 0010".)
before it, see `RUN-A-NODE.md`, "Patch 0010". Note added 2026-10-22: that height is block 24,148,752 on
chain 2800, carried by `run-node.sh` since 2026-10-21; a node built without 0010 stops at block
24,148,751, derived from the code.)
Patch 0003 is a different kind of thing from the first two and is described in `anchor/README.md`.
It changes twenty upstream files and adds fifty-five, and it changes one build file by one line.

View File

@ -302,11 +302,12 @@ change of the patch set.
Since 2026-10-14 the Besu-derived nodes of chain 2800 run a distribution built from the tree of
patch 0009 plus one change, AIP-22 stage R; `patches/0010-aere-pq-round-bound-commit-seal.patch`
brings the recipe to that exact tree (the patch message describes the change in full). **Stage R is
inert until its height is set.** Its height is the per-node property `aere.pq.commitRoundBlock`
(`H_r`), an anchor height; **on chain 2800 it is not set**, on no node, and `run-node.sh` does not set
it. While it is unset, a node built from patches 0001 and 0003 to 0010 makes, at every height, exactly
the decisions of a node built from 0001 and 0003 to 0009, so **a node built from 0001 and 0003 to 0009
still follows the chain today**. On the public testnet 28001 the stage is active: `H_r` = 6,157,024,
inert below its height.** Its height is the per-node property `aere.pq.commitRoundBlock`
(`H_r`), an anchor height; **on chain 2800 it is block 24,148,752** (announced on 2026-10-22;
`run-node.sh` and every validator carry it since 2026-10-21). Below it, a node built from patches 0001
and 0003 to 0010 makes, at every height, exactly the decisions of a node built from 0001 and 0003 to
0009, so **a node built from 0001 and 0003 to 0009 follows the chain up to block 24,148,751 and stops
there** (derived from the code, see below). On the public testnet 28001 the stage is active: `H_r` = 6,157,024,
crossed on 2026-10-14 (14:02Z) with all five validators proposing and no refusal.
What the stage changes, from `H_r` on (specified in `SPEC.md`, sections 2.3, 2.6, 2.7, 3.3, 3.4 and 8
@ -318,13 +319,15 @@ in that round (below the quorum it proves participation, as today), the per-bloc
from `H_r`. Below `H_r` nothing changes: the message, the certificate forms and the record are the ones
of today.
**What happens when the founder sets `H_r` on chain 2800.** The height will be announced and
published in `run-node.sh` (as `-Daere.pq.commitRoundBlock=<H_r>` in the block below), in this page
and in `SPEC.md` in the same hour it is set on the fleet, at least 48 hours of chain time before it.
**What happens at `H_r` on chain 2800.** The height, block 24,148,752, was set on the fleet and in
`run-node.sh` (as `-Daere.pq.commitRoundBlock=24148752` in the block below) on 2026-10-21 and
announced on 2026-10-22, more than 48 hours of chain time before it. (Note added 2026-10-22: this page
and `SPEC.md` say it since 2026-10-22; until that date this paragraph promised publication here in the
same hour the height was set on the fleet, and the paragraph above said the height was not set.)
A node that does not carry patch 0010 at that height refuses the first v3 anchor, at `H_r` itself,
because its decoder does not know certificate version 3: it stops at block `H_r - 1` and accepts
nothing wrong (derived from the code; not yet observed on chain 2800). A node built from this
recipe before the announcement needs only the property; `run-node.sh` will carry it. After `H_r`
recipe before 2026-10-21 needs only the property, which `run-node.sh` carries. After `H_r`
there is no way back to the round-free form on that chain.
Measured 2026-10-12 (the patch generator, in the operator repository) and re-measured 2026-10-14 on

View File

@ -26,6 +26,12 @@ honest validators and one Byzantine; the rewrite bound from `H_r` is stated sepa
validator and for the published follower), 3.3, 3.4, 3.5, 6.4, 7, 8 (D13) and 9 (G11) carry dated
notes; nothing removed).
Amended 2026-10-22 (the heights of AIP-22 stage R and stage 4 on chain 2800: `H_r` is block
24,148,752 (`aere.pq.commitRoundBlock`, carried by `run-node.sh` and by every validator since
2026-10-21) and `H_fin` is block 24,300,000 (`aere.pq.finalityBlock`), both announced on 2026-10-22.
The notes of 2026-10-14 that say `H_r` is not set on chain 2800 "at this date" describe that date;
nothing removed).
## 0. Conventions, and how every statement here is grounded
Every normative statement in this document carries one of three markers:

View File

@ -72,8 +72,7 @@ without a seal. (*Clarified 2026-10-09:* the words "by the Besu-derived validato
that date. On chain 2800 these four heights are those of the nine validators that run this, the
Besu-derived client, the whole set in September; the tenth validator, admitted at block 18,083,404,
runs the second, Nethermind-derived client, which refuses an unsealed commit since block 18,131,633
and applies the rule to proposal, prepare and round-change messages from AIP-22 stage 4, whose
height is not yet set on chain 2800.) What a quantum
and applies the rule to proposal, prepare and round-change messages from AIP-22 stage 4, at block 24,300,000 on chain 2800, a height announced on 2026-10-22.) What a quantum
adversary cannot do at any height is rewrite history past the last anchor without also forging
Falcon-512 and SLH-DSA-SHA2-128s signatures (added 2026-10-01, AIP-22 erratum of that date: except the
last anchor's parent while headers carry ECDSA seals, before stage 5 of AIP-22, since an anchor can be

View File

@ -512,7 +512,7 @@ Falcon-512 seal of its author, each under its own domain. On chain 2800 the nine
validators refuse a message without a valid seal: COMMIT from block 17,250,000, PROPOSAL from
17,400,000, ROUND-CHANGE from 17,550,000 and PREPARE from 17,700,000. The tenth validator, which runs
the second client, refuses a COMMIT without one from block 18,131,633 and applies the other three
types from AIP-22 stage 4, whose height is not yet set. Each message has two switches, passed like
types from AIP-22 stage 4, at block 24,300,000 on chain 2800, a height announced on 2026-10-22. Each message has two switches, passed like
the anchor properties:
| property | what it does |