aere-node/tools/proof-vectors
2026-09-29 11:43:27 +03:00
..
01-proof-of-software.json 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
02-tampered-statement.json 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
03-tampered-hash.json 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
04-minimal-synthetic.json 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
05-no-statement-hash.json 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
06-notarized-28001.json 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
README.md 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 Proof Protocol conformance vectors (AIP-23)

Run the reference verifier on each envelope and compare the verdict:

npm install
node ../verify-proof.mjs 01-proof-of-software.json
node ../verify-proof.mjs 06-notarized-28001.json --chain 28001 --rpc https://testnet-rpc.aere.network
envelope offline (no --rpc) what it tests
01-proof-of-software.json VALID a real Proof of Software attestation: form and integrity
02-tampered-statement.json INVALID (integrity) one field of the statement changed after hashing
03-tampered-hash.json INVALID (integrity) one byte of the statementHash changed
04-minimal-synthetic.json VALID the smallest envelope the protocol accepts
05-no-statement-hash.json INVALID (form) an envelope without a statementHash
06-notarized-28001.json VALID form and integrity; with --chain 28001 --rpc ... also finality

With --chain 28001 --rpc https://testnet-rpc.aere.network, 06 gives finality post-quantum: the state of the parent of the most recent anchor, whose certificate verify-anchor.mjs checks, records its statementHash in the testnet notary as first seen at 1790478623 (2026-09-27T03:10:23Z), first in block 3,618,722. Its statement describes the AIP-22 conformance corpus file as it was served at that time (eight of nine kinds); the file has changed since, the statement has not. With --rpc on chain 2800, whose notary holds other digests but none of these vectors, 01 gives not notarized, proven absent from the certified state. (Until 2026-09-29 this line said that nothing was notarized on chain 2800; the notary there has held digests since 2026-09-17.)