L'essentiel sur Hyperledger, la superstar de la blockchain privée
Soutenue par la Linux Fondation et par IBM, Hyperledger est taillée dès l'origine spécialement pour les entreprises, exclusivement pour un contexte de blockchain de consortium.
Hyperledger est la blockchain la plus complète et la plus adaptable des blockchains privées. Elle est taillée dès l'origine spécialement pour les entreprises.
Ses Smart Contracts, nommés « chaincodes » sont codés principalement dans le langage de programmation Go, mais peuvent l’être aussi en Java ou JavaScript (Node.js).
Le déploiement de cette blockchain est néanmoins très complexe. L'ensemble des composants qu'il faut mettre en œuvre pour qu'un seul nœud soit opérationnel nécessite beaucoup d'ingénierie et de configuration.
Hyperledger est en effet constitué de composants que l'on peut (et doit) assembler à sa guise. Chacun nécessite de savoir les choisir selon son contexte, les paramétrer et les utiliser.
Certains composants sont indispensables, comme le choix de l’algorithme de consensus, le protocole de communication ou le stockage des données.
C'est le cas du composant d’identité, qui peut reposer sur une infrastructure de génération de clefs (PKI). Toute la sécurité d'Hyperledger reposerait sur ces clefs. Or, la PKI est en elle-même une activité complète à déployer en entreprise à laquelle se dédient des entreprises spécialisées (Keynectis/OpenTrust).
Flexibilité et complexité
Ultra-flexible, Hyperledger stocke les données de l’état de la blockchain préférentiellement dans les bases de données NoSQL Google LevelDB ou CouchDB. Cela implique de choisir un moteur de stockage - et donc de faire une étude avec les DBA (administrateurs de base de données) selon les besoins du projet blockchain, les licences existantes, les compétences internes, la scalabilité souhaitée, etc. Pour simplifier ce choix, Hyperledger fournit néanmoins, en mode développement, des "quickstarts" dans lesquels LevelDB est packagé.
Autre difficulté, le moteur de Smart Contract « chaincode » est un composant système à part entière. D'un point de vue architecture, le nœud en lui-même est chargé de gérer toutes les connexions réseau avec les autres nœuds. Les instances de Smart Contract, elles, sont des composants qui vont être déployés autour de ce nœud dans des conteneurs Docker exclusivement. Hyperledger exige donc d'avoir également des compétences dans ce domaine.
Un autre composant précise le type de consensus (preuve de travail par exemple, même si elle n'a pas grand sens dans un consortium, ou preuve personnalisée à l'envie). Ce moteur concourt à la gestion de la confidentialité des données entre les noeuds - qui est elle-même personnalisable de manière très poussée et très fine dans un module dédié. La personnalisation du consensus est potentiellement illimitée et nécessite une phase de spécification et de conception particulière.
Hyperledger est de loin la blockchain la plus complète du marché - ce qui explique que IBM a pu faire un Roadshow et multiplier les PoC (preuves de concept) dans des industries très différentes (SACEM, MAERSK, Wallmart, etc.).
Mais que l'on ne s'y trompe pas. Cette liberté à un prix - technologique et financier.
La complexité inhérente à cette liberté fait que Hyperledger est aussi la blockchain de choix des grandes ESN et des intégrateurs... qui peuvent facturer du service.
Certains projets débutés sur Hyperledger - justement parce qu'elle est une blockchain robuste, sécurisée, capable de répondre à tous les cas métiers - ont été migrés sur d’autres blockchains à cause de cette complexité. C'est le cas d'un grand constructeur automobile qui, après 6 mois de projet, a jeté l'éponge pour revenir à un choix plus pragmatique, Ethereum.
Reste que Hyperledger est aujourd'hui LA blockchain de référence et que son adaptabilité a séduit des éditeurs comme SAP ou Oracle.
Indépendamment du code - open source - d'Hyperledger auquel il contribue, IBM propose des outils d'administration et de sécurité packagés pour piloter la mise en production et l'exploitation (haute disponibilité, quel nœud est ok, quel nœud est HS, etc.) sur son Cloud Bluemix.
Bref, Hyperledger joue les premiers rôles dans la Blockchain, mais elle demande beaucoup de compétences pour mener à bien les projets.