521 lines
11 KiB
JSON
521 lines
11 KiB
JSON
{
|
|
"protocol": "AIP-23",
|
|
"kinds": [
|
|
{
|
|
"kind": "data",
|
|
"statementKind": "aere-proof-of-data",
|
|
"envelopeKind": "aere-proof-of-data-attestation",
|
|
"fields": [
|
|
{
|
|
"name": "sha256",
|
|
"type": "digest",
|
|
"note": "sha256 of the content, 0x + 64 hex"
|
|
},
|
|
{
|
|
"name": "name",
|
|
"type": "plain"
|
|
}
|
|
],
|
|
"required": [
|
|
"sha256",
|
|
"name",
|
|
"createdAt"
|
|
],
|
|
"attests": "a file or dataset had exactly this content (its SHA-256) under this name",
|
|
"vector": "data.json"
|
|
},
|
|
{
|
|
"kind": "execution",
|
|
"statementKind": "aere-proof-of-execution",
|
|
"envelopeKind": "aere-proof-of-execution-attestation",
|
|
"fields": [
|
|
{
|
|
"name": "inputHash",
|
|
"type": "digest",
|
|
"note": "sha256 of the content, 0x + 64 hex"
|
|
},
|
|
{
|
|
"name": "outputHash",
|
|
"type": "digest",
|
|
"note": "sha256 of the content, 0x + 64 hex"
|
|
},
|
|
{
|
|
"name": "programSha256",
|
|
"type": "digest",
|
|
"note": "sha256 of the content, 0x + 64 hex"
|
|
},
|
|
{
|
|
"name": "program",
|
|
"type": "plain"
|
|
},
|
|
{
|
|
"name": "exitCode",
|
|
"type": "plain"
|
|
}
|
|
],
|
|
"required": [
|
|
"program",
|
|
"inputHash",
|
|
"outputHash",
|
|
"createdAt"
|
|
],
|
|
"attests": "a program ran on this input and produced this output (digests), with this exit code",
|
|
"vector": "execution.json"
|
|
},
|
|
{
|
|
"kind": "identity",
|
|
"statementKind": "aere-proof-of-identity",
|
|
"envelopeKind": "aere-proof-of-identity-attestation",
|
|
"fields": [
|
|
{
|
|
"name": "publicKeyHash",
|
|
"type": "digest",
|
|
"note": "sha256 of the content, 0x + 64 hex"
|
|
},
|
|
{
|
|
"name": "subjectHash",
|
|
"type": "digest",
|
|
"note": "sha256 of the content, 0x + 64 hex"
|
|
},
|
|
{
|
|
"name": "method",
|
|
"type": "plain"
|
|
},
|
|
{
|
|
"name": "subjectId",
|
|
"type": "plain"
|
|
}
|
|
],
|
|
"required": [
|
|
"subjectId",
|
|
"publicKeyHash",
|
|
"createdAt"
|
|
],
|
|
"attests": "a subject identifier is bound to this public key (digest), by this method",
|
|
"vector": "identity.json"
|
|
},
|
|
{
|
|
"kind": "compliance",
|
|
"statementKind": "aere-proof-of-compliance",
|
|
"envelopeKind": "aere-proof-of-compliance-attestation",
|
|
"fields": [
|
|
{
|
|
"name": "evidenceHash",
|
|
"type": "digest",
|
|
"note": "sha256 of the content, 0x + 64 hex"
|
|
},
|
|
{
|
|
"name": "subject",
|
|
"type": "plain"
|
|
},
|
|
{
|
|
"name": "policy",
|
|
"type": "plain"
|
|
},
|
|
{
|
|
"name": "result",
|
|
"type": "plain"
|
|
}
|
|
],
|
|
"required": [
|
|
"subject",
|
|
"policy",
|
|
"result",
|
|
"createdAt"
|
|
],
|
|
"attests": "a subject was checked against a named policy with this result; the evidence is referenced by digest",
|
|
"vector": "compliance.json"
|
|
},
|
|
{
|
|
"kind": "runtime",
|
|
"statementKind": "aere-proof-of-runtime",
|
|
"envelopeKind": "aere-proof-of-runtime-attestation",
|
|
"fields": [
|
|
{
|
|
"name": "artifactSha256",
|
|
"type": "digest",
|
|
"note": "sha256 of the content, 0x + 64 hex"
|
|
},
|
|
{
|
|
"name": "attestedSha256",
|
|
"type": "digest",
|
|
"note": "sha256 of the content, 0x + 64 hex"
|
|
},
|
|
{
|
|
"name": "host",
|
|
"type": "plain"
|
|
},
|
|
{
|
|
"name": "unit",
|
|
"type": "plain"
|
|
},
|
|
{
|
|
"name": "matches",
|
|
"type": "plain"
|
|
}
|
|
],
|
|
"required": [
|
|
"host",
|
|
"artifactSha256",
|
|
"createdAt"
|
|
],
|
|
"attests": "a host runs this artifact (digest), and whether it matches the attested one",
|
|
"vector": "runtime.json"
|
|
},
|
|
{
|
|
"kind": "location",
|
|
"statementKind": "aere-proof-of-location",
|
|
"envelopeKind": "aere-proof-of-location-attestation",
|
|
"fields": [
|
|
{
|
|
"name": "evidenceHash",
|
|
"type": "digest",
|
|
"note": "sha256 of the content, 0x + 64 hex"
|
|
},
|
|
{
|
|
"name": "subject",
|
|
"type": "plain"
|
|
},
|
|
{
|
|
"name": "region",
|
|
"type": "plain"
|
|
},
|
|
{
|
|
"name": "method",
|
|
"type": "plain"
|
|
}
|
|
],
|
|
"required": [
|
|
"subject",
|
|
"region",
|
|
"createdAt"
|
|
],
|
|
"attests": "a subject is in this region, by this method; the evidence is referenced by digest",
|
|
"vector": "location.json"
|
|
},
|
|
{
|
|
"kind": "device",
|
|
"statementKind": "aere-proof-of-device",
|
|
"envelopeKind": "aere-proof-of-device-attestation",
|
|
"fields": [
|
|
{
|
|
"name": "attestationHash",
|
|
"type": "digest",
|
|
"note": "sha256 of the content, 0x + 64 hex"
|
|
},
|
|
{
|
|
"name": "publicKeyHash",
|
|
"type": "digest",
|
|
"note": "sha256 of the content, 0x + 64 hex"
|
|
},
|
|
{
|
|
"name": "deviceId",
|
|
"type": "plain"
|
|
},
|
|
{
|
|
"name": "posture",
|
|
"type": "plain"
|
|
}
|
|
],
|
|
"required": [
|
|
"deviceId",
|
|
"attestationHash",
|
|
"createdAt"
|
|
],
|
|
"attests": "a device identifier carries this attestation and key (digests) and this posture",
|
|
"vector": "device.json"
|
|
},
|
|
{
|
|
"kind": "payment",
|
|
"statementKind": "aere-proof-of-payment",
|
|
"envelopeKind": "aere-proof-of-payment-attestation",
|
|
"fields": [
|
|
{
|
|
"name": "txHash",
|
|
"type": "digest",
|
|
"note": "sha256 of the content, 0x + 64 hex"
|
|
},
|
|
{
|
|
"name": "from",
|
|
"type": "plain"
|
|
},
|
|
{
|
|
"name": "to",
|
|
"type": "plain"
|
|
},
|
|
{
|
|
"name": "amount",
|
|
"type": "plain"
|
|
},
|
|
{
|
|
"name": "asset",
|
|
"type": "plain"
|
|
}
|
|
],
|
|
"required": [
|
|
"from",
|
|
"to",
|
|
"amount",
|
|
"createdAt"
|
|
],
|
|
"attests": "a payment of this amount and asset from one party to another, with its transaction (digest)",
|
|
"vector": "payment.json"
|
|
},
|
|
{
|
|
"kind": "ownership",
|
|
"statementKind": "aere-proof-of-ownership",
|
|
"envelopeKind": "aere-proof-of-ownership-attestation",
|
|
"fields": [
|
|
{
|
|
"name": "assetHash",
|
|
"type": "digest",
|
|
"note": "sha256 of the content, 0x + 64 hex"
|
|
},
|
|
{
|
|
"name": "owner",
|
|
"type": "plain"
|
|
},
|
|
{
|
|
"name": "assetId",
|
|
"type": "plain"
|
|
}
|
|
],
|
|
"required": [
|
|
"owner",
|
|
"assetId",
|
|
"createdAt"
|
|
],
|
|
"attests": "an owner holds this asset identifier; the asset is referenced by digest",
|
|
"vector": "ownership.json"
|
|
},
|
|
{
|
|
"kind": "time",
|
|
"statementKind": "aere-proof-of-time",
|
|
"envelopeKind": "aere-proof-of-time-attestation",
|
|
"fields": [
|
|
{
|
|
"name": "subjectHash",
|
|
"type": "digest",
|
|
"note": "sha256 of the content, 0x + 64 hex"
|
|
},
|
|
{
|
|
"name": "source",
|
|
"type": "plain"
|
|
},
|
|
{
|
|
"name": "at",
|
|
"type": "plain"
|
|
}
|
|
],
|
|
"required": [
|
|
"subjectHash",
|
|
"at",
|
|
"createdAt"
|
|
],
|
|
"attests": "a subject (digest) existed at this time, from this time source",
|
|
"vector": "time.json"
|
|
},
|
|
{
|
|
"kind": "block",
|
|
"statementKind": "aere-proof-of-block",
|
|
"envelopeKind": "aere-proof-of-block-attestation",
|
|
"fields": [
|
|
{
|
|
"name": "stateTransitionProof",
|
|
"type": "digest",
|
|
"note": "sha256 of the content, 0x + 64 hex"
|
|
},
|
|
{
|
|
"name": "blockHash",
|
|
"type": "plain"
|
|
},
|
|
{
|
|
"name": "stateRoot",
|
|
"type": "plain"
|
|
},
|
|
{
|
|
"name": "anchorHeight",
|
|
"type": "plain"
|
|
},
|
|
{
|
|
"name": "certificateDigest",
|
|
"type": "plain"
|
|
}
|
|
],
|
|
"required": [
|
|
"blockHash",
|
|
"stateRoot",
|
|
"certificateDigest",
|
|
"createdAt"
|
|
],
|
|
"attests": "a block hash and state root, with the post-quantum anchor certificate digest that covers them",
|
|
"vector": "block.json"
|
|
},
|
|
{
|
|
"kind": "authorization",
|
|
"statementKind": "aere-proof-of-authorization",
|
|
"envelopeKind": "aere-proof-of-authorization-attestation",
|
|
"fields": [
|
|
{
|
|
"name": "policyHash",
|
|
"type": "digest",
|
|
"note": "sha256 of the content, 0x + 64 hex"
|
|
},
|
|
{
|
|
"name": "grantor",
|
|
"type": "plain"
|
|
},
|
|
{
|
|
"name": "grantee",
|
|
"type": "plain"
|
|
},
|
|
{
|
|
"name": "scope",
|
|
"type": "plain"
|
|
},
|
|
{
|
|
"name": "expiresAt",
|
|
"type": "plain"
|
|
}
|
|
],
|
|
"required": [
|
|
"grantor",
|
|
"grantee",
|
|
"scope",
|
|
"createdAt"
|
|
],
|
|
"attests": "a grantor gave a grantee the right to act within a scope, under a policy (digest), until an expiry",
|
|
"added": "2026-09-28",
|
|
"vector": "authorization.json"
|
|
},
|
|
{
|
|
"kind": "settlement",
|
|
"statementKind": "aere-proof-of-settlement",
|
|
"envelopeKind": "aere-proof-of-settlement-attestation",
|
|
"fields": [
|
|
{
|
|
"name": "instructionHash",
|
|
"type": "digest",
|
|
"note": "sha256 of the content, 0x + 64 hex"
|
|
},
|
|
{
|
|
"name": "txHash",
|
|
"type": "hash",
|
|
"note": "already a 32-byte hash (0x + 64 hex); any other form is refused, not hashed"
|
|
},
|
|
{
|
|
"name": "blockHash",
|
|
"type": "hash",
|
|
"note": "already a 32-byte hash (0x + 64 hex); any other form is refused, not hashed"
|
|
},
|
|
{
|
|
"name": "chainId",
|
|
"type": "plain"
|
|
},
|
|
{
|
|
"name": "from",
|
|
"type": "plain"
|
|
},
|
|
{
|
|
"name": "to",
|
|
"type": "plain"
|
|
},
|
|
{
|
|
"name": "amount",
|
|
"type": "plain"
|
|
},
|
|
{
|
|
"name": "asset",
|
|
"type": "plain"
|
|
}
|
|
],
|
|
"required": [
|
|
"chainId",
|
|
"txHash",
|
|
"blockHash",
|
|
"amount",
|
|
"asset",
|
|
"createdAt"
|
|
],
|
|
"attests": "a settlement on a chain: its transaction and block (32-byte hashes carried as they are, never re-hashed), amount and asset",
|
|
"added": "2026-09-28",
|
|
"vector": "settlement.json"
|
|
},
|
|
{
|
|
"kind": "provenance",
|
|
"statementKind": "aere-proof-of-provenance",
|
|
"envelopeKind": "aere-proof-of-provenance-attestation",
|
|
"fields": [
|
|
{
|
|
"name": "subjectHash",
|
|
"type": "digest",
|
|
"note": "sha256 of the content, 0x + 64 hex"
|
|
},
|
|
{
|
|
"name": "processHash",
|
|
"type": "digest",
|
|
"note": "sha256 of the content, 0x + 64 hex"
|
|
},
|
|
{
|
|
"name": "parents",
|
|
"type": "list",
|
|
"note": "non-empty list of digests"
|
|
},
|
|
{
|
|
"name": "actor",
|
|
"type": "plain"
|
|
}
|
|
],
|
|
"required": [
|
|
"subjectHash",
|
|
"parents",
|
|
"createdAt"
|
|
],
|
|
"attests": "an artifact (digest) was produced from a non-empty list of parents (digests), by a process (digest), by an actor",
|
|
"added": "2026-09-28",
|
|
"vector": "provenance.json"
|
|
},
|
|
{
|
|
"kind": "ai",
|
|
"statementKind": "aere-proof-of-ai",
|
|
"envelopeKind": "aere-proof-of-ai-attestation",
|
|
"fields": [
|
|
{
|
|
"name": "model",
|
|
"type": "object {name, version|null, weightsSha256|null}"
|
|
},
|
|
{
|
|
"name": "promptHash",
|
|
"type": "digest|null"
|
|
},
|
|
{
|
|
"name": "inputHash",
|
|
"type": "digest|null"
|
|
},
|
|
{
|
|
"name": "outputHash",
|
|
"type": "digest|null"
|
|
},
|
|
{
|
|
"name": "tools",
|
|
"type": "list of tool names"
|
|
},
|
|
{
|
|
"name": "agentId",
|
|
"type": "plain|null"
|
|
},
|
|
{
|
|
"name": "requesterHash",
|
|
"type": "digest|null"
|
|
}
|
|
],
|
|
"required": [
|
|
"model.name",
|
|
"createdAt"
|
|
],
|
|
"attests": "an AI action: which model and version, which prompt, input and output (digests), which tools, which agent, who asked",
|
|
"vector": "ai.json"
|
|
}
|
|
]
|
|
}
|