Une blockchain à permissions ne se justifie que lorsque plusieurs organisations qui ne se font pas pleinement confiance doivent partager un registre qu’aucune ne contrôle seule. Si tous les participants appartiennent à la même entreprise, une base de données avec piste d’audit produit le même résultat pour une fraction du coût.
Après avoir construit des réseaux Hyperledger Fabric pour de la traçabilité industrielle, la leçon qui reste est moins technique qu’on ne l’imagine. La partie difficile n’a jamais été le chaincode. C’était la gouvernance entre les organisations participantes.
Le test en trois questions
Avant toute preuve de concept, répondez honnêtement :
- Plusieurs organisations écrivent-elles dans le registre ? Sinon, arrêtez-vous là. Vous voulez une base de données.
- Ces organisations ont-elles des intérêts divergents ? Fournisseur et acheteur, assureur et garage, producteur et certificateur. Si ce sont toutes des directions de la même entreprise, un administrateur système règle cela avec des permissions.
- Quelqu’un accepterait-il d’être propriétaire de la base ? Si tout le monde s’accorde pour que l’entreprise X héberge et administre, vous avez un problème de contrat, pas de technologie.
Trois oui et le dossier est réel. Un non et la réponse est probablement PostgreSQL avec une table d’audit et des signatures numériques.
Ce que Fabric apporte réellement
Contrairement aux réseaux publics, Hyperledger Fabric fonctionne avec permissions. Les participants possèdent une identité délivrée par une autorité de certification, il n’y a ni minage ni cryptomonnaie. Ce qu’il offre :
- Un registre partagé et répliqué qu’aucune organisation ne peut modifier seule après coup.
- Des canaux, qui permettent qu’un sous-ensemble seulement de participants voie certaines transactions. Des concurrents peuvent cohabiter sur le même réseau sans voir les volumes les uns des autres.
- Des politiques d’endossement. Vous définissez combien et quelles organisations doivent signer une transaction pour qu’elle soit valide. C’est là que réside la valeur réelle.
- Des contrats exécutables en Go ou en Node.js, sans les contraintes de langage des chaînes publiques.
Ce qu’il n’apporte pas
Autant être direct, car les attentes arrivent souvent gonflées.
Il ne valide pas le monde physique. Si quelqu’un saisit « café biologique » pour un lot qui ne l’est pas, le réseau enregistre ce mensonge avec une intégrité parfaite, pour toujours. La blockchain garantit que la donnée n’a pas été altérée après son écriture. Elle ne garantit rien sur sa véracité avant.
Il n’est pas rapide non plus. Le consensus entre organisations coûte de la latence : ne le placez pas sur le chemin critique d’un écran utilisateur. Et il n’est pas simple à exploiter : autorités de certification, MSP, canaux, ordonnanceurs, mises à jour coordonnées des contrats entre entreprises. C’est de l’infrastructure sérieuse, qui demande des gens pour la maintenir.
Enfin, il ne résout pas la conformité RGPD. Un registre immuable et des données personnelles font très mauvais ménage. Les données personnelles restent hors du registre. C’est l’empreinte qui y va.
Là où cela fonctionne bien
Les cas qui ont tenu dans la durée partagent un motif commun : une chaîne de production à plusieurs maillons et un besoin de preuve vis-à-vis d’un tiers, qu’il s’agisse d’un auditeur, d’un certificateur ou d’un régulateur.
Traçabilité de l’origine, calcul d’empreinte environnementale à partir de données provenant de plusieurs fournisseurs, compensation entre opérateurs, certification de provenance. Dans ces cas, la valeur n’est pas dans le mot « blockchain ». Elle est dans le fait de disposer d’un chiffre que personne dans la chaîne ne peut modifier seul et qu’un auditeur peut vérifier sans demander de faveur à aucune des parties.
L’architecture qui fonctionne généralement
Dans les déploiements ayant survécu à leur première année, la forme est toujours semblable. L’application fonctionne normalement sur une base relationnelle, et toute l’expérience utilisateur en découle. Seuls les événements nécessitant une preuve entre organisations rejoignent le registre partagé, ce qui représente généralement une petite fraction des opérations. Documents et données personnelles restent à l’extérieur, dans un stockage ordinaire, seule l’empreinte et un pointeur figurant au registre. L’écriture se fait de façon asynchrone, par file d’attente, de sorte que si le réseau ralentit l’utilisateur ne le ressent pas.
Placez la blockchain au centre de l’application et vous construisez un système lent sur une mauvaise base de données. Placez-la en périphérie, comme couche de preuve, et vous construisez un système normal avec une garantie de plus.
Besoin de résoudre cela dans votre entreprise ?
Un échange de vingt minutes suffit en général pour savoir si cela a du sens, et vous parlez directement à l'ingénieur qui construit.