Bitcoin
Le projet Hyperledger a été initié par la fondation Linux en 2015 et par un groupe de membres venant de différentes industries et une communauté de développeurs en vue de repondre aux besoins d’application. IBM fut l’un des premiers membres. Le projet compte maintenant plus de 200 membres, dispose d’une strucutre active (« Fabric ») et de 7 autres projets en développement. Hyperledger est un projet open source et open gouverance qui offre à ses membres une structure technologique pour developper un projet reposant sur une blockchain (le protocole, la blockchain et les smart contracts) mais également un environnement et les outils nécessaires pour développer le projet et mettre en relation les differentes parties au projet. L’objectif est de mettre en place une plateforme open source et interindustries pour developper des projets reposant sur une blockchain pour leur permettre une experimentation rapide. Hyperledger propose 5 structures (Fabric, Sawtooth, Indy, Iroha et Burrow) et 4 outils pour faciliter le developpement des applications sont actuellement en developpement (Cello, Quilt Composer and Explorer). Hyperledger va plus loin que Bitcoin et Ethereum en proposant d’alligner le protocole sur les besoins très concrets des applications développées par les entreprises. Hyperledger Fabric |
Bitcoin |
Ethereum |
Hyperledger |
|
Token |
Bitcoin | Ether | Non |
Smart Contract |
Non | Oui Smart Contracts |
oui Chain Code |
Type de Blockchain |
Publique | Publique |
Publique/ Privée |
Méthode de Consensus | Proof of Work | Proof of Work |
Publique/ Privée |
LES SERVICES D’HYPERLEDGER FABRIC
Une des principales caractéristique d’Hyperldger Fabric est sa flexibilité. Son objectif est de permettre le plus d’interaction entre les membres d’hyperledger tout en étant au plus proche de leur besoins opérationnels.
Hyperledger offre quatre types de services: Identity services, Policy Services, Blockchain Services, Smart Contract services.
– Identity Services: comme son nom l’indique ce service permet de gèrer l’identité des parties membres du réseau.
– Policy Services: gère les questions d’accès au réseau, de confidentialité, les règles du consortium ainsi que les règle de consensus.
– Blockchain Services: ce service gère les questions liées au protocol de communication de pair à pair, l’état de la blockchain, l’algorythm de consensus utilisé par le mécanisme de consensus.
– Smart Contract services: offre un environnement d’execution pour les Chaincode. Ce service est seulement disponible pour les « membres entiers (« full nodes ») aussi connus sous le nom de « membres validateurs » (« Validating noeds »). Ce service inclus également les compartiments sécurisés (« secured containers ») correspondant à la Machine Virtuelle Ethereum (« Ethereum Virtual Machine » ou « EVM ») servant à l’execution des Chaincodes.
Les applications communiquent avec chacun de ces services à travers des API. CLI est une interface utilisée pour invoquer ces API.
LES MODELS AND FUNCTIONS D’HYPERLEDGER FABRIC
Le modèle d’Hyperledger Fabric est consititué de nombreux éléments que nous allons décrire individuellement:
1- Les Membres (« Peers »): Les « Peers » sont des membres du réseau qui initient les transactions et tiennent à jour l’état de la blockchain. Il y a trois types de membres. les « Endorsing Peers » ou « Endorsers » ont pour mission de recevoir, valider et signer les transactions qu’ils recoivent et de les retourner à l’application qui les a créés. « Ordering services » ont pour mission de collecter les transactions qui ont été validées, de la ajouter dans les blocks et de les envoyer au « Commiting Peers ». Ces derniers, vérifient que les transactions n’ont pas été réalisées plusieurs fois ainsi que la signature et les ajoutentent à la blockchain.
2 – Assets: les actifs representent les biens tangibles ou intangibles qui sont représentés sur la blockchain et échangés sur le reseau, tels que des titres financiers ou de la nourriture. Ces biens sont formalisé sur Hyperledger en « <key.value> » dans un Json file.
3 – Chaincode: ce sont les smart contracts utilisés sur Hyperledger. Ils ont pour fonction de définir les actifs que nous devons d’évoquer en organisant leur stockage, ainsi que les fonctions qui permettent d’agir sur ces actifs et changer leur état.
Les smart contracts peuvent également inclure les règles et politiques specifiques aux applications.
4 – Ledger: la blockchain utilisée par Hyperledger est la même que les autres blockchain, c’est à dire un registre qui marque dans le temps les changements de transactions ou d’état de la blockchain. Les changements d’état sur la blockchain sont initiés par les fonctions des Chaincode elle-même actionnées par des transactions envoyées par les membres du réseau. Ce fonctionnement n’est pas très different de celui utilisé par Ethereum.
Une <key-value> est attachée à chaque transaction ce qui fait demla blockchain un registre de stockage des <key-value>.
5 – Channels: ces cannaux offrent la possibilité d’utiliser « Fabric » de manière privative et confidentielle, c’est à dire uniquement par les membres qui auront été présélectionnés et sur une blockchain privée. Il est toutefois possible de réaliser des transactions entre différents cannaux grâce à des cross chain Chaincode selon les règles déterminées dans le Chaincode.
6 – Membership: A la différence des blockchain publiques comme le bitcoin qui sont ouvertes à tous, les blockchains utilisées par Hyperledger sont privées et impliquent donc que l’idéntité de tous les membres soit connue. L’identié des « Peer Nodes », des « Client Applications », des « Business Entities » et des « Administrateurs » est établie digitalement à travers un certificat X.509.
Ces certificats contiennent le rôle de chacune des entités et leur niveau d’accès aux informations contenues sur la blockchain.
7- Consensus method: le mode de consensus est la technique utilisée par les membres du réseau pour decider quel block de transaction sera le prochain à être ajouté à la blockchain et par quel membre. La vérification de l’ordre et de la validité des transactions fait parti du mechanisme de consensus.
Hyperledger présente un avantage important à cet égard. Le fait pour le membres du réseau de pouvoir choisir entre différentes methodes de consensus.
Comme nous l’avons déjà évoqué dans notre article sur les différences entre blockchains publiques et privées, le mode de consensus dépend du niveau de confiance qu’il y a entre les membres du réseau. Plus il y a de confiance, plus le mode de consensus peut être léger. En effet le mode de consensus assure la sécurité du réseau, il est donc normal qu’un réseau sur lequel les membres ne se connaissent pas adopte un mode de consensus plus sécurisé (comme le mécanisme du Proof of Work par exemple).
Dans le cas d’Hyperledger, les membres du reseau se connaissent, le mode de consensus choisis peuvent donc être moins sécurisé (tel que PBFT, « round robin policy » ou encore « Simple Consensus »). Evidement, il est également possible d’utiliser le mécanisme du Proof of Work avec Hyperledger.
LES FONCTIONNALITES D’HYPERLEDGER FABRIC
Hyperledger Fabric offre d’abord la possibilité d’utiliser une blockchain et de la paramétrer pour qu’elle corresponde aux besoins des membres du réseau. Fabric permet de mettre en place des blochchain privées et d’assurer la confidentialité des transactions réalisées entre les membres. Il est également possible de ne pas révéler l’identité des membres qui ont rejoint le réseau.
Fabric permet ensuite de ségréguer les blockchain crées, les une par rapport aux autres, tout en permettant l’échange d’informations entre elles à l’aide e Chaincodes.
Hyperledger offre donc un environnement de développement extrêmement efficace et flexible pour créer un réseau reposant sur une blockchain.