La vraie question : qui doit faire confiance à qui
Les projets de chaîne d’approvisionnement commencent souvent par un objectif qui semble technique : suivre un lot de la ferme ou de l’usine jusqu’au rayon, prouver qu’un certificat est authentique, montrer à un organisme de réglementation ou à un client d’où vient un produit. Le choix technologique découle d’une question plus simple. Qui tient le registre, et les autres parties doivent-elles le croire sur parole?
Si une seule entreprise tient le registre et que ses fournisseurs et clients acceptent de lui faire confiance, une base de données partagée avec un bon contrôle d’accès et un journal d’audit suffit. Si plusieurs entreprises doivent chacune écrire dans le registre et qu’aucune ne devrait pouvoir réécrire l’historique sans que les autres le remarquent, un registre partagé entre elles commence à avoir du sens. Si le registre doit pouvoir être vérifié par n’importe qui, y compris des gens sans compte et sans relation avec vous, la chaîne publique est l’outil.
| Situation | L’outil qui convient habituellement |
|---|---|
| Une entreprise est maître du processus; les partenaires consultent et téléversent | Une base de données partagée avec des rôles et un journal d’audit |
| Plusieurs entreprises écrivent; aucune ne devrait pouvoir modifier seule | Une chaîne privée à permissions, avec un nœud par partie |
| N’importe qui, n’importe où, doit pouvoir vérifier une affirmation | Une chaîne publique, qui contient des preuves plutôt que des données |
| Vous voulez le mot chaîne de blocs dans un communiqué | Aucun des trois. Commencez par le problème |
Quand une base partagée suffit
Nous construisons des chaînes de blocs, et nous recommandons pourtant une base de données plus souvent qu’une chaîne. Une base de données est plus rapide, moins coûteuse à exploiter, plus facile à modifier et familière à tous les développeurs que vous embaucherez. Le contrôle d’accès décide qui voit quoi. Un journal d’audit en ajout seul, tenu par la base de données elle-même, montre chaque modification et son auteur. Des sauvegardes quotidiennes conservées par un tiers ajoutent un autre témoin.
- Choisissez une base de données quand une seule organisation répond du registre et que les autres l’acceptent.
- Choisissez une base de données quand la vraie difficulté est d’amener les fournisseurs à téléverser quoi que ce soit. Un registre ne règle pas un certificat manquant.
- Choisissez une base de données quand vos partenaires n’exploiteront aucun logiciel eux-mêmes. Une chaîne dont vous exploitez tous les nœuds est une base de données avec des étapes de plus.
- Choisissez une base de données quand la forme des données change souvent. Le schéma d’une base de données se migre facilement; les données d’un registre sont faites pour rester telles qu’elles ont été écrites.
Quel que soit votre choix, adoptez un vocabulaire commun. La norme EPCIS de GS1 existe pour que des applications différentes puissent créer et partager des données d’événements de visibilité au sein des entreprises et entre elles [5]. Enregistrer les événements sous cette forme facilite grandement les liens futurs avec les partenaires, les auditeurs et les détaillants, sur une base de données comme sur une chaîne.
Les chaînes privées à permissions
Une chaîne privée est un registre exploité par un groupe connu. Chaque membre exploite un nœud; une transaction n’est enregistrée que lorsque le réseau s’entend sur elle, et aucun membre ne peut réécrire le passé sans que les autres le voient. Hyperledger Fabric décrit ce modèle comme destiné à des participants connus et identifiés, sous un modèle de gouvernance, et précise que son consensus n’exige pas de cryptomonnaie native [1]. Fabric permet aussi aux membres de former des canaux et des collections de données privées, pour qu’un ensemble de transactions ne soit visible qu’aux parties concernées [1].
Besu, un client Ethereum utilisé pour les réseaux privés, offre des permissions par nœud et par compte, pour que seuls des nœuds et des comptes précis puissent accéder au réseau [2]. Bâtir sur l’outillage d’Ethereum a un avantage pratique : les contrats intelligents, les portefeuilles et les développeurs sont les mêmes que dans l’écosystème public.
- Le bon choix quand : plusieurs entreprises écrivent dans le registre, chacune veut une copie qu’elle contrôle, et elles s’entendent sur qui peut se joindre.
- Attention à : la gouvernance. Qui admet un nouveau membre, qui met à niveau les contrats et ce qui arrive quand un membre part sont des questions d’affaires qui doivent être réglées avant le lancement.
- Prévoyez : que chaque partie exploite un nœud, ou paie quelqu’un pour le faire. Un réseau n’est indépendant que dans la mesure où ses exploitants le sont.
Les chaînes publiques
Une chaîne publique comme Ethereum peut être lue et vérifiée par n’importe qui. C’est sa force et, pour la chaîne d’approvisionnement, sa principale limite. ethereum.org décrit lui-même Ethereum comme un registre public et transparent par conception [4]. Les prix, les volumes, les noms de fournisseurs et tout ce que vous y écrivez peuvent être lus par vos concurrents aussi facilement que par vos clients.
Écrire sur une chaîne publique coûte aussi des frais. Sur Ethereum, l’expéditeur d’une transaction paie le gaz, et quand la demande sur le réseau est forte, les frais nécessaires pour faire inclure une transaction augmentent avec elle [3]. Le coût d’une chaîne publique dépend donc de l’activité des autres, ce qui est malcommode pour une entreprise qui enregistre des milliers d’événements par jour.
La réponse habituelle est de garder les données hors de la chaîne publique et d’y ancrer des preuves. Le portail conserve les registres dans sa propre base de données ou son registre privé et, à intervalles, écrit sur une chaîne publique une seule empreinte (un hachage) d’un lot d’enregistrements. Quiconque reçoit un enregistrement peut ensuite vérifier qu’il correspond à l’empreinte et n’a pas été modifié depuis, sans que personne ne publie l’enregistrement lui-même.
- Le bon choix quand : le public est le grand public ou des clients avec qui vous n’avez pas de contrat, et l’affirmation doit être vérifiable sans vous faire confiance.
- Attention à : des frais qui varient avec le réseau, et tout ce qui est sensible et resterait lisible pour toujours.
- Prévoyez : les portefeuilles et les clés. Qui détient la clé qui écrit les ancrages détient le pouvoir de les écrire.
Ce qui va sur la chaîne, et ce qui reste en dehors
Quel que soit le type de chaîne, mettez-y le moins possible. Les documents, les images et les certificats vont dans un stockage ordinaire; la chaîne contient leurs empreintes et les événements qui y renvoient. Le registre reste ainsi petit et rapide, et les fichiers sensibles restent sous contrôle d’accès.
Les renseignements personnels demandent une attention particulière. La loi canadienne sur la protection des renseignements personnels dans le secteur privé, la LPRPDE, repose sur des principes relatifs à l’équité dans le traitement de l’information, dont l’exactitude et l’accès aux renseignements personnels, en vertu desquels une personne peut contester l’exactitude et l’intégralité de ses renseignements et les faire modifier au besoin [6]. Un registre qui ne peut jamais changer s’accorde mal avec cela. Gardez les noms, les adresses et tout ce qui concerne des personnes hors de la chaîne, et consultez tôt vos propres conseillers sur ce que vos registres doivent permettre.
Vivre avec son choix après le lancement
Le développement est la partie visible. C’est dans les années qui suivent que les choix diffèrent le plus : pensez-y avant de vous engager.
- Une base de données partagée s’entretient comme n’importe quel système d’affaires : mises à jour, sauvegardes, revues des accès et, à l’occasion, une modification du schéma. N’importe quelle équipe compétente peut la reprendre.
- Une chaîne privée est un petit réseau d’exploitants indépendants. Chaque nœud doit être mis à jour au même rythme que les autres, les membres doivent être accueillis et retirés, et les mises à niveau des contrats exigent l’accord de chaque partie. Quelqu’un doit coordonner tout cela, et il vaut la peine de le nommer dans les règles de gouvernance.
- L’ancrage sur une chaîne publique est léger à exploiter, mais ses clés sont critiques. Conservez-les dans un module matériel ou un service de gestion de clés, gardez un plan de récupération écrit et surveillez les frais, pour qu’une semaine chargée sur le réseau ne vous surprenne pas.
- Quelle que soit la voie, ce sont les intégrations avec les systèmes des fournisseurs et des clients qui demandent le plus de soin avec le temps, parce que ces systèmes changent sans vous demander votre avis.
Le même portail de traçabilité, de trois façons
Les trois exemples ci-dessous sont un seul produit : un portail où les fournisseurs téléversent les données de lots et les certificats en français et en anglais, où le personnel remonte d’un lot fini jusqu’à ses intrants, et qui envoie des alertes quand un certificat manque. Seul le registre en dessous change. Chacun montre la fourchette selon notre grille tarifaire d’aujourd’hui, avec le développement et le coût mensuel d’exploitation.
Exemple chiffré en direct
Sur une base de données partagée
Le portail sur une base de données gérée avec des rôles, un journal d’audit et des intégrations aux systèmes des partenaires. La référence à laquelle les deux autres se comparent.
- Développement
- ≈ 59 800 USD à 91 500 USD, livré en 16 semaines au plus85 200 $ CA à 130 300 $ CA
Les prix dans votre devise sont des estimations au taux du jour de la Banque du Canada. Toute la facturation se fait en CAD ou en USD.
Exploitation
- Hébergement
- ≈ 176 USD par mois250 $ CA par mois
- Soutien
- ≈ 2 500 USD par mois3 565 $ CA par mois
Exemple chiffré en direct
Sur une chaîne privée à permissions
Le même portail, chaque lot et chaque certificat étant enregistré sur une chaîne privée avec un nœud par partie, sur un hébergement plus grand.
- Développement
- ≈ 104 000 USD à 160 000 USD, livré en 22 semaines au plus148 700 $ CA à 227 500 $ CA
Les prix dans votre devise sont des estimations au taux du jour de la Banque du Canada. Toute la facturation se fait en CAD ou en USD.
Exploitation
- Hébergement
- ≈ 492 USD par mois700 $ CA par mois
- Soutien
- ≈ 2 500 USD par mois3 565 $ CA par mois
Exemple chiffré en direct
Avec des preuves ancrées sur une chaîne publique
Le même portail sur sa propre base de données, avec des contrats intelligents qui ancrent l’empreinte de chaque lot d’enregistrements sur une chaîne publique, pour que n’importe qui puisse les vérifier.
- Développement
- ≈ 77 700 USD à 119 000 USD, livré en 23 semaines au plus110 700 $ CA à 169 200 $ CA
Les prix dans votre devise sont des estimations au taux du jour de la Banque du Canada. Toute la facturation se fait en CAD ou en USD.
Exploitation
- Hébergement
- ≈ 176 USD par mois250 $ CA par mois
- Soutien
- ≈ 2 500 USD par mois3 565 $ CA par mois
L’écart entre le premier exemple et les deux autres, c’est le prix de l’assurance supplémentaire qu’apporte chaque chaîne. Si personne dans votre chaîne d’approvisionnement n’a besoin de cette preuve indépendante, c’est le premier exemple qu’il faut construire.
Les questions à régler avant de choisir
- 01
Qui écrit dans le registre?
Une organisation, plusieurs, ou n’importe qui. Cette question règle à elle seule la plupart des projets.
- 02
Qui doit pouvoir le vérifier, et ces gens vous font-ils confiance?
Des partenaires sous contrat peuvent recevoir un accès. Le grand public, non : c’est là qu’une chaîne publique a sa place.
- 03
Vos partenaires exploiteront-ils un nœud?
Sinon, la chaîne privée est exploitée par vous seul, et son indépendance n’existe que sur papier.
- 04
Qu’est-ce qui est sensible?
Les prix, les volumes, l’identité des fournisseurs et les renseignements personnels ne devraient figurer sur aucun registre que d’autres peuvent lire.
- 05
Comment les données entreront-elles?
Les intégrations aux ERP, aux lecteurs et aux capteurs demandent habituellement plus d’effort que le registre. Chiffrez-les d’abord.
- 06
Qui gouverne le réseau?
L’adhésion, le départ, les mises à niveau et les différends ont besoin de règles écrites, acceptées par chaque membre avant le lancement.
Si les réponses mènent à une base de données, nous le dirons et c’est ce que nous construirons. Si elles mènent à une chaîne, nous construisons des réseaux privés et des contrats sur chaîne publique, et chaque contrat qui détient de la valeur passe par une revue et, quand il le justifie, par un audit externe.