{
  "schema": "aere-capabilities/1",
  "title": "Aere Network capabilities, in three states",
  "canonicalUrl": "https://aere.network/capabilities.json",
  "page": "https://aere.network/capabilities.html",
  "generatedAt": "2026-10-18",
  "generatedAtMeans": "The UTC day of the newest committed change to the sources of this file. Every entry was checked against its evidence when the file was built, and the build refuses to write it when one check fails; rerun the checks yourself rather than trusting the date.",
  "notes": [
    "No component on this page has been through a third-party security audit.",
    "One operator, the Aere Foundation, runs every validator of chain 2800, the network under the four lines."
  ],
  "states": {
    "live": {
      "label": "Live, verifiable now",
      "definition": "In production or published, and checkable today by anyone, alone: a claim the public checker runs against the live chain, a published module with its test and the result its README states, or a public service answering a request you can make.",
      "count": 31
    },
    "demonstrated": {
      "label": "Demonstrated, not activated",
      "definition": "Public code and results you can reproduce, running on the public testnet or in a laboratory, not in production. The entry says where it runs and how to reproduce it.",
      "count": 6
    },
    "planned": {
      "label": "Planned",
      "definition": "A design or a direction, not delivered. The entry says what is missing and does not say when it will exist.",
      "count": 4
    }
  },
  "lines": [
    {
      "id": "shield",
      "name": "Aere Shield",
      "short": "Shield",
      "summary": "Find every vulnerable key, certificate and protocol in an organization, plan the post-quantum migration, and keep a verifiable report of what changed.",
      "page": "https://aere.network/aere-shield.html",
      "counts": {
        "live": 8,
        "demonstrated": 0,
        "planned": 0
      }
    },
    {
      "id": "agents",
      "name": "Aere Agents",
      "short": "Agents",
      "summary": "A post-quantum identity, bounded permissions, payments and a record anyone can check, for AI agents and machines.",
      "page": "https://aere.network/aere-agents.html",
      "counts": {
        "live": 2,
        "demonstrated": 2,
        "planned": 0
      }
    },
    {
      "id": "identity",
      "name": "Aere Identity",
      "short": "Identity",
      "summary": "Prove who you are, what you are allowed to do or that a fact about you holds, without handing over your data; verifiable offline, on open standards.",
      "page": "https://aere.network/aere-identity.html",
      "counts": {
        "live": 5,
        "demonstrated": 0,
        "planned": 2
      }
    },
    {
      "id": "proof",
      "name": "Aere Proof",
      "short": "Proof",
      "summary": "A proof of what was signed and when, for any document, dataset, model output or software release, verifiable offline by anyone.",
      "page": "https://aere.network/aere-proof.html",
      "counts": {
        "live": 9,
        "demonstrated": 0,
        "planned": 0
      }
    },
    {
      "id": "engine",
      "name": "The engine: chain 2800",
      "short": "Engine",
      "summary": "The public network under the four lines, with post-quantum certificates under its blocks. It is not sold; it is the notary the proofs rely on, and anyone can measure it.",
      "page": "https://aere.network/developers.html",
      "counts": {
        "live": 7,
        "demonstrated": 4,
        "planned": 2
      }
    }
  ],
  "counts": {
    "total": 41,
    "live": 31,
    "demonstrated": 6,
    "planned": 4
  },
  "capabilities": [
    {
      "id": "shield-readiness",
      "line": "shield",
      "name": "Post-quantum readiness of a public hostname",
      "state": "live",
      "what": "Opens real TLS connections to one public hostname and reports whether its edge offers, and prefers, the hybrid post-quantum key exchange, with its HSTS policy and its certificate.",
      "evidence": [
        {
          "kind": "http",
          "url": "https://cloud.aere.network/v1/pq/readiness/aere.network",
          "expect": {
            "status": 200,
            "json": {
              "domain": "aere.network"
            },
            "jsonHas": [
              "summary.pqKeyExchange",
              "measuredAt"
            ]
          },
          "note": "the measurement of one hostname, as JSON; the form at /quantum-readiness.html runs it for yours",
          "checkedAtBuild": "passed"
        },
        {
          "kind": "module",
          "repository": "https://git.aere.network/aere-network/aere-quantum",
          "path": "readiness",
          "url": "https://git.aere.network/aere-network/aere-quantum/src/branch/main/readiness",
          "tests": [
            {
              "label": "tests",
              "result": "6/6",
              "run": "node proba-adrese-private.mjs"
            }
          ],
          "resultsAre": "as the repository README states at its public main branch",
          "checkedAtBuild": "passed"
        }
      ],
      "limits": "It measures the public TLS edge of one hostname on port 443; it is not an audit of the systems behind it."
    },
    {
      "id": "shield-inventory",
      "line": "shield",
      "name": "Cryptographic inventory of source code",
      "state": "live",
      "what": "Reads a source tree in seven programming languages, plus key files and dependency manifests, and lists every use of cryptography, classified by its exposure to a quantum computer and written as a CycloneDX 1.6 cryptographic bill of materials.",
      "evidence": [
        {
          "kind": "module",
          "repository": "https://git.aere.network/aere-network/aere-quantum",
          "path": "crypto-inventory",
          "url": "https://git.aere.network/aere-network/aere-quantum/src/branch/main/crypto-inventory",
          "tests": [
            {
              "label": "tests",
              "result": "68/68",
              "run": "node test/proba.mjs"
            },
            {
              "label": "negative control",
              "result": "35/35",
              "run": "node test/control-negativ.mjs"
            }
          ],
          "resultsAre": "as the repository README states at its public main branch",
          "checkedAtBuild": "passed"
        }
      ],
      "limits": "A static reading: an algorithm chosen at run time, or taken from configuration outside the tree, is reported as unknown, not guessed."
    },
    {
      "id": "shield-exposure-report",
      "line": "shield",
      "name": "Quantum exposure report for Bitcoin and Ethereum addresses",
      "state": "live",
      "what": "Classifies addresses by whether their public key is already readable from chain data, names the evidence for each, and writes a dated report bound in a verifiable proof envelope.",
      "evidence": [
        {
          "kind": "module",
          "repository": "https://git.aere.network/aere-network/aere-quantum",
          "path": "exposure-report",
          "url": "https://git.aere.network/aere-network/aere-quantum/src/branch/main/exposure-report",
          "tests": [
            {
              "label": "rows",
              "result": "153 passed, 0 red, 0 broken",
              "run": "npm install --ignore-scripts && node proba-expunere.mjs",
              "note": "in the public copy; twelve more rows report themselves unmeasured, each with its reason, because they compare against files that are not in that repository"
            }
          ],
          "resultsAre": "as the repository README states at its public main branch",
          "checkedAtBuild": "passed"
        }
      ],
      "limits": "It records what was readable on the date of the report; it does not protect, move or recover any coins, and it says nothing about the future."
    },
    {
      "id": "shield-pki",
      "line": "shield",
      "name": "Post-quantum certificate authority",
      "state": "live",
      "what": "A private certificate authority that issues ML-DSA X.509 v3 certificates as RFC 9881 specifies, with revocation lists and a strict chain verifier whose verdicts are compared with OpenSSL.",
      "evidence": [
        {
          "kind": "module",
          "repository": "https://git.aere.network/aere-network/aere-quantum",
          "path": "pq-pki",
          "url": "https://git.aere.network/aere-network/aere-quantum/src/branch/main/pq-pki",
          "tests": [
            {
              "label": "tests",
              "result": "27/27",
              "run": "node test/proba.mjs"
            },
            {
              "label": "negative control",
              "result": "22/22",
              "run": "node test/control-negativ.mjs"
            }
          ],
          "resultsAre": "as the repository README states at its public main branch",
          "checkedAtBuild": "passed"
        }
      ],
      "limits": "It issues pure ML-DSA certificates, not composite hybrid ones, which are still IETF drafts; the CA key is protected by a passphrase on disk, not by an HSM."
    },
    {
      "id": "shield-kms",
      "line": "shield",
      "name": "Hybrid key management service",
      "state": "live",
      "what": "A key service in which every key is hybrid: X25519 with ML-KEM-768 for encryption and Ed25519 with ML-DSA-65 for signatures, both halves required, with versions, rotation, rewrapping and a chained audit log.",
      "evidence": [
        {
          "kind": "module",
          "repository": "https://git.aere.network/aere-network/aere-quantum",
          "path": "pq-kms",
          "url": "https://git.aere.network/aere-network/aere-quantum/src/branch/main/pq-kms",
          "tests": [
            {
              "label": "tests",
              "result": "62/62",
              "run": "node test/proba.mjs"
            },
            {
              "label": "negative control",
              "result": "16/16",
              "run": "node test/control-negativ.mjs"
            }
          ],
          "resultsAre": "as the repository README states at its public main branch",
          "checkedAtBuild": "passed"
        }
      ],
      "limits": "It is not an HSM itself; its root key can be sealed by an HSM through PKCS#11, which has been tested with a software HSM and not yet with a physical one."
    },
    {
      "id": "shield-secrets",
      "line": "shield",
      "name": "Secrets service with request-bound authorization",
      "state": "live",
      "what": "Named secrets with versions, each under its own data key in the hybrid key service; every request is authorized by an identity presentation signed for that exact request and by a per-secret policy, never by the network or a bearer token, and every operation, allowed or refused, is recorded as a signed proof envelope.",
      "evidence": [
        {
          "kind": "module",
          "repository": "https://git.aere.network/aere-network/aere-quantum",
          "path": "pq-secrets",
          "url": "https://git.aere.network/aere-network/aere-quantum/src/branch/main/pq-secrets",
          "tests": [
            {
              "label": "tests",
              "result": "43/43",
              "run": "AERE_VERIFY_PROOF=<verify-proof.mjs> node test/proba-secrete.mjs"
            },
            {
              "label": "negative control",
              "result": "43/43",
              "run": "node test/control-negativ-secrete.mjs"
            }
          ],
          "resultsAre": "as the repository README states at its public main branch",
          "checkedAtBuild": "passed"
        }
      ],
      "limits": "It is not zero trust towards its own host, has no HSM of its own, and does not detect a data directory put back to an older state."
    },
    {
      "id": "shield-gateway",
      "line": "shield",
      "name": "TLS 1.3 gateway with hybrid key exchange",
      "state": "live",
      "what": "A terminating proxy that puts the X25519MLKEM768 key exchange in front of any HTTP service; in hybrid-only mode a classical client is refused at the handshake, in hybrid-preferred mode it keeps working.",
      "evidence": [
        {
          "kind": "module",
          "repository": "https://git.aere.network/aere-network/aere-quantum",
          "path": "pq-gateway",
          "url": "https://git.aere.network/aere-network/aere-quantum/src/branch/main/pq-gateway",
          "tests": [
            {
              "label": "tests",
              "result": "33/33",
              "run": "node proba-pq-gateway.mjs"
            },
            {
              "label": "negative control",
              "result": "33/33",
              "run": "bash proba-pq-gateway-control-negativ.sh"
            }
          ],
          "resultsAre": "as the repository README states at its public main branch",
          "checkedAtBuild": "passed"
        }
      ],
      "limits": "It protects the key exchange; the server is still authenticated by a classical certificate unless an ML-DSA chain is served, and many browsers cannot verify ML-DSA certificates yet."
    },
    {
      "id": "shield-control-plane",
      "line": "shield",
      "name": "Migration plan, execution and remediation",
      "state": "live",
      "what": "Turns the inventory and the scan into a prioritized plan, carries out each action through the gateway, the key service and the certificate authority with consent per action and a measurement afterwards, and gives configuration recipes for the servers those products do not touch, judged by a rescan.",
      "evidence": [
        {
          "kind": "module",
          "repository": "https://git.aere.network/aere-network/aere-quantum",
          "path": "control-plane",
          "url": "https://git.aere.network/aere-network/aere-quantum/src/branch/main/control-plane",
          "tests": [
            {
              "label": "execution",
              "result": "execution 30/30 on real products started locally",
              "run": "node proba-executa-migrare.mjs"
            },
            {
              "label": "remediation",
              "result": "remediation 33/33 on real TLS servers",
              "run": "node proba-remediere.mjs"
            },
            {
              "label": "console",
              "result": "console 8/8",
              "run": "node proba-consola.mjs"
            },
            {
              "label": "negative control",
              "result": "remediation 7/7",
              "run": "node control-negativ-remediere.mjs"
            }
          ],
          "resultsAre": "as the repository README states at its public main branch",
          "checkedAtBuild": "passed"
        }
      ],
      "limits": "It does not change your DNS, ports or firewall, does not issue public WebPKI certificates and does not delete keys; a public WebPKI certificate cannot be reissued post-quantum today."
    },
    {
      "id": "agents-identity-policy",
      "line": "agents",
      "name": "Agent identity, policy and signed record",
      "state": "live",
      "what": "An ML-DSA-65 identity for each agent, a policy for spending, tools, recipients and the actions that need a person's approval, and a signed ledger of every action that a verifier re-judges against the policy without trusting the agent.",
      "evidence": [
        {
          "kind": "module",
          "repository": "https://git.aere.network/aere-network/aere-quantum",
          "path": "agents",
          "url": "https://git.aere.network/aere-network/aere-quantum/src/branch/main/agents",
          "tests": [
            {
              "label": "policy",
              "result": "27/27",
              "run": "AERE_VERIFY_PROOF=<verify-proof.mjs> node proba-agent-policy.mjs"
            },
            {
              "label": "ledger",
              "result": "54/54",
              "run": "node proba-agent-ledger.mjs"
            },
            {
              "label": "approval and revocation",
              "result": "39/39",
              "run": "node proba-agent-aprobare.mjs"
            },
            {
              "label": "negative control",
              "result": "26/26",
              "run": "node control-negativ-aprobare.mjs"
            }
          ],
          "resultsAre": "as the repository README states at its public main branch",
          "checkedAtBuild": "passed"
        }
      ],
      "limits": "A ledger says what the agent did and whether its policy allowed it; it does not score, rank or vouch for the agent."
    },
    {
      "id": "agents-ai-trust",
      "line": "agents",
      "name": "Trust record of an AI result",
      "state": "live",
      "what": "Joins the agent's identity, the attestation of the model artifact, the host's runtime record, the policy and ledger and the provenance envelope of the action into one bundle, and checks the links between them.",
      "evidence": [
        {
          "kind": "module",
          "repository": "https://git.aere.network/aere-network/aere-quantum",
          "path": "ai-trust",
          "url": "https://git.aere.network/aere-network/aere-quantum/src/branch/main/ai-trust",
          "tests": [
            {
              "label": "tests",
              "result": "16/16",
              "run": "AERE_VERIFY_PROOF=<verify-proof.mjs> node proba-lant-de-incredere.mjs"
            },
            {
              "label": "negative control",
              "result": "11/11",
              "run": "node proba-lant-de-incredere.mjs --control-negativ"
            }
          ],
          "resultsAre": "as the repository README states at its public main branch",
          "checkedAtBuild": "passed"
        }
      ],
      "limits": "It checks that the links hold; it does not judge whether the model's output is correct."
    },
    {
      "id": "agents-chain-witness",
      "line": "agents",
      "name": "The chain as witness of an agent's ledger",
      "state": "demonstrated",
      "what": "The head of an agent's ledger is notarized and read back under a post-quantum certified anchor, which bounds the time of every entry from below, so a backdated entry is caught.",
      "runsOn": "The public testnet, chain 28001.",
      "evidence": [
        {
          "kind": "module",
          "repository": "https://git.aere.network/aere-network/aere-quantum",
          "path": "agents",
          "url": "https://git.aere.network/aere-network/aere-quantum/src/branch/main/agents",
          "tests": [
            {
              "label": "on the public testnet",
              "result": "7/7",
              "run": "AERE_TESTNET_KEY_FILE=<funded testnet key> node proba-agent-ancora-testnet.mjs"
            },
            {
              "label": "without a network",
              "result": "26/26",
              "run": "node proba-agent-ancora.mjs"
            },
            {
              "label": "negative control",
              "result": "11/11",
              "run": "node control-negativ-ancora.mjs"
            }
          ],
          "resultsAre": "as the repository README states at its public main branch",
          "checkedAtBuild": "passed"
        }
      ],
      "limits": "The published measurement is on the public testnet only."
    },
    {
      "id": "agents-x402",
      "line": "agents",
      "name": "Machine payments over HTTP 402",
      "state": "demonstrated",
      "what": "An agent wallet that pays over x402 only what the agent's ledger records and its policy allows, either holding the payment key for the owner or co-signing from a 2-of-2 contract wallet that neither the agent nor the owner can spend alone.",
      "runsOn": "The public testnet, chain 28001, through a facilitator settling a test dollar.",
      "evidence": [
        {
          "kind": "http",
          "url": "https://testnet-rpc.aere.network/x402/supported",
          "expect": {
            "status": 200,
            "json": {
              "kinds.0.network": "eip155:28001"
            }
          },
          "note": "the testnet facilitator names its network",
          "checkedAtBuild": "passed"
        },
        {
          "kind": "module",
          "repository": "https://git.aere.network/aere-network/aere-quantum",
          "path": "agents/x402",
          "url": "https://git.aere.network/aere-network/aere-quantum/src/branch/main/agents/x402",
          "tests": [
            {
              "label": "on the public testnet, wallet key",
              "result": "9/9",
              "run": "AERE_TESTNET_KEY_FILE=<funded testnet key> node proba-x402-testnet.mjs"
            },
            {
              "label": "on the public testnet, 2-of-2 wallet",
              "result": "13/13",
              "run": "AERE_TESTNET_KEY_FILE=<funded testnet key> node proba-cosign-testnet.mjs"
            },
            {
              "label": "without a network",
              "result": "25/25",
              "run": "node proba-wallet.mjs"
            },
            {
              "label": "negative control",
              "result": "30/30",
              "run": "node control-negativ-wallet.mjs"
            }
          ],
          "resultsAre": "as the repository README states at its public main branch",
          "checkedAtBuild": "passed"
        }
      ],
      "limits": "No machine-payment service runs on chain 2800."
    },
    {
      "id": "identity-credentials",
      "line": "identity",
      "name": "Post-quantum credentials with selective disclosure",
      "state": "live",
      "what": "An issuer signs claims with a hybrid Ed25519 and ML-DSA-65 key, both required; the holder shows only the claims a verifier needs, bound to that verifier; delegation to a device, an agent or a short-lived session key, revocation and an issuer status list, all checked offline.",
      "evidence": [
        {
          "kind": "module",
          "repository": "https://git.aere.network/aere-network/aere-quantum",
          "path": "identity",
          "url": "https://git.aere.network/aere-network/aere-quantum/src/branch/main/identity",
          "tests": [
            {
              "label": "tests",
              "result": "52/52",
              "run": "AERE_VERIFY_PROOF=<verify-proof.mjs> node proba-identity.mjs"
            },
            {
              "label": "negative control",
              "result": "57/57",
              "run": "node control-negativ-identity.mjs"
            }
          ],
          "resultsAre": "as the repository README states at its public main branch",
          "checkedAtBuild": "passed"
        }
      ],
      "limits": "It is not a zero-knowledge proof: a claim that is shown is shown whole, so a birth date shows the date."
    },
    {
      "id": "identity-sd-jwt",
      "line": "identity",
      "name": "Standard SD-JWT and SD-JWT VC",
      "state": "live",
      "what": "The same keys issue and verify standard SD-JWT as RFC 9901 specifies, presented with a key-binding JWT, and the SD-JWT VC profile with a token status list judged offline; interoperability is measured in both directions with an independent open-source implementation.",
      "evidence": [
        {
          "kind": "module",
          "repository": "https://git.aere.network/aere-network/aere-quantum",
          "path": "identity",
          "url": "https://git.aere.network/aere-network/aere-quantum/src/branch/main/identity",
          "tests": [
            {
              "label": "SD-JWT",
              "result": "SD-JWT 25/25",
              "run": "node proba-sdjwt.mjs"
            },
            {
              "label": "SD-JWT VC",
              "result": "SD-JWT VC 10/10",
              "run": "node proba-sdjwt-vc.mjs"
            },
            {
              "label": "negative control",
              "result": "SD-JWT 31/31",
              "run": "node control-negativ-sdjwt.mjs"
            }
          ],
          "resultsAre": "as the repository README states at its public main branch",
          "checkedAtBuild": "passed"
        }
      ],
      "limits": "The SD-JWT VC profile follows an IETF draft that can still change, and no European digital identity wallet has been tested against it."
    },
    {
      "id": "identity-travel-rule",
      "line": "identity",
      "name": "Travel Rule messages between virtual asset service providers",
      "state": "live",
      "what": "Originator and beneficiary data in the IVMS101 format, sealed for the receiving provider with hybrid X25519 and ML-KEM-768 key encapsulation, signed, bound to the transfer and acknowledged.",
      "evidence": [
        {
          "kind": "module",
          "repository": "https://git.aere.network/aere-network/aere-quantum",
          "path": "identity",
          "url": "https://git.aere.network/aere-network/aere-quantum/src/branch/main/identity",
          "tests": [
            {
              "label": "tests",
              "result": "Travel Rule 20/20",
              "run": "node proba-travel-rule.mjs"
            },
            {
              "label": "negative control",
              "result": "Travel Rule 20/20",
              "run": "node control-negativ-travel-rule.mjs"
            }
          ],
          "resultsAre": "as the repository README states at its public main branch",
          "checkedAtBuild": "passed"
        }
      ],
      "limits": "A message format and its verification, not a network: it does not validate the IVMS101 schema, and no provider exchanges these messages through Aere today."
    },
    {
      "id": "identity-compliance",
      "line": "identity",
      "name": "Compliance check without personal data",
      "state": "live",
      "what": "A verifier's policy, such as trusted issuers and required claims, judged on a presentation and recorded as a verifiable envelope that carries no personal data.",
      "evidence": [
        {
          "kind": "module",
          "repository": "https://git.aere.network/aere-network/aere-quantum",
          "path": "identity",
          "url": "https://git.aere.network/aere-network/aere-quantum/src/branch/main/identity",
          "tests": [
            {
              "label": "tests",
              "result": "compliance 18/18",
              "run": "node proba-conformitate.mjs"
            },
            {
              "label": "negative control",
              "result": "compliance 17/17",
              "run": "node control-negativ-conformitate.mjs"
            }
          ],
          "resultsAre": "as the repository README states at its public main branch",
          "checkedAtBuild": "passed"
        }
      ],
      "limits": "It records that a policy was met, not who the person is; it is not a sanctions screening or an identity verification service."
    },
    {
      "id": "identity-devices",
      "line": "identity",
      "name": "Identity of devices",
      "state": "live",
      "what": "A chain of signed statements about a machine (who made it, which firmware it runs, who owns it, what it may do, whether it is still in service, and a fresh attestation) judged offline by one verifier that names every rule that refused.",
      "evidence": [
        {
          "kind": "module",
          "repository": "https://git.aere.network/aere-network/aere-quantum",
          "path": "device-identity",
          "url": "https://git.aere.network/aere-network/aere-quantum/src/branch/main/device-identity",
          "tests": [
            {
              "label": "tests",
              "result": "372/372",
              "run": "AERE_VERIFY_PROOF=<verify-proof.mjs> node proba-device.mjs"
            },
            {
              "label": "negative control",
              "result": "220/220",
              "run": "node control-negativ-device.mjs"
            }
          ],
          "resultsAre": "as the repository README states at its public main branch",
          "checkedAtBuild": "passed"
        }
      ],
      "limits": "The device key is a software key: no TPM, secure element or trusted execution environment is used or checked."
    },
    {
      "id": "identity-eu-wallets",
      "line": "identity",
      "name": "Interoperation with European digital identity wallets",
      "state": "planned",
      "what": "Credentials exchanged with the wallets of the European Digital Identity framework, including the ISO/IEC 18013-5 mobile document format.",
      "evidence": [],
      "limits": "Not built and not tested with any wallet; the SD-JWT VC profile above is the part that exists."
    },
    {
      "id": "identity-hardware-keys",
      "line": "identity",
      "name": "Device keys held in hardware",
      "state": "planned",
      "what": "Device identities whose keys live in a TPM, a secure element or a trusted execution environment, with the hardware's own attestation checked.",
      "evidence": [],
      "limits": "Not built; device keys are software keys today."
    },
    {
      "id": "proof-aip23",
      "line": "proof",
      "name": "One proof format and its reference verifier (AIP-23)",
      "state": "live",
      "what": "An envelope with a statement, its hash, an ML-DSA signature and, when it claims one, a notarization, checked by one public verifier in levels (form, integrity, signature, finality, witness) that names every reason it refuses.",
      "evidence": [
        {
          "kind": "run",
          "tool": "https://aere.network/tools/verify-proof.mjs",
          "commands": "curl \\\n  -O https://aere.network/tools/verify-proof.mjs \\\n  -O https://aere.network/tools/martor-notar-verifica.mjs \\\n  -O https://aere.network/tools/sample-witness.json \\\n  -O https://aere.network/tools/verify-anchor.mjs \\\n  -O https://aere.network/tools/mpt.mjs \\\n  -O https://aere.network/tools/falcon512.mjs \\\n  -O https://aere.network/tools/registry-v3.mjs \\\n  -O https://aere.network/tools/package.json\nnpm install\nnode verify-proof.mjs sample-witness.json --live",
          "expectLinesMatching": [
            "^VERDICT: VALID$"
          ],
          "note": "prints VERDICT: VALID for the sample envelope served beside the verifier",
          "checkedAtBuild": "passed"
        },
        {
          "kind": "code",
          "repository": "https://git.aere.network/aere-network/aere-research",
          "path": "aips/AIP-23.md",
          "url": "https://git.aere.network/aere-network/aere-research/src/branch/main/aips/AIP-23.md",
          "checkedAtBuild": "passed"
        },
        {
          "kind": "module",
          "repository": "https://git.aere.network/aere-network/aere-quantum",
          "path": "proof-kinds",
          "url": "https://git.aere.network/aere-network/aere-quantum/src/branch/main/proof-kinds",
          "tests": [
            {
              "label": "tests",
              "result": "28/28",
              "run": "AERE_VERIFY_PROOF=<verify-proof.mjs> node proba-proof-kinds.mjs"
            }
          ],
          "resultsAre": "as the repository README states at its public main branch",
          "checkedAtBuild": "passed"
        }
      ],
      "limits": "A proof says which bytes were signed, by which key and when; it does not say that the content is true."
    },
    {
      "id": "proof-browser",
      "line": "proof",
      "name": "The same verifier in your browser, offline",
      "state": "live",
      "what": "A browser build of the reference verifier checks an envelope's form, integrity and post-quantum signature on your device and sends nothing anywhere.",
      "evidence": [
        {
          "kind": "http",
          "url": "https://aere.network/verify.html",
          "expect": {
            "status": 200,
            "contains": [
              "Verify on this device",
              "/js/p/verify-proof.browser.js?v="
            ]
          },
          "note": "open it, load the sample proof, and verify it with the network switched off",
          "checkedAtBuild": "passed"
        }
      ],
      "limits": "The levels that need the chain or Bitcoin are reported as unmeasured in the browser, never as passed."
    },
    {
      "id": "proof-notary",
      "line": "proof",
      "name": "Notarization on chain 2800",
      "state": "live",
      "what": "A document's hash is recorded on chain 2800 through the AereNotary contract, under a post-quantum certified anchor; the document itself never leaves your hands.",
      "evidence": [
        {
          "kind": "rpc",
          "url": "https://rpc.aere.network",
          "request": {
            "jsonrpc": "2.0",
            "id": 1,
            "method": "eth_getLogs",
            "params": [
              {
                "address": "0x4aB392c4Aca7D9D4C16c0b60a9514c5025bd58c7",
                "fromBlock": "0x1223162",
                "toBlock": "0x1223162"
              }
            ]
          },
          "expect": {
            "result.0.address": "0x4ab392c4aca7d9d4c16c0b60a9514c5025bd58c7",
            "result.0.blockNumber": "0x1223162"
          },
          "note": "a notarization recorded by AereNotary in block 19,018,082",
          "checkedAtBuild": "passed"
        },
        {
          "kind": "http",
          "url": "https://aere.network/notary-check.html",
          "expect": {
            "status": 200,
            "contains": [
              "0x4aB392c4Aca7D9D4C16c0b60a9514c5025bd58c7"
            ]
          },
          "note": "check a notarization by its hash",
          "checkedAtBuild": "passed"
        }
      ],
      "limits": "It is not a proof that the time recorded on chain 2800 is the true time; the Bitcoin witness below bounds it independently, from above."
    },
    {
      "id": "proof-bitcoin-witness",
      "line": "proof",
      "name": "A Bitcoin witness for every notarization",
      "state": "live",
      "what": "Notarizations are gathered into Merkle lots whose roots are timestamped in Bitcoin through OpenTimestamps, so each one can be shown to have existed by the time of a Bitcoin block, a witness that does not depend on Aere.",
      "evidence": [
        {
          "kind": "run",
          "tool": "https://aere.network/tools/verify-proof.mjs",
          "commands": "node verify-proof.mjs sample-witness.json --live",
          "expectLinesMatching": [
            "^\\s*\\[PASSED\\s*\\] witness: .*committed in Bitcoin block \\d+"
          ],
          "note": "with the files fetched as for the proof verifier above; the witness level reads PASSED, with the Bitcoin block it names confirmed by two public block explorers",
          "checkedAtBuild": "passed"
        }
      ],
      "limits": "A new notarization is witnessed hours after it is made, not at once; offline, the witness can be judged only against a Bitcoin block header you bring."
    },
    {
      "id": "proof-conformance",
      "line": "proof",
      "name": "Conformance suite for proof verifiers",
      "state": "live",
      "what": "One verdict form over the published verifiers: rules read from their code, vectors derived from the producers, each invalid vector one change away from a valid one, and a runner that scores any implementation given as a command, in any language.",
      "evidence": [
        {
          "kind": "module",
          "repository": "https://git.aere.network/aere-network/aere-quantum",
          "path": "conformance",
          "url": "https://git.aere.network/aere-network/aere-quantum/src/branch/main/conformance",
          "tests": [
            {
              "label": "tests from a fresh clone",
              "result": "11/11",
              "run": "AERE_VERIFY_PROOF=<verify-proof.mjs> node proba-conformance.mjs --online"
            },
            {
              "label": "vectors",
              "result": "the published verifiers pass 626/626",
              "run": "AERE_VERIFY_PROOF=<verify-proof.mjs> node proba-conformance.mjs --online"
            },
            {
              "label": "negative control",
              "result": "322/322",
              "run": "AERE_VERIFY_PROOF=<verify-proof.mjs> node proba-conformance.mjs --control-negativ --online"
            }
          ],
          "resultsAre": "as the repository README states at its public main branch",
          "checkedAtBuild": "passed"
        }
      ],
      "limits": "It is not a certification and not an audit."
    },
    {
      "id": "proof-software",
      "line": "proof",
      "name": "Proof of Software",
      "state": "live",
      "what": "An attestation of a software release made from the committed bytes, so that a stranger can rebuild the artifact and compare it byte for byte, with software bills of materials derived from the committed lock files.",
      "evidence": [
        {
          "kind": "module",
          "repository": "https://git.aere.network/aere-network/aere-proof-of-software",
          "path": "tools/proof-of-software",
          "url": "https://git.aere.network/aere-network/aere-proof-of-software/src/branch/main/tools/proof-of-software",
          "tests": [
            {
              "label": "attestation and verification",
              "result": "16/16",
              "run": "cd sdk-pq-sign && npm ci --ignore-scripts && cd .. && node tools/proof-of-software/test/pos.test.mjs"
            }
          ],
          "resultsAre": "as the repository README states at its public main branch",
          "checkedAtBuild": "passed"
        },
        {
          "kind": "module",
          "repository": "https://git.aere.network/aere-network/aere-proof-of-software",
          "path": "sdk-pq-sign",
          "url": "https://git.aere.network/aere-network/aere-proof-of-software/src/branch/main/sdk-pq-sign",
          "tests": [
            {
              "label": "hybrid signature library",
              "result": "34/34",
              "run": "node sdk-pq-sign/test/pq-sign.test.mjs"
            }
          ],
          "resultsAre": "as the repository README states at its public main branch",
          "checkedAtBuild": "passed"
        }
      ],
      "limits": "It shows what was built from which commit and by whose key; it does not review the code for defects."
    },
    {
      "id": "proof-of-ai",
      "line": "proof",
      "name": "Proof of AI",
      "state": "live",
      "what": "The provenance of an AI agent's action (model, version, weights digest, prompt, input, output, tools, agent and requester) recorded as digests in an envelope that the same reference verifier checks.",
      "evidence": [
        {
          "kind": "module",
          "repository": "https://git.aere.network/aere-network/aere-quantum",
          "path": "proof-of-ai",
          "url": "https://git.aere.network/aere-network/aere-quantum/src/branch/main/proof-of-ai",
          "tests": [
            {
              "label": "tests",
              "result": "6/6",
              "run": "AERE_VERIFY_PROOF=<verify-proof.mjs> node proba-proof-of-ai.mjs"
            }
          ],
          "resultsAre": "as the repository README states at its public main branch",
          "checkedAtBuild": "passed"
        }
      ],
      "limits": "It is not deepfake detection: it proves which output was recorded, not that it is true."
    },
    {
      "id": "proof-audit-log",
      "line": "proof",
      "name": "Signed audit log for any deployment",
      "state": "live",
      "what": "Entries are proof envelopes in a hash chain and in a Merkle tree with inclusion and consistency proofs; the runtime adapter records every running container without any secret value, and the head can be signed by the operator and notarized on chain 2800.",
      "evidence": [
        {
          "kind": "module",
          "repository": "https://git.aere.network/aere-network/aere-quantum",
          "path": "verify-layer",
          "url": "https://git.aere.network/aere-network/aere-quantum/src/branch/main/verify-layer",
          "tests": [
            {
              "label": "tests",
              "result": "45/45",
              "run": "AERE_VERIFY_PROOF=<verify-proof.mjs> node proba-sidecar.mjs"
            },
            {
              "label": "Merkle tree",
              "result": "20/20",
              "run": "node proba-arbore.mjs"
            },
            {
              "label": "negative control",
              "result": "37/37",
              "run": "node control-negativ-sidecar.mjs"
            }
          ],
          "resultsAre": "as the repository README states at its public main branch",
          "checkedAtBuild": "passed"
        }
      ],
      "limits": "It proves the history before a published head; it does not prove that the host told the truth."
    },
    {
      "id": "proof-verifiable-data",
      "line": "proof",
      "name": "Verifiable datasets",
      "state": "live",
      "what": "A dataset whose answers are checked against a short commitment: equality and range queries proven correct and complete, selective disclosure of fields, and versions committed append-only.",
      "evidence": [
        {
          "kind": "module",
          "repository": "https://git.aere.network/aere-network/aere-quantum",
          "path": "verifiable-data",
          "url": "https://git.aere.network/aere-network/aere-quantum/src/branch/main/verifiable-data",
          "tests": [
            {
              "label": "tests",
              "result": "23/23",
              "run": "AERE_VERIFY_PROOF=<verify-proof.mjs> node proba-verifiable-data.mjs"
            },
            {
              "label": "negative control",
              "result": "5/5",
              "run": "node proba-verifiable-data.mjs --control-negativ"
            }
          ],
          "resultsAre": "as the repository README states at its public main branch",
          "checkedAtBuild": "passed"
        }
      ],
      "limits": "It is not zero knowledge: a proven answer reveals the records it returns."
    },
    {
      "id": "engine-chain",
      "line": "engine",
      "name": "A public network with single-slot finality",
      "state": "live",
      "what": "Chain 2800 runs QBFT with ten validators: a block is final once a quorum of seven has committed to it, a new block comes in under a second, and anyone can read it over JSON-RPC.",
      "evidence": [
        {
          "kind": "claim",
          "id": "chain-identity",
          "file": "https://aere.network/verifiable-claims.json",
          "checker": "https://aere.network/verifiable-claims-check.py",
          "checkerSections": [
            1
          ],
          "checkedAtBuild": "passed"
        },
        {
          "kind": "claim",
          "id": "block-interval",
          "file": "https://aere.network/verifiable-claims.json",
          "checker": "https://aere.network/verifiable-claims-check.py",
          "checkerSections": [
            2
          ],
          "checkedAtBuild": "passed"
        },
        {
          "kind": "claim",
          "id": "qbft-validator-set-from-header",
          "file": "https://aere.network/verifiable-claims.json",
          "checker": "https://aere.network/verifiable-claims-check.py",
          "checkerSections": [
            3
          ],
          "checkedAtBuild": "passed"
        }
      ],
      "limits": "One operator, the Aere Foundation, runs all ten validators: the number of independent parties that would have to agree to stop the network is one."
    },
    {
      "id": "engine-two-clients",
      "line": "engine",
      "name": "Two independent client implementations",
      "state": "live",
      "what": "Of the ten validators, nine run a client derived from Hyperledger Besu and one runs an independent client derived from Nethermind, written in another language on another codebase; both propose blocks on the live chain.",
      "evidence": [
        {
          "kind": "probe",
          "name": "header-writers",
          "url": "https://rpc.aere.network",
          "blocks": 60,
          "commands": "curl -s https://rpc.aere.network -H 'content-type: application/json' --data '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"eth_getBlockByNumber\",\"params\":[\"latest\",false]}'",
          "note": "repeat for 60 consecutive blocks and read item 0 of the RLP list in extraData: blocks from the Besu-derived client carry the client's version string, which begins with the bytes 62657375 (besu), and the blocks of one validator carry 32 zero bytes in its place; anchor blocks carry a digest there instead",
          "checkedAtBuild": "passed"
        },
        {
          "kind": "code",
          "repository": "https://git.aere.network/aere-network/aere-client2",
          "path": "src/Nethermind/Nethermind.AerePqc",
          "url": "https://git.aere.network/aere-network/aere-client2/src/branch/main/src/Nethermind/Nethermind.AerePqc",
          "checkedAtBuild": "passed"
        }
      ],
      "limits": "With nine of the ten seats on one client, a fault in that client would still stop the chain; the public repository of the second client holds its validation code, not yet its block-producing engine."
    },
    {
      "id": "engine-pq-anchor",
      "line": "engine",
      "name": "A post-quantum certificate under the block hash",
      "state": "live",
      "what": "Every 32nd block carries a certificate of Falcon-512 signatures by at least seven of the ten validators, and every 128th block SLH-DSA-SHA2-128s signatures as well, bound under the block's own hash; each signature checks against a key the validator bound to itself with its consensus key.",
      "evidence": [
        {
          "kind": "claim",
          "id": "pq-certificate-under-block-hash",
          "file": "https://aere.network/verifiable-claims.json",
          "checker": "https://aere.network/verifiable-claims-check.py",
          "checkerSections": [],
          "checkedAtBuild": "passed"
        },
        {
          "kind": "run",
          "tool": "https://aere.network/tools/verify-anchor.mjs",
          "commands": "curl \\\n  -O https://aere.network/tools/verify-anchor.mjs \\\n  -O https://aere.network/tools/mpt.mjs \\\n  -O https://aere.network/tools/falcon512.mjs \\\n  -O https://aere.network/tools/registry-v3.mjs \\\n  -O https://aere.network/tools/package.json\nnpm install\nANCHORS=3 node verify-anchor.mjs",
          "expectLinesMatching": [
            "^VERIFIED: 3/3 anchor blocks carry a post-quantum certificate bound under the block hash"
          ],
          "note": "the three newest anchors, every seal verified against the published keys; the last line begins VERIFIED",
          "checkedAtBuild": "passed"
        }
      ],
      "limits": "Blocks between anchors are finalized by classical ECDSA signatures; a certificate shows that those validators signed the parent block, not by itself that it was decided."
    },
    {
      "id": "engine-pq-identity",
      "line": "engine",
      "name": "Post-quantum validator identity (AIP-22 stage 3)",
      "state": "live",
      "what": "Since block 20,836,228 the validator set in every block header names each validator by an id derived from its post-quantum keys, bound to them by a published registry, instead of by an ECDSA address.",
      "evidence": [
        {
          "kind": "claim",
          "id": "qbft-validator-set-from-header",
          "file": "https://aere.network/verifiable-claims.json",
          "checker": "https://aere.network/verifiable-claims-check.py",
          "checkerSections": [
            3
          ],
          "checkedAtBuild": "passed"
        },
        {
          "kind": "run",
          "tool": "https://aere.network/tools/verify-anchor.mjs",
          "commands": "ANCHORS=3 node verify-anchor.mjs",
          "expectLinesMatching": [
            "^identity: from block 20836228 the validator set holds post-quantum ids"
          ],
          "note": "with the files fetched as for the certificate above; the tool prints the line identity: from block 20836228 the validator set holds post-quantum ids",
          "checkedAtBuild": "passed"
        }
      ],
      "limits": "Node-to-node transport between the validators is still authenticated with classical secp256k1 keys."
    },
    {
      "id": "engine-pq-message-seals",
      "line": "engine",
      "name": "Post-quantum seals on consensus messages",
      "state": "live",
      "what": "Consensus messages carry post-quantum seals of their authors next to the classical signature; the commit seals are what the anchor certificates carry, so anyone can verify them there.",
      "evidence": [
        {
          "kind": "run",
          "tool": "https://aere.network/tools/verify-anchor.mjs",
          "commands": "ANCHORS=3 node verify-anchor.mjs",
          "expectLinesMatching": [
            "^seals: (\\d+)/\\1 cryptographically valid and validator-bound"
          ],
          "note": "with the files fetched as for the certificate above; every seal of the three newest certificates is valid and from a distinct validator",
          "checkedAtBuild": "passed"
        }
      ],
      "limits": "The refusal of unsealed messages happens inside the validator set and cannot be observed from outside it: the Besu-derived client, on nine of the ten seats, refuses any unsealed proposal, prepare, commit or round-change message; the second client refuses an unsealed commit and applies the rule to the other three types only from AIP-22 stage 4, which is not active on chain 2800."
    },
    {
      "id": "engine-pq-precompiles",
      "line": "engine",
      "name": "Post-quantum signature verification inside the EVM",
      "state": "live",
      "what": "Five precompiled contracts, at addresses 0x0AE1 to 0x0AE5 since block 9,189,161, verify Falcon-512, Falcon-1024, ML-DSA-44 and SLH-DSA-SHA2-128s signatures and compute SHAKE256 natively, at precompile cost.",
      "evidence": [
        {
          "kind": "claim",
          "id": "pqc-precompiles-declared",
          "file": "https://aere.network/verifiable-claims.json",
          "checker": "https://aere.network/verifiable-claims-check.py",
          "checkerSections": [
            4
          ],
          "checkedAtBuild": "passed"
        },
        {
          "kind": "claim",
          "id": "shake256-nist-kat",
          "file": "https://aere.network/verifiable-claims.json",
          "checker": "https://aere.network/verifiable-claims-check.py",
          "checkerSections": [
            5
          ],
          "checkedAtBuild": "passed"
        },
        {
          "kind": "claim",
          "id": "pqc-precompiles-execute",
          "file": "https://aere.network/verifiable-claims.json",
          "checker": "https://aere.network/verifiable-claims-check.py",
          "checkerSections": [
            6
          ],
          "checkedAtBuild": "passed"
        },
        {
          "kind": "code",
          "repository": "https://git.aere.network/aere-network/aere-node",
          "path": "precompiles",
          "url": "https://git.aere.network/aere-network/aere-node/src/branch/main/precompiles",
          "checkedAtBuild": "passed"
        }
      ],
      "limits": "A post-quantum verifier called from a transaction that is itself authorized by an ECDSA key does not make that transaction post-quantum: the outer signature remains the weak link."
    },
    {
      "id": "engine-pq-transactions",
      "line": "engine",
      "name": "Native post-quantum transactions (AIP-20)",
      "state": "live",
      "what": "Transaction type 0x50 is authorized by an ML-DSA signature instead of ECDSA; every node has accepted the type since block 19,900,000, and a transaction of this type is in block 19,900,028.",
      "evidence": [
        {
          "kind": "rpc",
          "url": "https://rpc.aere.network",
          "request": {
            "jsonrpc": "2.0",
            "id": 1,
            "method": "eth_getTransactionByHash",
            "params": [
              "0x7cb5bdaceb475a6fee881c6a68aadf69734e78c1fd5648865c4fdde243d602e5"
            ]
          },
          "expect": {
            "result.type": "0x50",
            "result.blockNumber": "0x12fa67c"
          },
          "note": "the transaction is of type 0x50, in block 19,900,028",
          "checkedAtBuild": "passed"
        },
        {
          "kind": "rpc",
          "url": "https://rpc.aere.network",
          "request": {
            "jsonrpc": "2.0",
            "id": 1,
            "method": "eth_getTransactionReceipt",
            "params": [
              "0x7cb5bdaceb475a6fee881c6a68aadf69734e78c1fd5648865c4fdde243d602e5"
            ]
          },
          "expect": {
            "result.status": "0x1"
          },
          "note": "and it succeeded",
          "checkedAtBuild": "passed"
        },
        {
          "kind": "code",
          "repository": "https://git.aere.network/aere-network/aere-research",
          "path": "aips/AIP-20.md",
          "url": "https://git.aere.network/aere-network/aere-research/src/branch/main/aips/AIP-20.md",
          "checkedAtBuild": "passed"
        },
        {
          "kind": "code",
          "repository": "https://git.aere.network/aere-network/aere-node",
          "path": "patches/0006-aere-pq-transactions.patch",
          "url": "https://git.aere.network/aere-network/aere-node/src/branch/main/patches/0006-aere-pq-transactions.patch",
          "checkedAtBuild": "passed"
        }
      ],
      "limits": "Existing accounts keep their ECDSA keys until their holders move to a post-quantum one; AIP-20 is a draft, not yet ratified through the signed acceptance its process asks for."
    },
    {
      "id": "engine-stage-r",
      "line": "engine",
      "name": "Round-bound commit seals (AIP-22 stage R)",
      "state": "demonstrated",
      "what": "Each post-quantum commit seal names the consensus round in which it was given, and the anchor certificate states that round, so a certificate carrying a quorum of seals shows that the parent block was decided.",
      "runsOn": "The public testnet, chain 28001, since block 6,157,024.",
      "evidence": [
        {
          "kind": "run",
          "tool": "https://aere.network/tools/verify-anchor.mjs",
          "commands": "CHAIN_ID=28001 \\\n  RPC=https://testnet-rpc.aere.network \\\n  MANIFESTS=https://testnet-rpc.aere.network/pq/manifests \\\n  ANCHORS=3 node verify-anchor.mjs",
          "expectLinesMatching": [
            "PARENT DECIDED IN ROUND \\d+",
            "^VERIFIED: 3/3 anchor blocks"
          ],
          "note": "with the files fetched as for the certificate above, against the public testnet; each anchor line reads PARENT DECIDED IN ROUND",
          "checkedAtBuild": "passed"
        },
        {
          "kind": "code",
          "repository": "https://git.aere.network/aere-network/aere-node",
          "path": "patches/0010-aere-pq-round-bound-commit-seal.patch",
          "url": "https://git.aere.network/aere-network/aere-node/src/branch/main/patches/0010-aere-pq-round-bound-commit-seal.patch",
          "checkedAtBuild": "passed"
        },
        {
          "kind": "code",
          "repository": "https://git.aere.network/aere-network/aere-research",
          "path": "aips/AIP-22.md",
          "url": "https://git.aere.network/aere-network/aere-research/src/branch/main/aips/AIP-22.md",
          "checkedAtBuild": "passed"
        }
      ],
      "limits": "Not active on chain 2800; activating it there is a coordinated fork of every node, and no height is set."
    },
    {
      "id": "engine-stage-4",
      "line": "engine",
      "name": "Post-quantum finality (AIP-22 stage 4)",
      "state": "demonstrated",
      "what": "A consensus message counts as a vote only through its verified post-quantum seal, and ECDSA signatures stop being a validity rule for votes and commit seals.",
      "runsOn": "The public testnet, chain 28001, since block 3,117,000.",
      "evidence": [
        {
          "kind": "code",
          "repository": "https://git.aere.network/aere-network/aere-research",
          "path": "aips/AIP-22.md",
          "url": "https://git.aere.network/aere-network/aere-research/src/branch/main/aips/AIP-22.md",
          "checkedAtBuild": "passed"
        },
        {
          "kind": "code",
          "repository": "https://git.aere.network/aere-network/aere-research",
          "path": "aips/aip22-conformance/VECTORS.json",
          "url": "https://git.aere.network/aere-network/aere-research/src/branch/main/aips/aip22-conformance/VECTORS.json",
          "checkedAtBuild": "passed"
        },
        {
          "kind": "code",
          "repository": "https://git.aere.network/aere-network/aere-node",
          "path": "patches/0008-aere-pq-aip22.patch",
          "url": "https://git.aere.network/aere-network/aere-node/src/branch/main/patches/0008-aere-pq-aip22.patch",
          "checkedAtBuild": "passed"
        }
      ],
      "reproduce": "The conformance vectors of AIP-22 are real blocks of the public testnet with the verdict each of the two clients reached; the stage records in AIP-22 give the measurements of the crossing.",
      "limits": "Not active on chain 2800; activating it there is a coordinated fork of every node, and no height is set."
    },
    {
      "id": "engine-stage-5",
      "line": "engine",
      "name": "Post-quantum block headers (AIP-22 stage 5)",
      "state": "demonstrated",
      "what": "Block headers no longer carry ECDSA commit seals; each carries the proposer's Falcon-512 seal instead, checkable against the published registry.",
      "runsOn": "The public testnet, chain 28001, since block 3,131,000.",
      "evidence": [
        {
          "kind": "run",
          "tool": "https://aere.network/tools/verify-anchor.mjs",
          "commands": "CHAIN_ID=28001 \\\n  RPC=https://testnet-rpc.aere.network \\\n  MANIFESTS=https://testnet-rpc.aere.network/pq/manifests \\\n  ANCHORS=3 node verify-anchor.mjs",
          "expectLinesMatching": [
            "^proposer seals \\(AIP-22 stage 5\\): (\\d+) of \\1 recent headers carry a valid Falcon-512 proposal seal"
          ],
          "note": "the same run as for stage R; the proposer seal of every recent header verifies",
          "checkedAtBuild": "passed"
        },
        {
          "kind": "code",
          "repository": "https://git.aere.network/aere-network/aere-node",
          "path": "patches/0008-aere-pq-aip22.patch",
          "url": "https://git.aere.network/aere-network/aere-node/src/branch/main/patches/0008-aere-pq-aip22.patch",
          "checkedAtBuild": "passed"
        }
      ],
      "limits": "Not active on chain 2800; activating it there is a coordinated fork of every node, and no height is set."
    },
    {
      "id": "engine-parallel-execution",
      "line": "engine",
      "name": "Parallel transaction execution (Block-STM)",
      "state": "demonstrated",
      "what": "An executor that runs a batch of transactions on many cores with optimistic concurrency and commits the same state root as sequential execution.",
      "runsOn": "A laboratory build, not a node of any network.",
      "evidence": [
        {
          "kind": "code",
          "repository": "https://git.aere.network/aere-network/aere-research",
          "path": "parallel-executor/README.md",
          "url": "https://git.aere.network/aere-network/aere-research/src/branch/main/parallel-executor/README.md",
          "checkedAtBuild": "passed"
        },
        {
          "kind": "code",
          "repository": "https://git.aere.network/aere-network/aere-research",
          "path": "parallel-executor/src/parallel.rs",
          "url": "https://git.aere.network/aere-network/aere-research/src/branch/main/parallel-executor/src/parallel.rs",
          "checkedAtBuild": "passed"
        }
      ],
      "reproduce": "cd aere-research/parallel-executor && cargo test --release",
      "limits": "Chain 2800 executes transactions sequentially, and no laboratory throughput figure is a performance figure of the chain."
    },
    {
      "id": "engine-zk-every-block",
      "line": "engine",
      "name": "A zero-knowledge proof of every block",
      "state": "planned",
      "what": "A succinct proof, for each block, that its execution was correct, checkable without re-executing it.",
      "evidence": [],
      "limits": "Research only: the cost of proving every block, and what happens when a proof is late, are not established."
    },
    {
      "id": "engine-independent-operators",
      "line": "engine",
      "name": "Validators run by independent operators",
      "state": "planned",
      "what": "Validator seats held by organizations other than the Aere Foundation, so that stopping the network takes more than one party.",
      "evidence": [
        {
          "kind": "http",
          "url": "https://aere.network/decentralization.html",
          "expect": {
            "status": 200,
            "contains": [
              "Nakamoto coefficient"
            ]
          },
          "note": "the network's own statement of where it stands today",
          "checkedAtBuild": "passed"
        }
      ],
      "limits": "Today one operator runs all ten validators; a seat added by that operator adds no independence."
    }
  ],
  "howToCheckThisFile": [
    "Every entry on this page is also in capabilities.json, with the same state and the same evidence in a form a program can read.",
    "A live entry is published only if its evidence passed when this page was built: the claim is in verifiable-claims.json and its section of the claims checker passes against the live chain; the module is at that path in the public repository and the result shown is the one its README states; the public service answers the request shown with the response shown; the public tool, fetched from this site, prints the line shown. If any of them fails, the build refuses and the page is not rewritten.",
    "Where a command reads AERE_VERIFY_PROOF=&lt;verify-proof.mjs&gt;, the placeholder is the path of the reference verifier fetched from /tools/ with the files of the anchor verifier beside it, as the entry for the proof format shows; without it those tests report themselves skipped and exit with code 2. Where it reads &lt;funded testnet key&gt;, the test sends transactions on the public testnet and needs a key holding test coins.",
    "Each of those checks is something you can run yourself, with the command written under the entry. Run them; where your result differs from ours, the page is wrong, and that is the finding."
  ]
}
