aere-research/aips/aip23-kinds
2026-09-29 11:44:27 +03:00
..
ai.json AIP-23: the proof kinds AERE produces, with their conformance envelopes (aips/aip23-kinds/: fifteen kinds, authorization, settlement and provenance added 2026-09-28; KINDS.json lists each kind's required fields); correction: the notary on chain 2800 has held digests since 2026-09-17 (the measured status of 2026-09-27 said nothing was notarized there), Errata 1 2026-09-29 11:44:27 +03:00
authorization.json AIP-23: the proof kinds AERE produces, with their conformance envelopes (aips/aip23-kinds/: fifteen kinds, authorization, settlement and provenance added 2026-09-28; KINDS.json lists each kind's required fields); correction: the notary on chain 2800 has held digests since 2026-09-17 (the measured status of 2026-09-27 said nothing was notarized there), Errata 1 2026-09-29 11:44:27 +03:00
block.json AIP-23: the proof kinds AERE produces, with their conformance envelopes (aips/aip23-kinds/: fifteen kinds, authorization, settlement and provenance added 2026-09-28; KINDS.json lists each kind's required fields); correction: the notary on chain 2800 has held digests since 2026-09-17 (the measured status of 2026-09-27 said nothing was notarized there), Errata 1 2026-09-29 11:44:27 +03:00
compliance.json AIP-23: the proof kinds AERE produces, with their conformance envelopes (aips/aip23-kinds/: fifteen kinds, authorization, settlement and provenance added 2026-09-28; KINDS.json lists each kind's required fields); correction: the notary on chain 2800 has held digests since 2026-09-17 (the measured status of 2026-09-27 said nothing was notarized there), Errata 1 2026-09-29 11:44:27 +03:00
data.json AIP-23: the proof kinds AERE produces, with their conformance envelopes (aips/aip23-kinds/: fifteen kinds, authorization, settlement and provenance added 2026-09-28; KINDS.json lists each kind's required fields); correction: the notary on chain 2800 has held digests since 2026-09-17 (the measured status of 2026-09-27 said nothing was notarized there), Errata 1 2026-09-29 11:44:27 +03:00
device.json AIP-23: the proof kinds AERE produces, with their conformance envelopes (aips/aip23-kinds/: fifteen kinds, authorization, settlement and provenance added 2026-09-28; KINDS.json lists each kind's required fields); correction: the notary on chain 2800 has held digests since 2026-09-17 (the measured status of 2026-09-27 said nothing was notarized there), Errata 1 2026-09-29 11:44:27 +03:00
execution.json AIP-23: the proof kinds AERE produces, with their conformance envelopes (aips/aip23-kinds/: fifteen kinds, authorization, settlement and provenance added 2026-09-28; KINDS.json lists each kind's required fields); correction: the notary on chain 2800 has held digests since 2026-09-17 (the measured status of 2026-09-27 said nothing was notarized there), Errata 1 2026-09-29 11:44:27 +03:00
identity.json AIP-23: the proof kinds AERE produces, with their conformance envelopes (aips/aip23-kinds/: fifteen kinds, authorization, settlement and provenance added 2026-09-28; KINDS.json lists each kind's required fields); correction: the notary on chain 2800 has held digests since 2026-09-17 (the measured status of 2026-09-27 said nothing was notarized there), Errata 1 2026-09-29 11:44:27 +03:00
KINDS.json AIP-23: the proof kinds AERE produces, with their conformance envelopes (aips/aip23-kinds/: fifteen kinds, authorization, settlement and provenance added 2026-09-28; KINDS.json lists each kind's required fields); correction: the notary on chain 2800 has held digests since 2026-09-17 (the measured status of 2026-09-27 said nothing was notarized there), Errata 1 2026-09-29 11:44:27 +03:00
location.json AIP-23: the proof kinds AERE produces, with their conformance envelopes (aips/aip23-kinds/: fifteen kinds, authorization, settlement and provenance added 2026-09-28; KINDS.json lists each kind's required fields); correction: the notary on chain 2800 has held digests since 2026-09-17 (the measured status of 2026-09-27 said nothing was notarized there), Errata 1 2026-09-29 11:44:27 +03:00
ownership.json AIP-23: the proof kinds AERE produces, with their conformance envelopes (aips/aip23-kinds/: fifteen kinds, authorization, settlement and provenance added 2026-09-28; KINDS.json lists each kind's required fields); correction: the notary on chain 2800 has held digests since 2026-09-17 (the measured status of 2026-09-27 said nothing was notarized there), Errata 1 2026-09-29 11:44:27 +03:00
payment.json AIP-23: the proof kinds AERE produces, with their conformance envelopes (aips/aip23-kinds/: fifteen kinds, authorization, settlement and provenance added 2026-09-28; KINDS.json lists each kind's required fields); correction: the notary on chain 2800 has held digests since 2026-09-17 (the measured status of 2026-09-27 said nothing was notarized there), Errata 1 2026-09-29 11:44:27 +03:00
provenance.json AIP-23: the proof kinds AERE produces, with their conformance envelopes (aips/aip23-kinds/: fifteen kinds, authorization, settlement and provenance added 2026-09-28; KINDS.json lists each kind's required fields); correction: the notary on chain 2800 has held digests since 2026-09-17 (the measured status of 2026-09-27 said nothing was notarized there), Errata 1 2026-09-29 11:44:27 +03:00
README.md AIP-23: the proof kinds AERE produces, with their conformance envelopes (aips/aip23-kinds/: fifteen kinds, authorization, settlement and provenance added 2026-09-28; KINDS.json lists each kind's required fields); correction: the notary on chain 2800 has held digests since 2026-09-17 (the measured status of 2026-09-27 said nothing was notarized there), Errata 1 2026-09-29 11:44:27 +03:00
runtime.json AIP-23: the proof kinds AERE produces, with their conformance envelopes (aips/aip23-kinds/: fifteen kinds, authorization, settlement and provenance added 2026-09-28; KINDS.json lists each kind's required fields); correction: the notary on chain 2800 has held digests since 2026-09-17 (the measured status of 2026-09-27 said nothing was notarized there), Errata 1 2026-09-29 11:44:27 +03:00
settlement.json AIP-23: the proof kinds AERE produces, with their conformance envelopes (aips/aip23-kinds/: fifteen kinds, authorization, settlement and provenance added 2026-09-28; KINDS.json lists each kind's required fields); correction: the notary on chain 2800 has held digests since 2026-09-17 (the measured status of 2026-09-27 said nothing was notarized there), Errata 1 2026-09-29 11:44:27 +03:00
time.json AIP-23: the proof kinds AERE produces, with their conformance envelopes (aips/aip23-kinds/: fifteen kinds, authorization, settlement and provenance added 2026-09-28; KINDS.json lists each kind's required fields); correction: the notary on chain 2800 has held digests since 2026-09-17 (the measured status of 2026-09-27 said nothing was notarized there), Errata 1 2026-09-29 11:44:27 +03:00

AERE Proof Protocol: proof kinds and their conformance vectors (AIP-23)

AIP-23 constrains only the envelope: a statement, its statementHash, an optional signature and an optional notarization. Each kind of proof keeps its own statement fields. This folder lists the kinds AERE produces today, with one envelope per kind, so that an independent implementation can produce and check them without us. The machine-readable list is KINDS.json.

Check conformance

For each <kind>.json:

  1. take the statement object;
  2. serialize it canonically: JSON.stringify(statement), keys in the order they appear in the file, UTF-8;
  3. SHA-256 over those bytes, prefixed with 0x;
  4. the result MUST equal statementHash.

The same with the reference verifier, which also checks form, signature and finality when present:

node verify-proof.mjs data.json --json        # verify-proof.mjs is published in aere-node/tools/

Every envelope here is VALID offline (form and integrity pass; it carries no signature and no notarization, so those levels are ABSENT). Change one field of a statement and it is INVALID at the integrity level.

Kinds

kind statement kind required fields what it attests
data aere-proof-of-data sha256, name, createdAt a file or dataset had exactly this content (its SHA-256) under this name
execution aere-proof-of-execution program, inputHash, outputHash, createdAt a program ran on this input and produced this output (digests), with this exit code
identity aere-proof-of-identity subjectId, publicKeyHash, createdAt a subject identifier is bound to this public key (digest), by this method
compliance aere-proof-of-compliance subject, policy, result, createdAt a subject was checked against a named policy with this result; the evidence is referenced by digest
runtime aere-proof-of-runtime host, artifactSha256, createdAt a host runs this artifact (digest), and whether it matches the attested one
location aere-proof-of-location subject, region, createdAt a subject is in this region, by this method; the evidence is referenced by digest
device aere-proof-of-device deviceId, attestationHash, createdAt a device identifier carries this attestation and key (digests) and this posture
payment aere-proof-of-payment from, to, amount, createdAt a payment of this amount and asset from one party to another, with its transaction (digest)
ownership aere-proof-of-ownership owner, assetId, createdAt an owner holds this asset identifier; the asset is referenced by digest
time aere-proof-of-time subjectHash, at, createdAt a subject (digest) existed at this time, from this time source
block aere-proof-of-block blockHash, stateRoot, certificateDigest, createdAt a block hash and state root, with the post-quantum anchor certificate digest that covers them
authorization (added 2026-09-28) aere-proof-of-authorization grantor, grantee, scope, createdAt a grantor gave a grantee the right to act within a scope, under a policy (digest), until an expiry
settlement (added 2026-09-28) aere-proof-of-settlement chainId, txHash, blockHash, amount, asset, createdAt a settlement on a chain: its transaction and block (32-byte hashes carried as they are, never re-hashed), amount and asset
provenance (added 2026-09-28) aere-proof-of-provenance subjectHash, parents, createdAt an artifact (digest) was produced from a non-empty list of parents (digests), by a process (digest), by an actor
ai aere-proof-of-ai model.name, createdAt an AI action: which model and version, which prompt, input and output (digests), which tools, which agent, who asked

Field types in KINDS.json: digest is the SHA-256 of some content (0x + 64 hex), so nothing sensitive enters the statement in the clear; hash is a value that is already a 32-byte hash (a transaction or block hash) and is refused if it has another form; list is a non-empty list of digests; plain is carried as given. Proof of Software has its own statement, and its conformance vector is aere-node/tools/proof-vectors/01-proof-of-software.json.

What an envelope does not prove

An envelope binds a claim to its hash and, when signed, to its signer; with a notarization, to a time certified post-quantum on chain. It does not make the claim true in the world: the truth of a "location" or a "device" depends on who attests it and how. Read the signer, not only the verdict.