diff --git a/aips/AIP-22.md b/aips/AIP-22.md index 089d234..3d1a4d2 100644 --- a/aips/AIP-22.md +++ b/aips/AIP-22.md @@ -200,9 +200,9 @@ From `H_hdr` (at or above `H_fin`), `extraData` gains element 6, `proposerSeal = **Correction added 2026-10-25 (to the last sentence of the paragraph above).** After `H_hdr` no header carries an ECDSA signature, but one consensus message still does: a commit carries the validator's ECDSA commit seal, and both clients refuse a commit whose commit seal does not recover to its author, at every height, `H_hdr` included (the Besu-derived client in `AereVoteCounts.java`, the Nethermind-derived client in `AereVoteCounts.cs`), as rule 3 of section 4 says ("a commit's author is its index's `id` only when that `id` is the commit seal signer's"). A vote counts only with its author's verified post-quantum seal, and a commit still carries the validator's ECDSA commit seal as an additional check: forging a vote needs the post-quantum key, and the ECDSA key alone does not make a vote count. The classical uses after `H_hdr` are therefore that commit seal, as an additional check, and the RLPx transport. The sentence above is kept as it was written. -**Note added 2026-10-27 (to the correction above).** The correction says that one consensus message still carries ECDSA. Every consensus message still carries the ECDSA envelope of the upstream wire format, and both clients judge its form, though not its author: the Besu-derived client requires a low s (`SignedData`), and the Nethermind-derived client refuses a message whose envelope does not recover (`BesuQbftWire.Recover`). The D-454 quotas also classify a message by the key that signed its envelope. What the correction says of the commit seal is unchanged. The correction is kept as it was written. +**Note added 2026-10-27 (to the correction above).** The correction says that one consensus message still carries ECDSA. Every consensus message still carries the ECDSA envelope of the upstream wire format, and both clients judge its form, though not its author: the Besu-derived client requires a low s (`SignedData`), and the Nethermind-derived client refuses a message whose envelope does not recover (`BesuQbftWire.Recover`). The per-author message quotas (see the note below) also classify a message by the key that signed its envelope. What the correction says of the commit seal is unchanged. The correction is kept as it was written. -**Note added 2026-10-28 (to the note above).** "The D-454 quotas" in the note above, and in the Errata entry of 2026-10-27, is an internal name. It means the per-author quotas that a client keeps on consensus messages it holds before it can judge them; in the Besu-derived client these are the commits heard before the proposal of their round, kept within a quota per claimed author and per class of the envelope (signed by the same ECDSA key as the commit seal, or by another), in `AereD454PendingCommits` (patch 0009 of the aere-node recipe; corrected 2026-10-28: this named patches 0009 and 0010, and patch 0010 does not touch that class). +**Note added 2026-10-28 (to the note above), reworded 2026-11-01.** The per-author message quotas named in the note above, and in the Errata entry of 2026-10-27, were named there until 2026-11-01 by the identifier of an internal register entry. They are the per-author quotas that a client keeps on consensus messages it holds before it can judge them; in the Besu-derived client these are the commits heard before the proposal of their round, kept within a quota per claimed author and per class of the envelope (signed by the same ECDSA key as the commit seal, or by another), in `AereD454PendingCommits` (patch 0009 of the aere-node recipe; corrected 2026-10-28: this named patches 0009 and 0010, and patch 0010 does not touch that class). ### 6. Equivocation evidence and consequences without stake @@ -416,9 +416,11 @@ Two refinements to the text above, recorded rather than silently applied: the Me whose height is not set there). Chain 2800 is not affected: no evidence contract is deployed there and its commit seal is still COMMIT-1 (the round-bound height is not set). -- 2026-10-27, section 3.3, section 5 and Security Considerations: three dated notes. The row "message authorship" of table 3.3 required the envelope's recovered address to equal `row.ecdsa.addr` while that field exists; from `H_fin` the envelope is not examined for authorship. The correction of 2026-10-25 to section 5 named the commit seal as the one classical element of consensus messages; every message still carries the ECDSA envelope, whose form both clients judge and by whose signer the D-454 quotas classify. "Denial of service by seals" said that the per-peer limits of the clients apply and that a refusal costs 0.068 ms; neither client's consensus layer bounds one peer, and a forged proposal can cost about 1,025 Falcon-512 verifications. Found by an adversarial review of the draft that removes ECDSA from consensus messages. +- 2026-10-27, section 3.3, section 5 and Security Considerations: three dated notes. The row "message authorship" of table 3.3 required the envelope's recovered address to equal `row.ecdsa.addr` while that field exists; from `H_fin` the envelope is not examined for authorship. The correction of 2026-10-25 to section 5 named the commit seal as the one classical element of consensus messages; every message still carries the ECDSA envelope, whose form both clients judge and by whose signer the per-author message quotas classify. "Denial of service by seals" said that the per-peer limits of the clients apply and that a refusal costs 0.068 ms; neither client's consensus layer bounds one peer, and a forged proposal can cost about 1,025 Falcon-512 verifications. Found by an adversarial review of the draft that removes ECDSA from consensus messages. -- 2026-10-28, the note of 2026-10-27 under section 5 and the Errata entry of that date: both named per-author message quotas by an identifier of an internal register ("the D-454 quotas"), defined nowhere in this AIP; a dated note under section 5 now says what they are and where they are in the source. +- 2026-10-28, the note of 2026-10-27 under section 5 and the Errata entry of that date: both named per-author message quotas by the identifier of an internal register entry, defined nowhere in this AIP; a dated note under section 5 now says what they are and where they are in the source. + +- 2026-11-01, the notes of 2026-10-27 and 2026-10-28 under section 5 and the Errata entries of those dates: the identifier of an internal register entry, by which they named the per-author message quotas, is replaced by that name; nothing else in those sentences changed. ## Post-Acceptance Outcome Record