From e1c39747ed6c25a8c1a48adf7844a6cdda20bd03 Mon Sep 17 00:00:00 2001 From: Aere Network Date: Fri, 16 Oct 2026 03:55:34 +0300 Subject: [PATCH] AIP-22 erratum (2026-10-16), section 6: the first form of the equivocation-evidence contract took two COMMIT-1 seals (no round) as evidence; COMMIT evidence is now round-bound (COMMIT-2), new instances on testnet 28001, the old ones retired, both clients agree on the eight vectors --- aips/AIP-22.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/aips/AIP-22.md b/aips/AIP-22.md index e3ce024..ce6617f 100644 --- a/aips/AIP-22.md +++ b/aips/AIP-22.md @@ -370,6 +370,24 @@ Two refinements to the text above, recorded rather than silently applied: the Me misleads one validator of ten, below `f` = 3, whose own commits stay sealed with its own key; combined with `f` Byzantine validators, the misled second client would count as one more faulty node, and that case is not analyzed. +- 2026-10-16, section 6 and the stage record of 2026-09-23 (stage 6): the first form of `PqEquivocationEvidence` took two + COMMIT-1 seals of one row at the same height over two block hashes as an equivocation, with no round ("COMMIT (the anchor + form, which carries no round), same height and a different block hash"). An honest validator can seal block `p` in a round + that does not decide and block `p'` in a later one, the case of the entry of 2026-10-01, so that form could record an honest + validator, and section 6 makes a record the basis of a removal vote. Repaired: a COMMIT equivocation is two round-bound + seals, `M_r = keccak256(RLP["AERE-PQ-COMMIT-2", chainId, n, r, hash])`, of one row at the same height AND round over two + block hashes, as for the other three types; a COMMIT-1 pair is refused, because its first seal does not verify under + COMMIT-2. The contract is immutable and ownerless, so the repair is a new pair of instances on testnet 28001 (drill and real, + 2026-10-16); the instances of 2026-09-23 stay on chain and are retired, and their records are named as made by the first + form. Measured on 28001 with the live Falcon-512 precompile: the drill instance recorded a PREPARE and a COMMIT-2 + equivocation, and refused, as calls, the COMMIT-1 pair and a seal given in another round than the one presented, besides the + refusals of the first record; the real instance verifies the five Falcon-512 seals of the v3 anchor certificate at block + 6,363,712 over COMMIT-2 of round 0, and refuses each of them under round 1; the runtime code of all four instances equals its + source (the new ones today's, the retired ones the source of 2026-09-23). The equivocation vectors of section 9 (eight, two + valid) are judged identically by both clients, each refusal for the named reason, including the COMMIT-1 object that the + first form recorded on chain. 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). + ## Post-Acceptance Outcome Record Not accepted; nothing to record.