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
Aere Network
344ba39314
anchor: the corpus carries AIP-22 stage 5 (headers sealed by the proposer's post-quantum seal, no ECDSA committed seals) and the stage-3b correction (a commit's hybrid seal judged with the v3 epoch's key)
2026-09-24 02:29:37 +03:00
Aere Network
ab90cc5b06
verify-anchor: a certificate is a NON-EMPTY item 6 (AIP-22 stage 5 headers carry an empty certificate slot between anchors)
2026-09-24 00:03:31 +03:00
Aere Network
71412b9792
anchor: the corpus carries AIP-22 stage 4 (message authorship from VERIFIED post-quantum seals, the startup guards AERE-PQC-FIN-01/02/03, the checkpoint option), unarmed on chain 2800 and proven on testnet 28001 (H_fin 3,117,000); the armed-on-2800 table says so row by row; LICENSING.md lists the new files
2026-09-23 22:48:38 +03:00
Aere Network
099908a4ca
anchor: the corpus carries the AIP-22 stage 1 to 3b code (per-scheme intervals, post-quantum validator identity, v3 key registry, key rotation under an id), unarmed on chain 2800 and proven on testnet 28001; the armed-on-2800 table says so row by row; LICENSING.md lists the new files
2026-09-23 20:08:22 +03:00
Aere Network
a94c0f2686
verify-anchor: from KEYS_FROM the OK line names the registry v3 epoch whose keys verified the seals, not the key manifest
2026-09-23 18:35:06 +03:00
Aere Network
089dc9803c
verify-anchor.mjs: AIP-22 stage 3b read path, inert until an index marks it - from KEYS_FROM (or the v3 epoch whose index entry carries keysFrom) the key and the id of a seal's index come from the v3 epoch in force at the parent, as both clients read them; the ECDSA link of an id is inherited across epochs that omit it, and an id linked again drops its older address. Without keysFrom anywhere nothing changes: chain 2800 5/5, testnet 28001 5/5 re-run on 2026-09-23.
2026-09-23 16:05:24 +03:00
Aere Network
944dc0bba6
tools: verify-anchor.mjs discovers registry v3 epochs (AIP-22 stage 3, formatVersion 3 entries of the same manifest index) and verifies each in full with registry-v3.mjs (every proof of possession, every ECDSA link, the rotation chain, the Merkle registry hash), then requires every v3 row to carry exactly the Falcon-512 key, SLH-DSA key and address of the key manifest that signs at its height; the identity height is the first epoch's bindHeight, IDENTITY_BLOCK=none disables it as a negative control. Adds tools/registry-v3.mjs and tools/falcon512.mjs, which verify-anchor.mjs imports and the package did not carry. Checked 2026-09-23: testnet 28001 20/20 with its published v3 epoch (registry hash 0xd19eef4a..., identity from 3,080,010); chain 2800 20/20 unchanged; a byte-altered epoch and an epoch whose SLH-DSA key differs from the signing manifest both refused with the reason.
2026-09-23 15:33:49 +03:00
Aere Network
79e5dafd53
verify-anchor.mjs: per-scheme anchor intervals (AIP-22 stage 2: SCHEME_SCHEDULE entries like falcon-512/32+slh-dsa-sha2-128s/128; a scheme off its own grid at an anchor is surplus, verified but not required) and post-quantum validator identity (AIP-22 stage 3: IDENTITY_BLOCK + REGISTRY_V3 translate the validator set to ids from H_id); testnet 28001 default gains the stage-2 step 3070656. Proven 2026-09-23 12:07Z on 28001: 11 of 11 anchors after 3,070,656 accepted (3 hybrid on the 128 grid, 8 Falcon-only at 32), and the pre-stage-2 schedule refuses exactly the 8 Falcon-only; 20 of 20 on chain 2800 unchanged.
2026-09-23 15:08:45 +03:00
Aere Network
5c99d51a3c
RUN-A-NODE: the follower BESU_OPTS block carries -Daere.pqtx.forkBlock=19900000 like run-node.sh (the script already set it; the documented block lagged); SPEC 2.7: the seal-window journal opt-out is described as a property value, with its default read from PqSealWindowStore
2026-09-23 12:24:50 +03:00