Attesto

Attesto 2.0

Proofstream et vérification offline

Proofstream enregistre les preuves pertinentes pour l'IA comme une stream history append-only. Chaque event accepté reçoit un receipt; les windows fermées deviennent des checkpoints; les witnesses signent une progression monotone; les anchors lient les epochs à l'extérieur; les bundles peuvent être vérifiés sans accès au backend Attesto.

Lifecycle

Event

Canonical event envelope avec tenant, stream, sequence number, source reference, payload hash et previous event hash.

Receipt

Preuve d'acceptation signée pour l'event et le stream head résultant.

Window

Merkle commitment sur une plage d'events fermée avec inclusion material.

Checkpoint

Stream head commitment plus consistency relation vers les checkpoints précédents.

Witness

Service externe qui signe uniquement la progression monotone des checkpoints et émet du fork evidence en cas de conflit.

Anchor

Epoch commitment via le chemin d'anchoring on-chain configuré.

Bundle

Verifier pack portable avec receipts, windows, checkpoints, witness statements, anchors et manifest.

Offline Verify

Le verifier vérifie le bundle localement et échoue fermé en cas de falsification ou d'historique ambigu.

Stream events et receipts

Un Proofstream event est ajouté à exactement un stream et reçoit un sequence number monotone. Le receipt lie l'event hash, le previous event hash, le sequence number et le stream head résultant.

curl -X POST https://verify.attesto.eu/v2/streams/$STREAM_ID/events \
  -H "Authorization: Bearer $ATTESTO_API_KEY" \
  -H "Idempotency-Key: $ATTESTO_IDEMPOTENCY_KEY" \
  -H "Content-Type: application/json" \
  --data-binary @proofstream-event.json
{
  "stream_event_id": "sev_...",
  "seq_no": 42,
  "event_hash": "sha256-hex",
  "previous_event_hash": "sha256-hex",
  "stream_head_hash": "sha256-hex",
  "receipt": {
    "alg": "Ed25519",
    "kid": "proofstream-receipt-key",
    "signature": "hex-encoded-signature"
  }
}

Windows

Une window ferme une plage contiguë d'events. Sa Merkle root engage chaque event de la plage, et l'inclusion material permet au verifier de prouver qu'un event précis appartient à cette plage fermée.

Checkpoints

Un checkpoint engage le stream state après une ou plusieurs windows. Il relie le dernier event head, les window roots, le policy digest, la witness policy et l'anchor epoch candidate.

curl https://verify.attesto.eu/v2/checkpoints/$CHECKPOINT_ID

Consistency

La consistency prouve qu'un checkpoint ultérieur étend l'historique précédent. Sans consistency, un système pourrait montrer une inclusion pour deux historiques différents tout en semblant localement valide. Proofstream traite la consistency comme une exigence verifier de premier rang.

curl "https://verify.attesto.eu/v2/checkpoints/$CHECKPOINT_ID/consistency?from=$PREVIOUS_CHECKPOINT_ID"

Défense contre les forks

Les inclusion proofs seules ne suffisent pas. Proofstream vérifie aussi la consistency et la witness monotonicity. Si deux checkpoint heads revendiquent des historiques incompatibles pour le même stream, du fork evidence est créé et le verifier rejette l'historique ambigu.

Le fork evidence n'est pas une alerte de dashboard. C'est un objet vérifiable qui peut être inclus dans un bundle et inspecté par un verifier externe.

Vérification offline

Utilisez le helper SDK ou la verifier CLI sur un bundle téléchargé. Les online anchor re-checks sont explicites; le chemin principal de bundle verification ne dépend pas de la disponibilité du backend Attesto.

attesto bundles offline-verify --file ./attesto-bundle.json

Pour la verification service-to-service, soumettez la même forme d'objet à POST /v2/verify. L'API et la CLI partagent une sémantique fail-closed.

attesto bundles verify --file ./attesto-bundle.json
curl -X POST https://verify.attesto.eu/v2/verify \
  -H "Content-Type: application/json" \
  --data-binary @attesto-bundle.json

Lane Nova lifecycle proofing

Nova/IVC proofing est une lane lifecycle asynchrone sur des committed checkpoint metadata. Elle est designed for lifecycle proofing; cryptographic construction is pending external review, et la lane reste review-gated avant toute revendication cryptographique externe plus forte. Receipt ingest et offline bundle verification ne dépendent pas de la génération de preuve Nova dans le hot path.

Ce que cela prouve

Un bundle valide soutient integrity, ordering, witness/quorum, anchor et tamper-detection evidence pour la stream history incluse. Il ne certifie pas à lui seul la conformité légale ni la véracité de la décision métier d'origine.