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:
parent
87d320e057
commit
9a65dce22f
@ -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.
|
||||
|
||||
@ -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
|
||||
|
||||
6
SPEC.md
6
SPEC.md
@ -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:
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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 |
|
||||
|
||||
Loading…
Reference in New Issue
Block a user