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/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/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/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/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; 6,157,024 on testnet 28001 since 2026-10-14) | the tree after 0009 | | `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 `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 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 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 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 `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`. 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. 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 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` 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 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` inert below its height.** 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 (`H_r`), an anchor height; **on chain 2800 it is block 24,148,752** (announced on 2026-10-22;
it. While it is unset, a node built from patches 0001 and 0003 to 0010 makes, at every height, exactly `run-node.sh` and every validator carry it since 2026-10-21). Below it, a node built from patches 0001
the decisions of a node built from 0001 and 0003 to 0009, so **a node built from 0001 and 0003 to 0009 and 0003 to 0010 makes, at every height, exactly the decisions of a node built from 0001 and 0003 to
still follows the chain today**. On the public testnet 28001 the stage is active: `H_r` = 6,157,024, 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. 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 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 from `H_r`. Below `H_r` nothing changes: the message, the certificate forms and the record are the ones
of today. of today.
**What happens when the founder sets `H_r` on chain 2800.** The height will be announced and **What happens at `H_r` on chain 2800.** The height, block 24,148,752, was set on the fleet and in
published in `run-node.sh` (as `-Daere.pq.commitRoundBlock=<H_r>` in the block below), in this page `run-node.sh` (as `-Daere.pq.commitRoundBlock=24148752` in the block below) on 2026-10-21 and
and in `SPEC.md` in the same hour it is set on the fleet, at least 48 hours of chain time before it. 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, 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 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 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. 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 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 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). 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 ## 0. Conventions, and how every statement here is grounded
Every normative statement in this document carries one of three markers: 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 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, 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 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 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
height is not yet set on chain 2800.) What a quantum
adversary cannot do at any height is rewrite history past the last anchor without also forging 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 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 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 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 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 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: the anchor properties:
| property | what it does | | property | what it does |