Commit Graph

141 Commits

Author SHA1 Message Date
Aere Network
c3ef72b82c TR on chain 2800 moved to block 24,148,752 (was 24,127,504, announced earlier the same day and never armed on any node): the fleet series could not finish 48 hours before the earlier height. verify-anchor.mjs (COMMIT_ROUND_BLOCK), run-node.sh and the runbooks carry the new aere.pq.commitRoundBlock 2026-10-21 20:46:21 +03:00
Aere Network
7e6dad4239 TR on chain 2800 from block 24,127,504: the post-quantum commit seal binds the consensus round and the anchor certificate takes the v3 form from that height; verify-anchor.mjs knows the height (COMMIT_ROUND_BLOCK), run-node.sh and the runbooks carry aere.pq.commitRoundBlock 2026-10-21 20:02:04 +03:00
Aere Network
604e33d0a0 CITATIONS-UNRESOLVED.md: the six files the validator runbook names and this repository does not carry, declared (admission-params.json and static-nodes.json are sent by the Foundation, aere-candidacy.json is written by the kit on your machine, docker-compose.yml and config.toml are served at aere.network/validator/, registry-v3-20836228.json at aere.network/pq/manifests/) 2026-10-21 12:07:19 +03:00
Aere Network
4f6970f31c run-node.sh and the two validator kit scripts are executable, as the runbooks invoke them (./run-node.sh, validator/validator-keys.sh, validator/validator-candidacy.sh) 2026-10-20 08:16:02 +03:00
Aere Network
f7930b2ff9 validator/: the operator kit for becoming a validator of chain 2800 (keys generated on the operator's machine, a public candidacy file with proof of possession and a signed clock report, the corrected runbook); run-node.sh, RUN-A-NODE.md and SPEC.md: the follower configuration described as it is (the attach, validatorCount, forkBlock and seal-cap properties it carries are inert on a follower) 2026-10-20 08:12:28 +03:00
Aere Network
3ff53e4c05 tools/verify-anchor.mjs: the certificate form is judged by height, as the clients do (v1 below V, v2 from V: 17,047,600 on 2800, 176,000 on 28001; v3 from H_r), and the v1/v2 certificate rows are decoded canonically (whole scalar values, known scheme tag, index in four bytes, non-empty signature, at most 64 rows in v2); a v1 height accepts Falcon-512 only. Before this change the tool took the form from the bytes below H_r and accused 20 of 20 healthy v1 anchors of testnet 28001 (175,360 to 175,968). Measured: chain 2800 201 of 201 anchors past V verified, testnet 28001 40 of 40 past V; same verdict as the previous tool on anchor 23,452,880 of chain 2800. 2026-10-19 06:54:55 +03:00
Aere Network
b1c6c6d1e9 run-node.sh, RUN-A-NODE.md, SPEC.md: the follower options re-derived from the live archive node (30 properties); the four message-type post-quantum enforcement heights of chain 2800 (commit 17,250,000, proposal 17,400,000, round change 17,550,000, prepare 17,700,000) were missing 2026-10-19 02:59:06 +03:00
Aere Network
dfdfc1ad66 RUN-A-NODE: the one command applies nine mainnet patches (0001, then 0003 to 0010), not four; the sentence had not followed the patch set since 0005 2026-10-15 11:45:01 +03:00
Aere Network
60ffd69de2 Patch 0010: the chain-2800 fleet distribution of 2026-10-14 (AIP-22 stage R: the round-bound post-quantum commit seal, the v3 anchor certificate and the decided head, inert until aere.pq.commitRoundBlock is set, which run-node.sh does not do; active on testnet 28001 from block 6,157,024 since 2026-10-14); run-node.sh applies 0010; anchor corpus restaged from the recipe (353 .java files, identical to the recipe); LICENSING regenerated; SPEC.md (2.3 certificate element in one place v1/v2/v3, 2.6, 2.7, 3.1, 3.3, 3.4, 3.5, 6.4, 7, 8 D13, 9 G11), RUN-A-NODE.md and README.md with dated notes; measured: patches 0001 and 0003 to 0010 on a pristine d2032017 reproduce the generator's tree exactly (same tree id), the build equals the fleet distribution class for class (3,602 classes, no class with different code)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-14 19:44:51 +03:00
Aere Network
e01ba38e6f tools/verify-anchor.mjs: commit-round height of testnet 28001 is set (6157024); mainnet 2800 unchanged 2026-10-12 12:39:28 +03:00
Aere Network
5161a79eb7 Citations: CITATIONS-UNRESOLVED.md regenerated with the checker's exclusions (a version range in backticks is not a file path) 2026-10-12 06:12:46 +03:00
Aere Network
c017f22f98 Citations: CITATIONS-UNRESOLVED.md regenerated against the whole published family (the previous regeneration indexed only the local bundle and declared as unpublished a few paths a reader can open) 2026-10-12 06:05:17 +03:00
Aere Network
c3f0c01c8d Citations: regenerated CITATIONS-UNRESOLVED.md (O-017, 2026-10-12); cross-repository citations written in the side-by-side form 2026-10-12 06:02:39 +03:00
Aere Network
8de1ab2184 tools/verify-anchor.mjs: a certificate in v3 form below the commit-round height is refused with AERE-PQ-V3-01 before any decoding (form on height first, as both clients do); an index wider than 31 bits and an element 6 that is not a list are named refusals; v1/v2 verdicts unchanged (20 anchors on chain 2800 and 20 on 28001, identical rows) 2026-10-10 23:38:49 +03:00
Aere Network
9fe4dac73e SPEC 2.6 and 3.1, README, anchor/README: message-layer enforcement stated per client (corrected 2026-10-09; from 2026-09-17 the text said all four message types are refused on both clients, while the second client enforces commits since block 18,131,633 and applies the other three types from AIP-22 stage 4, whose height is not yet set on chain 2800; on testnet 28001 since 1,314,403 and 3,117,000); dated notes, nothing removed 2026-10-10 00:02:37 +03:00
Aere Network
76a70f6422 Patch 0009: the chain-2800 fleet distribution of 2026-10-02 (heard-seal judge and pending-commit buffer, both acting only from the AIP-22 stage 4 height; snap-request cap, GHSA-pcv4-pxhv-99m7); fifteen 4(b) notices of patch 0008 now name patch 0008; run-node.sh applies 0009; anchor corpus restaged from the recipe; measured: the recipe build equals the fleet distribution class for class 2026-10-09 14:25:20 +03:00
Aere Network
c05b2ba97b tools/verify-anchor.mjs: certificate form v3 (round-bound commit seal, AIP-22 erratum): dispatcher on the first element, refusal codes AERE-PQ-V3-01..08, validator set of the parent, 'PARENT DECIDED IN ROUND r' only at a QBFT quorum of verified members; v1/v2 verdicts unchanged (20/20 on chain 2800 and 28001 before and after) 2026-10-07 17:11:26 +03:00
Aere Network
97542b5f1e SPEC 3.5: the seal-window journal domain AERE-PQ-SEALWINDOW-1 of AIP-21 (patch 0007) documented by dated note; nothing removed 2026-10-07 15:50:25 +03:00
Aere Network
e05efd57f2 SPEC/RUN-A-NODE: reference point aere.pq.checkpoint documented, rewrite bound of 2026-10-07 in the formal table, 3.1 corrected by dated note; nothing removed 2026-10-07 15:31:41 +03:00
Aere Network
1c6d583f6a registries/README.md: the hosts the files were read from are separate hosts, all operated by the Foundation today (the text said 'independently operated') 2026-10-05 17:49:18 +03:00
Aere Network
1fa2ed0f46 tools/verify-proof.mjs: a file that is not an envelope is a named refusal, and the signature scheme is bound to the key (the form served at aere.network/tools since 2026-10-03); LICENSING.md regenerated over the files the package carries 2026-10-05 17:18:54 +03:00
Aere Network
88a87df694 tools: the on-chain pin proven under the certified state (mpt.mjs), shared by verify-anchor.mjs and verify-proof.mjs
Copies of aerenew/verificator-falcon at 2026-10-02 (AIP-24 C4 (b)): slot 0 of every anchor contract is proven with eth_getProof
under the state root of the certified parent of the newest verified anchor; nothing is read at `latest` any more. mpt.mjs is the
Merkle-Patricia proof walker both tools import: it must sit next to them.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-02 06:23:56 +03:00
Aere Network
a406a193f6 anchor/BASE.txt: the date of the restaging is 2026-10-01 (UTC), not 2026-10-02 (the author's local date) 2026-10-02 01:15:12 +03:00
Aere Network
f4b0a3ce08 Anchor corpus restaged from the published recipe itself (base tree plus the patches run-node.sh applies, not the working overlay): every file the patches change is here, modified upstream files carry their Apache 4(b) notices, one internal reference is gone; BASE.txt says what the directory holds 2026-10-02 00:50:15 +03:00
Aere Network
725aeebb65 Anchor verifier: the two dated historical lapse windows of chain 2800 transcribed from the production client (not enforced at all, then a threshold of one), the fleet's threshold before 13,034,000, and index order required as in production 2026-10-01 20:28:51 +03:00
Aere Network
d56a120462 Anchor verifier: the validator set is read from the parent header the certificate seals (bound to its hash), with no 1000-block cache; distinct members counted once per scheme 2026-10-01 20:03:55 +03:00
Aere Network
e63135ed39 Seals stated as many as the quorum, proving that those validators signed, not that the block was decided (AIP-22 erratum of 2026-10-01) 2026-10-01 19:11:34 +03:00
Aere Network
1bd3f5b587 SPEC and anchor README: the certificate exception stated exactly (an anchor can be certified over the undecided sibling of the decided block; measured in a fixture, not exercised), with both adversaries; internal finding identifiers replaced by descriptions 2026-10-01 18:33:22 +03:00
Aere Network
1238760940 D-470 / AIP-22 erratum 2026-10-01: the verifier prints POST-QUANTUM CERTIFIED and says what a certificate proves (its signers sealed the block post-quantum, in some round) and what it does not (that the block was decided); SPEC and the anchor README qualified the same way 2026-10-01 17:09:27 +03:00
Aere Network
fe41803c07 RUN-A-NODE and run-node.sh: the follower's emergency-ceiling ERROR line is logged for every imported block since patch 0008 (measured), not once per anchor 2026-10-01 15:24:14 +03:00
Aere Network
063424c490 Patch 0008: AIP-22 stages 1 to 3 and the rest of the chain-2800 fleet distribution of 2026-09-29; run-node.sh applies it, passes the stage-3 properties, ships the registry v3 epoch and rebuilds when the patch set changes 2026-10-01 15:21:46 +03:00
Aere Network
ea4ebcda5d AIP-22 stages 1 to 3 on chain 2800 in the node package; verifier no longer prints the stage-5 sentence on chain 2800
README, SPEC, RUN-A-NODE, SECURITY, AUDITS and anchor/README now state the live rules: at least seven of
ten seals per scheme from block 20,715,632 (stage 1), Falcon-512 at every 32nd block and SLH-DSA-SHA2-128s
at every 128th from block 20,746,736 (stage 2), post-quantum validator ids in the header and in
qbft_getValidatorsByBlockNumber from block 20,836,228 (stage 3). Stages 4 and 5 are not active on chain 2800.

tools/verify-anchor.mjs: the FINALIZED line said on every chain that a header between anchors carries only
its proposer's seal, which is true only where AIP-22 stage 5 is active (testnet 28001). It now reports what
it measured: on chain 2800 headers between anchors carry the validators' classical ECDSA commit seals.
Checked on both chains on 2026-10-01: chain 2800, 4/4 anchors verified, ECDSA branch printed; testnet 28001,
2/2 anchors and 20/20 proposer seals verified, stage-5 branch printed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 13:27:11 +03:00
Aere Network
9fd694b888 AIP-22 stage 2 on chain 2800: from block 20,746,736 a Falcon-512 anchor certificate every 32 blocks and the SLH-DSA-SHA2-128s layer every 128 (schemeSchedule falcon-512/32+slh-dsa-sha2-128s/128) 2026-09-29 21:09:36 +03:00
Aere Network
6765c0d2b2 anchor corpus: the consensus sources the fleet runs today (commit seal signed once per round, round-change round cap, anchor lapse guard, tests) 2026-09-29 16:20:57 +03:00
Aere Network
1779ac8a8b AIP-22 stage 1 on chain 2800: anchor certificate threshold K=7, the QBFT quorum of ten validators, from block 20,715,632 2026-09-29 16:07:49 +03:00
Aere Network
2d3812835f tools/package.json: the verifier's dependencies, so that the published instruction works from scratch (npm install in tools/, then node verify-proof.mjs proof-vectors/...). Until now the package had no package.json: npm install installed nothing and verify-proof.mjs could not start. proof-vectors/README.md: the commands run from tools/. 2026-09-29 11:47:48 +03:00
Aere Network
31604bab02 tools/verify-proof.mjs: exit 1 from verify-anchor.mjs counts as a failed anchor only with its own verdict line (FAIL:/PROBLEMS:); a verify-anchor.mjs that cannot start (a dependency not installed) now gives UNMEASURED instead of INVALID. proof-vectors/README.md: the notary on chain 2800 holds other digests (since 2026-09-17), none of these vectors; the earlier line said nothing was notarized there. 2026-09-29 11:43:27 +03:00
Aere Network
a7fa601e97 docs: the anchor cadence is every 128th block from 17,225,968 (2026-09-05), not every 32nd; the minimum is six of each scheme, of ten validators since 2026-09-11; fork depth bound and checkpoint period restated for 128 2026-09-28 01:15:22 +03:00
Aere Network
c239cbd750 tools/verify-proof.mjs: the chain comes from --chain, else from the chain the envelope's notarization declares (when known), else 2800. An envelope notarized on the testnet 28001 and checked without --chain used to be looked up on 2800 and reported INVALID. The notary stays the known contract of that chain (or --notary); an address written in the envelope is never trusted as the notary. 2026-09-27 20:48:58 +03:00
Aere Network
93f9d5839b anchor: the propagation adoption gate (rule C, D-412) is OBSERVE by default - it computes the same verdict and adopts, logging 'would NOT adopt'; ENFORCE only with aere.d412.adoptionGate=enforce. On the public testnet the enforcing form froze a validator that had missed one height's commit messages (D-419). Adds PqTipAdoptionGateModeTest. LICENSING.md regenerated over the 209 files the package carries. 2026-09-27 20:35:53 +03:00
Aere Network
71bce697d1 tools/verify-proof.mjs: reference verifier of the AERE Proof Protocol (AIP-23), finality from a state a verified post-quantum certificate covers (anchor via verify-anchor.mjs, parent header bound by hash, Merkle proof of the notary storage); tools/proof-vectors/: conformance envelopes with expected verdicts 2026-09-27 06:43:30 +03:00
Aere Network
54ab30407c verify-anchor.mjs: ANCHOR_REPORT=<file> writes the most recent verified anchor and the parent hash its seals signed, as JSON, for tools that build on it (nothing printed changes) 2026-09-27 06:36:36 +03:00
Aere Network
75b2872e13 verify-anchor.mjs: early refusals stop without process.exit() (on Windows it returned 127 instead of 1 after a network request); any other uncaught error still fails the run 2026-09-27 05:32:06 +03:00
Aere Network
0b36247051 verify-anchor.mjs: step 6 admits a re-proposed block sealed by its round's proposer (AIP-22 section 5 as corrected 2026-09-25, now running on testnet 28001); builder rule, round bound and canonical round on every header; exit code set, not process.exit 2026-09-27 05:14:52 +03:00
Aere Network
846f437724 anchor: finality tags (B1), propagated-tip adoption gate (Rule C), parallel SLH-DSA signing; stage-5 re-proposal and codec fixes
- AerePqFinalityTags: eth_getBlockByNumber("finalized"/"safe") answers the parent of the last canonical anchor that carries a
  post-quantum certificate (v1 Falcon list or v2 scheme-tagged); monotonic, never moved back by a reorg. Fork choice, validity
  and import are untouched.
- PqTipAdoptionGate / PropagatedBlockAdoptionGate: from the header-seal stage, a validator does not adopt a propagated block at
  its own consensus tip without a post-quantum commit quorum for that exact hash, re-verified against the anchored registry.
  Inert below that stage; readers and the sync path are not gated.
- ParallelSigning: SLH-DSA-SHA2-128s signing spreads the message-independent work (the hypertree layers' authentication paths
  and the FORS trees) over the available cores; the output is byte-identical to Bouncy Castle 1.80 (SlhDsaParallelSigningTest
  compares against the original for several keys and message lengths and counts the tasks that ran on the pool). Kill switch:
  -Daere.pq.slhdsa.parallel=false. The engine files are regenerated from the pinned Bouncy Castle sources; the MIT licence stays
  alongside them.
- Header-seal stage: a block re-proposed in a later round carries the seal of that round's proposer; the QBFT codec requires a
  32-byte vanity field at every height. Comments translated to English throughout.
2026-09-27 04:23:45 +03:00
Aere Network
4250738290 verify-anchor: FINALIZED (post-quantum) summary line; probes proba-pe-lant/control-negativ repaired upstream, 2026-09-26 2026-09-26 16:20:11 +03:00
Aere Network
0f6ec82fa1 verify-anchor.mjs: step 6, the proposer's Falcon-512 seal on every recent header (AIP-22 stage 5), verified against the v3 registry key of its index and bound to the coinbase; proven on testnet 28001 with two planted forgeries rejected 2026-09-24 23:01:51 +03:00
Aere Network
c0e6b62d71 anchor/README.md: ancora la fiecare al 128-lea bloc (la 32 pana la 17.225.968) 2026-09-24 22:38:50 +03:00
Aere Network
387615b0fb Citations: declaration regenerated against the whole published family (paths in sdk-js and aere-client2 resolve and are no longer listed) 2026-09-24 17:36:27 +03:00
Aere Network
294a041276 Citations: the declaration of unpublished paths regenerated (2026-09-24); cross-repository citations written with their repository name 2026-09-24 17:34:13 +03:00