Blockchain : ne vous laissez pas impressionner par la complexité
Les blockchains d'entreprises - ou de consortium - qui s'exécutent dans un environnement contrôlé, ne nécessitent pas tous les composants des blockchains publiques qui motorisent les crypto-monnaies. Profitez en pour simplifier vos projets.
La blockchain est une chaîne de blocs de transactions. Outre leur capacité de distribuer les blocs sur un réseau peer-to-peer, les blockchains ne sont pas très différentes - sur le plan conceptuel - des anciens systèmes de fichiers à plats qui exigeaient que les enregistrements soient lus de manière séquentielle.
La puissance de tels systèmes distribués vient du fait que les transactions sont plus visibles et transparentes - pour toutes les parties - qu'une base de données contrôlée par un acteur central. Le défi, en revanche, est qu'un réseau plus ouvert nécessite des mesures de sécurité plus strictes que si les transactions étaient consignées dans des bases sur site, bien à l'abri derrière les murs d'une entreprise. Ce qui signifie que la cryptographie et autres mesures de sécurité sont - encore et toujours - nécessaires, même si les transactions traitées sur un réseau blockchain n'impliquent pas directement de l'argent.
Le vrai cœur de la blockchain : le registre, pas le consensus
La vraie clé, cependant, est qu'une blockchain est un registre (ledger) distribué.
Ce « ledger » est pour une blockchain un historique de toutes les transactions, tout comme un grand livre comptable l'est pour les paiements financiers.
Il existe des différences notables dans la façon dont ce registre peut être configuré, en fonction des usages, pour éviter de plomber les performances des applications qui reposeront dessus.
Une partie de la version « chimiquement pure » des blockchains publiques (celles qui motorisent les crytpo-monnaies) est appelée « consensus ».
Comme les transactions de crytpo-monnaies sont effectuées - pour la plupart - en clair sur Internet, il faut avoir un moyen de vérifier que les données de ces transactions n'ont pas été corrompues. Le consensus est une réponse au problème.
Le consensus est l'idée qu'une majorité de serveurs dans un réseau donné doit approuver chaque transaction avant qu'elle ne soit exécutée, de sorte qu'un acteur seul est moins susceptible d'être capable de corrompre les informations consignées dans la blockchain (il lui faudrait, en fait, prendre le contrôle d'une grande partie des serveurs).
Toutefois, dans un contexte de consortium d'entreprises, plus restreint, seuls des acteurs de confiance d'un groupe contrôlé en amont peuvent accéder au registre distribué.
Cette différence signifie - concrètement - que le consensus sur les approbations de modification peut être ignoré, ou tout du moins réduit à sa plus simple expression.
Dans un contexte métiers, avec des limitations quant aux acteurs qui peuvent rejoindre le réseau, les entreprises qui mettent en place une blockchain privée peuvent se concentrer davantage sur la gestion des permissions que sur le consensus lui-même, ce qui diminue grandement la complexité du projet.
Smart Contract : on peut souvent s'en passer
Un autre aspect central de la technologie des blockchains originelles est le Smart Contract.
Un Smart Contract n'est ni un contrat au sens légal du terme, ni intelligent. Il s'agit d'un programme (du code) qui est stocké sur un réseau blockchain et dont les paramètres (de la forme « if this, then that ») définissent les termes d'un accord entre des parties. Les Smart Contracts s'exécutent automatiquement et sans possibilité de les amender lorsque les conditions renseignées initialement sont remplies.
Les Smart Contracts sont utiles pour de nombreuses applications. Mais c'est aussi une autre source de complexité qui n'est souvent pas nécessaire pour la plupart des applications métier.
Les « Must Read » du MagIT sur la blockchain :
Quelle blockchain privée choisir ?
PoC blockchain : cinq non-sens, erreurs et idées fausses à éviter
Quand et comment mener un projet blockchain (et comment savoir si vous en avez besoin) ?
Faire une blockchain pour faire une blockchain n'a aucun sens
Blockchain : quelques raisons de se presser lentement avec Gartner
Hash, consensus et blockchain hybride : devenez un maitre es Scrabble avec blockchain
Un bon exemple dans la pharmacie
Prenons l'exemple de la chaîne d'approvisionnement (supply chain). Dans les infrastructures conventionnelles, un fabricant utilise un logiciel de gestion de la chaîne d'approvisionnement (un SCM) pour suivre toutes les matières premières qui entrent dans le processus de production.
Chaque entreprise de la chaîne d'approvisionnement a son propre SCM. Elles suivent les mêmes informations que le fabricant, mais chacune de leur côté. Le rapprochement et la réconciliation entre les différentes données issues de différents systèmes peuvent prendre beaucoup de temps. Sans compter que donner accès sa base interne à des partenaires - qui peuvent aussi être concurrents - reste complexe.
Tout cela peut être fait beaucoup plus facilement dans un environnement de blockchain. Et encore plus dans une blockchain privée. Le fabricant et ses fournisseurs partagent alors le même registre, de manière distribuée, ce qui signifie que chaque acteur en possède une version et qu'il voit la même chose que les autres membres du réseau.
Il n'y a plus qu'un seul système. Et donc beaucoup moins de confusion. Il n'est pas nécessaire de rapprocher les transactions. Il n'y a pas non plus besoin des ressources de traitements exigés par un consensus complet... ni de Smart Contract.
Un pilote de SAP, basé sur la plate-forme open source MultiChain, en est une parfaite illustration. L'éditeur allemand a travaillé avec 15 entreprises de l'industrie pharmaceutique pour déployer une blockchain (un réseau sectoriel) qui sert à suivre et à retracer les médicaments prescrits sur ordonnances. Le but final est de se conformer aux prochaines contraintes légales américaines du Drug Supply Chain Security Act.
« MultiChain est l'option qui correspondait le mieux », témoigne Gil Perez, SVP Products & Innovations, Head of Digital Customer Initiatives chez SAP. « Les Smart Contracts n'ont même pas été nécessaires pour fournir les fonctionnalités et le degré de performance exigées par les compagnies membres ».
Conclusion
La crypto-monnaie peut être échangée (et gérée) par n'importe qui, ce qui crée des problèmes de sécurité et de performance pour les réseaux blockchain.
Dans le même temps, comme le montre le projet SAP, les usages d'entreprise peuvent ne garder que les composants clés de la technologie, d'une manière plus efficace, pour motoriser des applications dans des environnements contrôlés.
Il est donc grand temps de rompre le lien sulfureux entre la blockchain et la crypto-monnaie dans l'esprit des responsables d'entreprises. Mais aussi de réduire la complexité de la blockchain qui freine aujourd'hui les entreprises dans leur adoption de cette technologie pourtant prometteuse.
David A. Teich (Teich Communications) avec Philippe Ducellier (LeMagIT)