aere-node/tools/proof-vectors
2026-09-29 11:47:48 +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/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 Proof Protocol conformance vectors (AIP-23)

Run the reference verifier on each envelope and compare the verdict. From the tools/ folder, where package.json names the verifier's dependencies:

npm install
node verify-proof.mjs proof-vectors/01-proof-of-software.json
node verify-proof.mjs proof-vectors/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.)