aere-node/tools/proof-vectors/README.md

1.6 KiB

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.)