De l’avantage d’intégrer Blockchain à une architecture distribuée
Selon Ranbir Mazumdar, consultant chez Oracle, les professionnels IT doivent analyser le fonctionnement des architectures Blockchain pour en comprendre les bénéfices, notamment dans l'IoT. Bénéfices qui dépassent largement l'exemple de Bitcoin.
Le Bitcoin transforme la manière dont la société considère la monnaie. Mais selon Ranbir Mazumdar, consultant commercial principal chez Oracle, les concepteurs de logiciels doivent analyser son fonctionnement afin d'en savoir plus sur son architecture Blockchain sous-jacente.
Ce type de système informatique distribué offre de formidables perspectives pour les nouveaux styles d'architectures peer-to-peer non sécurisées. Et cela est particulièrement important, lorsqu'on sait que les consommateurs sont de plus en plus préoccupés par la confidentialité et que les architectes d'entreprise souhaitent innover dans les applications IoT.
Selon Ranbir Mazumdar, les techniques courantes de fédération d'appareils telles que le langage de balisage d'assertion de sécurité (en anglais Security Assertion Markup Language, SAML) et le passage de token pourraient être trop lourdes pour les capteurs. La mise en œuvre d'un système de sécurité sur des capteurs est beaucoup plus difficile que le modèle actuel d'approbation en cascade. La création d'un jeton SAML sur un appareil intégré gaspille environ 150 kilojoules. Avec la structure appropriée, une architecture de type Blockchain serait beaucoup plus performante.
Mettre en œuvre un modèle non sécurisé efficace exige de bien comprendre l'arbitrage à faire entre performances, stockage des données, sécurité et incitations.
Dans certains cas, la solution consistera à utiliser des chaînes latérales (side-chains) pour relier entre eux plusieurs réseaux de transactions. Dans d'autres, on pourra concevoir la chaîne des connexions afin de trouver un équilibre entre exigences de traitement, besoins en termes de stockage et sécurité. L'exploitation optimale des cadres et des outils peut permettre de répondre à ces besoins.
Création d'un réseau de confiance
Les principes sous-jacents de Blockchain permettent de résoudre un difficile problème informatique : le « problème des généraux byzantins ». En substance, les personnes essaient de coordonner leurs efforts sans se faire confiance et sans passer par une autorité centrale.
La « chaîne de blocs » utilise les principes de la cryptographie pour s'assurer que toutes les parties contribuent à la réalisation d'un objectif commun d'une manière qui peut être validée par toutes les parties concernées. « La beauté de cette technologie est qu'elle est extrêmement pertinente et facile à mettre en œuvre », s’émerveille Ranbir Mazumdar.
L'architecture fondamentale de Blockchain crée un système distribué d'enregistrement vérifiable par n'importe quelle partie. Cet enregistrement, pris dans son ensemble, peut être très volumineux, mais chacun des nœuds peut en stocker une partie, ou stocker une simple clé de chiffrement permettant de reconstituer un chemin de transactions particulier.
Ainsi, il devient plus facile de suivre les transactions correspondant à un appareil IoT, avec un minimum d'espace de stockage ou de puissance de traitement sur chaque nœud. L'enregistrement peut également être combiné avec les éléments de données issus des capteurs sur le terrain ou des personnes ou entreprises participant aux processus de la chaîne d'approvisionnement.
Le principe de base d'une chaîne de blocs repose sur la notion de preuve de travail, et a recours aux techniques de la cryptographie pour vérifier les détenteurs distincts d'un système d'enregistrement collectif.
La fiabilité des détenteurs de différentes parties de ce système distribué peut être rapidement vérifiée à l'aide d'une simple opération cryptographique. L'algorithme force les détenteurs d'enregistrements à ajouter de nouvelles données dans la chaîne comme preuve de travail.
Incidences des différentes utilisations
Problème, cet enregistrement peut devenir très volumineux avec le temps. Le registre Bitcoin actuel atteint par exemple, collectivement, plusieurs centaines de gigaoctets. Mais chacun des nœuds chargé d'alimenter le registre n'a besoin d'en détenir qu'une infime partie pour préserver son autorité. Il suffit en fait aux utilisateurs de conserver leurs clés de chiffrement, qui sont beaucoup plus petites.
La majeure partie de l'activité de traitement associée à cette infrastructure peut elle aussi être distribuée. Seuls quelques nœuds « hautes performances » exécutent l'essentiel du travail et les utilisateurs ont besoin d'une puissance de traitement relativement faible pour authentifier les transactions.
Selon les explications de Ranbir Mazumdar, des appareils relativement simples, tels que des capteurs, pourraient ainsi fournir des services distribués d'une manière permettant aux consommateurs de payer pour leur utilisation.
Cela peut néanmoins poser un problème : la chaîne peut en effet se développer plus rapidement à mesure que le débit de traitement des transactions augmente. Actuellement, la chaîne de Bitcoin est actualisée toutes les 10 minutes. Si elle était plus lente, l'infrastructure de traitement Blockchain nécessiterait moins d'espace de stockage.
Simplification des mises en oeuvre spécifiques au moyen de « side-chains »
Autre difficulté : Blockchain croit également plus rapidement à mesure que la chaine reçoit des données plus complexes.
Ranbir Mazumdar explique que l'une des meilleures pratiques pour résoudre ce problème consiste à utiliser des « chaînes latérales ». Il s'agit essentiellement de réseaux Blockchain distincts qui sont connectés à des réseaux plus importants pour accélérer le stockage des transactions ou des données.
Cette solution peut toutefois être difficile à mettre en œuvre en toute sécurité. Il est également possible d’avoir recours à des solutions logicielles comme celles de Blockstream ou d’Ethereum pour mettre en œuvre plus efficacement l'architecture, la logique et le code sidechain.
IBM a par exemple récemment utilisé Ethereum pour mettre en œuvre une validation de principe des « contrats intelligents » appelée ADEPT. La société projette de permettre à des appareils situés dans une maison ou dans un bureau d’utiliser les principes du Blockchain pour communiquer avec d’autres appareils placés à proximité, de manière à faciliter l'échange de puissance électrique et à améliorer l'efficience énergétique.
Ranbir Mazumdar projette de tirer parti des mêmes principes dans le secteur de la fabrication pour créer des enregistrements distribuées. L’objectif est de suivre plus facilement l'ensemble des composantes embarquées dans des équipements complexes tels qu'un aéronef. Si un problème survient, l’autorité de régulation (aux Etats-Unis la FAA) pourra suivre toutes les personnes impliquées dans la création d'une pièce défaillante, sans dépendre des fichiers d'une entreprise.
« Nous avons besoin d’une plateforme contractuelle programmable et décentralisée », conclut Ranbir Mazumdar qui précise que « cette plateforme doit être assez robuste pour gérer la communication de façon transparente entre les silos et les architectures, et ce en ayant la plus faible impédance (NDR : interférence sur les performances de la base) possibles. »