Aller au contenu
ChainProof

Le fonctionnement de ChainProof

Le mécanisme derrière la démo, pour l'auditeur qui doit s'y fier et le développeur qui doit l'intégrer.

01

Entrées et garde

Un lot est une chaîne d'entrées. La première est l'enregistrement du producteur; chaque entrée suivante (passation, point de contrôle, relevés scellés) est signée par l'organisation qui la produit et contient l'empreinte de l'entrée précédente.

Une seule organisation a la garde à un moment donné. La garde est un pointeur inscrit au registre, et elle ne change de main que par le protocole de passation décrit plus bas.

02

Le protocole de passation

Une passation, c'est deux signatures, pas une. L'expéditeur signe ce qui part : le destinataire, le compte et le numéro de scellé. Tant que le destinataire n'a pas répondu, la garde reste à l'expéditeur, qui peut encore annuler.

Le destinataire signe ce qui arrive. Il accepte si tout concorde, accepte avec un écart si quelque chose cloche (le compte, le scellé, un signalement de température) ou refuse, et la garde reste où elle était. Dans tous les cas, l'écart est inscrit par la partie qui l'a constaté, au moment où elle l'a constaté.

03

Sceller les relevés de capteurs

Un enregistreur voyage avec le lot. Ses relevés restent hors chaîne; quand le gardien les scelle, une seule empreinte racine de tous les relevés est ancrée dans une entrée.

Toute période hors de la plage permise devient une entrée d'écart dans la même transaction. Elle ne peut pas être retirée. Les parties suivantes peuvent y répondre, et le prochain destinataire voit le signalement avant de signer.

04

Comment une étiquette est vérifiée

Le code QR ne contient que le code de lot. La page du passeport récupère les entrées du lot, recalcule chaque empreinte à partir de son contenu et de l'empreinte précédente, puis compare le résultat à l'empreinte ancrée on-chain.

Si quelqu'un modifie une entrée après sa signature (un compte, une date, un lieu), cette entrée et toutes les suivantes cessent de concorder. Une étiquette dont le code n'est pas au registre est affichée comme suspecte.

05

Ce qui reste privé

Seules des empreintes sont inscrites on-chain : empreintes d'entrées, racines de relevés, signatures et pointeur de garde. Prix, contrats, documents et relevés bruts restent dans les systèmes de chaque partie et peuvent être divulgués au cas par cas à un auditeur, qui les compare aux empreintes ancrées.

06

Le format d'une entrée

Toutes les entrées ont la même forme. Une intégration (ERP, lecteurs d'entrepôt, flux GS1 EPCIS) n'a qu'à produire cet objet et à signer son empreinte.

Une entrée de passation, telle que la démo la conserve
{
  "batchId": "HU-2584",
  "seq": 6,
  "kind": "handoff-accepted",
  "actor": "flv",
  "counterparty": "trc",
  "at": "2026-08-19T11:15:00-04:00",
  "place": "Port of Montréal, QC",
  "data": {
    "count": 60,
    "seal": "MSKU-5531907",
    "sealOk": true
  },
  "prevHash": "0x-27a5f8541ca0fbee-1dbba79a7769292016fb5ec5-fd08638-544ff429-64789a9d",
  "hash": "0x-47cd826d-5255cc4d-1e79c730-41c7dc91-6a95a092-471186d077d97da4-2bda17be",
  "txHash": "0x-b5facfa-5305307e5b64afaa29b7617e7a1052af-30f78950-3ab14306-4d364220",
  "block": 4760575
}
L'essayer dans la démo