Hyperledger, des solutions blockchain pour les entreprises
Aujourd'hui nous nous intéressons à Hyperledger, une suite d'outils de développement blockchain. Orientée pour servir à la création et à l'utilisation de blockchains, c'est la suite de composants la plus utilisée dans les projets et tests réalisés par les entreprises. Elle contient de nombreux modules qui ont de nombreuses fonctionnalités comme notamment la gestion de smart-contracts ou de différents algorithmes de consensus. Je vous les présente aujourd'hui.
Ce sont donc des outils très complets, puissants mais également complexes. Il vous faudra connaître certains langages de programmations tels que Java, Go ou Javascript, mais également des connaissances dans le domaine du cloud computing et du réseau puisqu'il vous faudra utiliser Docker. Néanmoins vous retrouverez de nombreuses ressources pour vous lancer sur ces derniers. Il y a vraiment de quoi faire avec toutes les fonctionnalités que propose la très grande gamme d'outils mise à disposition par Hyperledger. Attention tout de même : certains de ces outils ne sont pas lancés et restent encore en phase d'incubation. Cela résulte du fait que toutes les propositions de valeurs annoncées ne sont pas totalement disponibles, mais ça n'empêche pas de s'y intéresser.
Les frameworks d'Hyperledger
La suite Hyperledger se décompose en six frameworks (infrastructures logicielles) différents : Sawtooth, Fabric, Indy, Iroha, Burrow et Grid.
Sawtooth
Sawtooth est un projet open source propulsé par Hyperledger. Dédié aux entreprises, il permet la création et le déploiement de blockchains et de registres distribués. Les registres distribués permettent notamment de garantir une meilleure sécurité des smart-contracts déployés. Il simplifie le développement d'applications d'entreprises en réduisant le besoin de connaissance du fonctionnement du cœur du système.
En effet, l'une des fonctionnalités phare de Sawtooth est de séparer le système en deux niveaux. Le premier niveau est dédié à la base logicielle du système alors que la deuxième est une surcouche d'applications. Cela veut dire que vous pouvez développer des solutions sans vous préoccuper du fonctionnement interne spécifique, et notamment développer des smart-contracts dans le langage de votre choix.
Fabric
Hyperlegder Fabric a pour but de simplifier la création de blockchains et de smart-contracts. L'objectif est de proposer des services plug-and-play pour différents cas d'utilisation pour les entreprises.
Le système fonctionne autour de différents concepts. Ces derniers peuvent être adaptables au projet en cours et s'adaptent aux différents besoins :
- Les assets. Cela correspond à ce qui sera déployé sur les registres du projets, cela peut correspondre à tout ce qui a une valeur fiduciaire, des voitures de luxes à des ETF en passant par de l'immobilier par exemple.
- Les chaincodes. C'est la logique du système mis en place. C'est via ces chainscodes que l'utilisateur pourra définir la nature des assets, des transactions et des règles de l'application.
- Les registres. Les registres de Fabric contiennent l'historique de toute les modifications des différents éléments du système, modifications qui peuvent être par exemple des transactions. Les registres sont donc au cœur de l'application, et possèdent de nombreuses fonctionnalités destinée à des usages d'entreprises.
- L'intimité des utilisateurs. Fabric permet de choisir aux architectes du système d'ouvrir à tous l'accès aux registres et aux différents canaux de transactions. À terme, les utilisateurs pourraient séparer différents canaux spécifiques de registres publics, ce qui permettrait ainsi de séparer les différentes fonctionnalités d'un même système.
- L'identité et la sécurité des participants. Les système orchestrés par Fabric sont des systèmes où l'identité de chaque participant est connue. Cela permet de rendre les informations et manipulations accessibles à différents niveaux d'habilitation.
- Le consensus. Le consensus d'un système fonctionnant sur une blockchain signifie plus que le choix de l'algorithme régissant les transactions de ce dernier. Cela concerne également par exemple les choix concernant les données privées des utilisateurs, et plus globalement tout le cheminement de l'architecture du système.
Fabric est le framework phare d'Hyperledger, et les solutions développées avec son utilisation sont principalement compatibles avec leurs autres outils. C'est donc dès l'architecture du projet qu'il faut étudier les possibilités qu'offre Hyperledger et en profiter au maximum.
Indy
L'outil Indy développé par Hyperledger permet de mettre en place des nœuds sur les réseaux en lien avec le projet Sovrin. Ce dernier est une solution permettant de déployer sur un réseau des documents d'identités tels que des cartes d'identités ou des permis de conduire. Ces nœuds peuvent valider les différentes transactions du réseau ou simplement des accès à ce dernier. Indy permet donc de mettre les clients des projets au cœur des décisions des projets, tout en garantissant une sécurité et une facilité d'utilisation.
Les cas d'utilisation de ce genre de système sont nombreux, notamment permettre de déployer une identité unique et utilisable dans différents réseaux tout en gardant son contrôle. Les autres applications utilisant ce réseau pourront alors avec consentement avoir accès de manière totale ou partielle à ces informations. Cela peut simplifier par exemple les formalités et vérifications lors de recrutements ou de contractions de prêts.
Iroha
Iroha est spécialement destiné, comme la plupart des outils d'Hyperlegder, aux entreprises. Il permet de déployer des systèmes utilisant des blockchains privées, sans token d'utilisation. Les différentes interactions avec les applications ne sont pas libres comme le peuvent être celles avec Ethereum par exemple. Un système de permission est donc en place, tant pour les interactions que pour l'accès aux informations. Les fonctions simples de transfert et de récupération d'informations peuvent être directement implémentées sans avoir à être reprogrammées. Cela permet aux entreprises de développer des applications très rapidement et facilement, tant pour des tests spécifiques que pour des mises en production.
L'algorithme de consensus de cet outil est le BFT (Byzantine Fault Tolerant). C'est un algorithme qui permet de déployer de nombreuses transactions avec des délais très faibles. N'hésitez pas à vous lancer dans l'aventure du développement en utilisant Iroha. Vous pouvez retrouver dans la documentation des explications à propos des concepts principaux. Cela vous permettra de définir si Iroha est utile pour votre application et vos utilisateurs.
Burrow
Hyperlegder Burrow est un framework destiné à l'utilisations de smart-contracts sur la machine virtuelle Ethereum. Vous pouvez déployer votre propre nœud Ethereum, communiquer avec votre propre chaîne et interagir avec l'EVM. Mais une fois le système déployé, vous pourrez ajouter facilement des nœuds supplémentaires, modifier les consensus des applications, et ajouter des validateurs au réseau.
Le projet Burrow est encore au stade de l'incubation, mais vous pouvez déjà utiliser certaines de ses fonctionnalités.
Grid
Grid vous permet de développer des solutions reposant sur des registres distribués dédiés aux problématiques liées aux chaînes d'approvisionnement. En revanche il n'est pas dédié à la facilitation d'implémentation des registres ou des interfaces graphiques pour les utilisateurs. Grid est plutôt composé de nombreuse librairies et exemples de gestions de données afin d'accélérer le développement de smart-contracts lié aux chaînes d'approvisionnement.
Vous pouvez retrouver différents répertoires pour vous aider à développer votre solution. Malgré le statut de Grid, encore en incubation au sein de la société Hyperledger, vous pouvez tout à fait travailler sur la gestion des données ou des smarts-contracts.
Les outils Hyperledger
Outre les frameworks qui la compose, la suite Hyperledger met également à disposition sept outils différents : Aries, Caliper, Cella, Composer, Explorer, Quilt et Ursa.
Aries
Aries est un kit d'outils dédiés à l'utilisation de blockchains dans le cas de projets liés à la manipulation d'identifiants numériques vérifiables dans la vie réelle. Il a notamment été utilisé par exemple dans le cadre du projet Sovrin pour le déploiement d'une identité digitale. Le kit contient :
- Un outil de création et de signature de transactions.
- Un portefeuille cryptographique pour le stockage des données.
- Un système de communication sécurisé en dehors des registres distribués.
- Un outil de développement d'applications de haut niveau, semblable à une API.
Caliper
Caliper est un outil d'étude et de mesure des performances d'une blockchain en fonction de ses utilisations. Créé face au manque d'évaluation des projets blockchain, Caliper veut répondre à cette demande en simplifiant cette démarche de diagnostic. Les résultats des études se présentent sous la forme de rapports. Les indicateurs utilisés peuvent être par exemple le nombre de transactions par minute, mais également les temps de validation ou l'utilisation des ressources. Caliper ne sera pas seulement utilisable sur des projets se basant sur les frameworks Hyperledger, mais il est encore actuellement en incubation.
Cello
Également en incubation, le projet Cello a pour but de faciliter le déploiement de BaaS (Blockchain as a Service). Ce n'est donc pas une offre cloud qui permet de créer facilement son application décentralisée, mais un outil pour créer ses propres services par la suite. Cello supporte l'utilisation de services externes comme Docker, Kubernetes ou encore des dashboards et du monitoring réalisé par l'utilisateur. Actuellement le projet supporte principalement le consensus de Fabric, mais à terme il permettra l'utilisation de blockchains de tout les types.
Composer
Hyperledger Composer permet de diminuer les temps de développement d'applications sur des blockchains. Selon la documentation, créer une solution répondant à une problématique précise prendrait des semaines plutôt que des mois. C'est notamment très utile lors de la création de PoC (Proof of Concept) ou autres projets rapides en entreprise. Le réseau fonctionne autour de trois différents modèles : les participants, les assets et les transactions. Vous pouvez tester directement Composer, sans avoir à le télécharger puisqu'il existe une version web.
Explorer
Encore un projet en incubation, Explorer est comme son nom semble l'indiquer un explorateur de blockchain. Vous pouvez l'utiliser pour développer des interfaces utilisateur sous forme d'applications web à vos réseaux blockchain. Cela permet d'afficher différentes informations de manière simple, telles que les transactions, le statut du réseau ou des précisions sur les nœuds. Mais Explorer permet également d'interagir avec ce dernier, déployer ou utiliser des smarts-contracts.
Quilt
Quilt est un protocole de communications entres différents registres, distribués ou non. Il repose sur l'utilisation de standards de développement, et permet donc de réaliser des interactions avec des systèmes complètement différents. La principale fonctionnalité est donc l'atomic swap entres différents projets, mais également la récupération d'informations entre des applications. Le fonctionnement repose sur trois piliers techniques :
- Des règles de développement afin de permettre l'interopérabilité des projets.
- Un standard d'adresses et de transfert de données qui permet la mise en place de route de connexion.
- Un framework pour faciliter le développement d'applications en fonctions des besoins spécifiques.
Ursa
Le dernier outil que propose Hyperledger, Ursa, est une librairie d'outils cryptographiques. Pas besoin de perdre du temps à réinventer la roue pour développer votre projet. Prenez plutôt l'un des sous-projets d'Ursa, afin de vous mettre plus rapidement au développement des fonctionnalités qui comptent. Il en existe actuellement deux de disponible :
- "Base Crypto" Library. La principale fonctionnalité de cette librairie est les différentes implémentations de schémas de signature, qui peuvent être modifiées à la volée.
- Z-Mix, pour des projets plus complexes utilisant de multiples outils cryptographiques.
Utiliser Hyperledger
Vous avez découvert la puissance de ces outils, et vous souhaitez aller plus loin et les tester ? Vous avez à votre disposition de nombreuses ressources pour vous faire la main sur ces derniers. Partez en effet découvrir des vidéos, tutoriels et même des cours de manière totalement gratuite, directement sur le site d'Hyperledger. Et il ne s'agit pas forcément de sujets techniques, mais de différents pôles de connaissances utiles pour toute entreprise désirant se lancer dans des services et applications liés à la blockchain. Vous retrouverez également de nombreux articles disponibles, des infographies, des présentations de projets et des whitespapers. Et si vous maîtrisez déjà les outils d'Hyperledger, vous pouvez retrouvez des offres d'emploi, pour des profils technique ou commercial.
Si vous souhaitez présenter la blockchain ou les services d'Hyperledger dans le cadre scolaire, vous avez également des ressources pour vous aider. Que vous soyez professeur ou étudiant, différentes options s'offrent à vous. Des présentations, des meetings et même une université d'été sont proposés par l'entreprises à tous ceux qui souhaite en apprendre davantage sur le sujet.
Voilà c'est tout pour cette présentation de Hyperledger, un ensemble de solutions autour de la blockchain et des registres distribués principalement dédiés aux entreprises. N'hésitez pas à nous contacter si vous avez encore des questions, et si vous souhaitez travailler sur l'un de ces outils. Retrouvez très prochainement des tutoriels d'utilisations des outils sur notre site.