Summary

  • La révision 12 de Vaara Receipt peut signer, pour une même frontière, un seq monotone et un runningCount; dès qu'un reçu ultérieur existe, un numéro intermédiaire absent devient prouvable.
  • Une préfixe continu reste ambigu. Le sceau terminal fixe le total attendu, mais supprimer à la fois les derniers reçus et le sceau laisse l'ensemble conservé sans contradiction.
  • L'ancrage RFC 3161 du compte final apporte un témoin extérieur. Intégrité, complétude interne, clôture, date attestée et résultat de l'action sont cinq preuves différentes.

Le dossier qui s'arrête trop proprement

Prenons une session d'agent autonome. Le point de contrôle produit un reçu par appel d'outil. L'auditeur conserve les numéros 0 à 42; le dernier affirme runningCount: 43. Chaque objet porte la même frontière, les signatures se vérifient et le nombre de pièces correspond au compteur. Rien ne signale qu'un numéro 43 ait jamais existé.

Si l'on retire seulement le reçu 17 en gardant 18, le mensonge se voit. Le compteur ultérieur exige une pièce de plus et la séquence nomme précisément l'absence. Si l'on retire au contraire tout ce qui suit 42, le dernier reçu conservé reste vrai : quarante-trois reçus existaient au moment où il a été signé. La vérification a prouvé la continuité de ce qui est présenté, pas que rien n'est venu après.

draft-sirkkavaara-vaara-receipt-12 formalise cette différence avec une clarté rare. Le mécanisme ne promet pas qu'un ensemble de reçus se complète par magie. Il construit plusieurs étages, chacun répondant à une question distincte.

Compter n'a de sens qu'à l'intérieur d'une frontière

Le bloc coverage indique le point de passage observé, l'empreinte exacte de la surface de capacités et la portée couverte. Seuls les appels ayant traversé ce point appartiennent à l'affirmation. Un accès direct, un autre proxy ou une commande locale peut rester hors champ.

Cette limite change le sens d'un silence. L'absence de refus ne signifie pas que l'action n'a pas eu lieu. Au mieux, elle signifie qu'aucun refus n'a été enregistré dans la frontière déclarée. Sans bloc de couverture, elle signifie seulement que l'émetteur n'a rien observé dans ce jeu de reçus.

Le bloc de complétude ajoute boundaryId, un seq commençant à zéro et runningCount = seq + 1. Il est signé par l'intermédiaire de la liaison vers le dossier de preuve. Lorsqu'un reçu plus tardif est disponible, le compte qu'il porte donne une attente vérifiable sur tout ce qui le précède. L'omission au milieu n'est plus une intuition : elle devient un numéro manquant.

Le sceau déplace la question vers la garde

Un enregistrement terminal peut déclarer {sealed: true, total: N}. Présent dans le dossier, il transforme une fin ouverte en total annoncé. Un audit qui n'a que N-3 pièces voit alors que trois reçus manquent. Le sceau peut aussi porter une classe maximale afin de borner le pire niveau d'action qu'un trou aurait pu autoriser.

Mais le sceau demeure une pièce du dossier. Celui qui sait retrancher le suffixe peut retrancher le sceau avec lui. Le préfixe antérieur se vérifie encore. Aucun hash retenu ne peut révéler, depuis le passé, qu'une clôture future a été émise puis cachée.

Le projet confie ce résidu à une ancre RFC 3161 sur le compte final. Un jeton temporel peut attester qu'à l'instant T, une empreinte correspondant au compte N existait. L'auditeur qui ne reçoit que k doit alors expliquer la différence avec un témoin conservé ailleurs.

Le mot « ailleurs » est décisif. Une autorité d'horodatage auto-hébergée peut produire un jeton conforme, mais si elle partage l'administration, les clés, les journaux et les incitations du producteur, elle n'ajoute pas automatiquement une garde indépendante. Le protocole décrit la preuve temporelle; l'architecture détermine qui peut la faire disparaître.

SCITT n'est pas un autre nom pour l'heure

La révision évoque aussi l'enregistrement auprès d'un service de transparence SCITT. Son reçu atteste l'inscription d'une déclaration signée selon la politique du service. Il accompagne le reçu Vaara; il ne se confond pas avec le tableau timestampAnchors.

Une direction d'achat devrait donc bannir la formule vague « le reçu est ancré ». Quelle empreinte ? Quel compte ? Quel service ? Quelle clé ? Quelle politique ? Le témoin prouve-t-il une heure, une inclusion, une cohérence de journal ou le total final d'une frontière ? RFC 9162 montre pourquoi inclusion et cohérence restent deux preuves différentes même dans un journal transparent.

Recalculer les octets ne recrée pas le monde

RFC 8785 fournit JCS, la représentation canonique qui permet à deux implémentations de hacher les mêmes octets. Les vecteurs publics du projet testent signatures, liaisons de preuve, liens arrière et cas de complétude sans charger le code de l'émetteur. C'est une preuve de running code utile.

Elle ne rend pas vraie la donnée hachée. L'égalité d'empreinte dit que l'auditeur possède l'objet engagé; elle ne dit ni que l'objet est exhaustif, ni que son auteur a bien observé le monde. La signature désigne une clé qui a signé ces octets. Le projet reconnaît lui-même qu'il ne définit ni mécanisme de révocation, ni fraîcheur obligatoire des clés. Le vérificateur doit posséder cette politique.

La chronologie de l'action exige encore un autre couple. Un reçu de décision décrit allow, block ou escalate; il ne prouve pas l'exécution. Un reçu d'exécution peut revenir vers la décision, signer executed ou refused et engager le résultat. Le lien empêche d'associer arbitrairement deux dossiers, mais le résultat externe dépend toujours de son observateur et de sa conservation.

Les couches de réalité de Lu Heng empêchent leur fusion : l'empreinte n'est pas le reçu complet; le reçu complet n'est pas une frontière close; la frontière close n'est pas un témoin indépendant; le témoin n'est pas l'action; l'action n'est pas son effet durable. Une spécification minimale peut normaliser l'enveloppe. La responsabilité locale commence précisément là où cette enveloppe s'arrête.

Sources and limits

Ces sources établissent une soumission individuelle active et des spécifications publiques connexes. Elles n'établissent ni consensus IETF, ni RFC Vaara Receipt, ni adoption par un groupe, ni audit indépendant, ni déploiement large, ni couverture complète, ni indépendance de l'autorité temporelle, ni résultat observé. Cet Article est limité à la frontière entre trou interne, fin scellée et ancre externe de la révision 12.