Bài 2: Présentation d’Hyperledger Fabric. Structure d’un réseau Hyperledger Fabric

Bài 2: Présentation d’Hyperledger Fabric. Structure d’un réseau Hyperledger Fabric

1. Présentation d’Hyperledger Fabric

Comme je l’ai expliqué dans l’article précédent, une blockchain publique est un réseau ouvert dans lequel n’importe qui peut participer, interagir avec le réseau et consulter les données. Cela peut poser des problèmes à certaines organisations qui ne souhaitent pas rendre publiques les données de leurs activités. De plus, la plupart des organisations n’ont besoin que de certaines caractéristiques de la blockchain et n’ont pas besoin de la fonctionnalité “consensus” de la blockchain publique. C’est là qu’intervient Hyperledger Fabric.

Hyperledger Fabric est l’un des cinq cadres blockchain faisant partie de la stratégie Hyperledger Umbrella de la Fondation Linux. Les cinq cadres sont Hyperledger Indy, Hyperledger Fabric, Hyperledger Iroha, Hyperledger Sawtooth et Hyperledger Burror. Il est important de noter qu’Hyperledger Fabric a été contribué par IBM, un géant de l’industrie.

Hyperledger Fabric est très modulaire, ce qui permet aux entreprises de créer facilement un réseau blockchain privé adapté à leurs besoins spécifiques. La version la plus récente d’Hyperledger Fabric au moment de la rédaction de cet article est la version 2.0.0-alpha.

2. Architecture d’un réseau Hyperledger Fabric.

2.1 Architecture simplifiée d’un réseau Hyperledger Fabric

Architecture simplifiée

Dans cette architecture, chaque composant joue un rôle spécifique:

  • N: Réseau.
  • NC: Configuration du réseau.
  • C: Canal, regroupe les organisations qui jouent un rôle spécifique dans un processus métier donné. Par exemple, un canal de vente de voitures peut comprendre deux organisations: un fabricant automobile et un concessionnaire automobile.
  • CC: Configuration du canal.
  • R: Organisation.
  • O: NÅ“ud ordonnanceur. Contrairement à une blockchain publique où tous les nÅ“uds participent au processus de consensus, dans Hyperledger Fabric, seul le nÅ“ud ordonnanceur participe à ce processus.
  • P: Pair, point d’interaction entre les membres de l’organisation correspondant au canal. Toutes les actions des utilisateurs doivent passer par le pair.
  • S: Smart Contract (Chaincode), installé sur le canal, définit les structures et les actions que les utilisateurs peuvent effectuer pour interagir avec l’état de la structure stockée dans la ledger. Par exemple, une structure de type de voiture peut être définie comme suit:
type Car struct {
CarID string
OwnerID string
Description string
}
  • L: Système de grand livre (Ledger), stocke l’état des objets. Par exemple:
car01 := Car{CarID: "Merc", OwnerID: "thienthangaycanh", Description: "ABC" }

L’objet car01 sera stocké dans le grand livre sous forme de clé-valeur, la clé étant déterminée par le code du Smart Contract, et la valeur étant la valeur de car01 sous forme de []byte. Il est important de noter que la manière de stocker des données dans le grand livre est conforme à la technologie blockchain, mais tout processus de hachage ou de traitement supplémentaire de cette paire de valeurs est inconnu pour le moment. Pour des détails plus approfondis, vous pouvez consulter le projet GitHub officiel d’Hyperledger Fabric à l’adresse suivante: https://github.com/hyperledger/fabric.

  • CA: Autorité de certification, émet des identités pour les utilisateurs ou les nÅ“uds de l’organisation correspondante. Par exemple, lorsque l’utilisateur A est membre de l’organisation R1 et souhaite rejoindre le réseau, il envoie une demande à CA1, qui créera une identité composée d’une clé privée, d’une clé publique et d’autres attributs pertinents, puis la renverra à l’utilisateur A. À partir de là , A utilisera cette identité pour effectuer des interactions avec le réseau et le réseau reconnaîtra automatiquement qu’A provient de l’organisation R1.

  • A: Application, interface utilisateur (site web, application mobile) permettant aux utilisateurs d’interagir plus facilement avec le système.

À lire aussi  Le chemin vers devenir un expert diplômé de la récupération automobile

Tous les composants ci-dessus peuvent être exécutés dans des conteneurs Docker ou décrits dans le code, nous les considérerons donc comme des composants physiques du réseau, car nous les ajouterons à l’architecture du réseau. Cela signifie qu’il y a des concepts que nous ne verrons pas mais qui sont très importants. Nous les aborderons si vous souhaitez utiliser le framework.

2.2 Processus de construction du réseau

Étape 1: Explosion du Big Bang
Structure d'un réseau Hyperledger Fabric

L’image ci-dessus montre le démarrage d’un réseau N. Il comprend un nÅ“ud ordonnanceur O4, qui exécute un service appelé “Services de commande”, l’organisation R4, qui possède les droits de gestion du réseau N, et ces informations sont stockées dans la configuration du réseau NC4. Le nÅ“ud CA4 a pour tâche de délivrer des identités aux utilisateurs, nÅ“uds ou applications de l’organisation R4.

De cette façon, nous pouvons comprendre qu’en disant qu’Hyperledger Fabric est un réseau privé blockchain, ou un framework pour construire un réseau privé blockchain, les deux sont corrects.

Étape 2: Ajout d’une organisation de gestion
Structure d'un réseau Hyperledger Fabric

Au départ, NC4 est configuré pour permettre à l’organisation R4 de gérer le réseau. À ce stade, nous ajouterons l’organisation R1 au réseau et lui accorderons les mêmes droits de gestion que R4.

Nous pouvons voir que CA1 est également ajouté, CA1 fournira une identité aux utilisateurs de R1. À partir de maintenant, les utilisateurs de R1 et de R4 ont les mêmes droits de gestion du réseau.

Bien que O4 soit en cours d’exécution sur une infrastructure quelconque de R4, R1 a les mêmes droits que R4 vis-à -vis de O4.

À lire aussi  Comment réparer une prise électrique ?

Étape 3: Définition d’un consortium

Actuellement, le réseau peut être géré par R1 et R4, et il y a très peu d’actions qui peuvent être effectuées dans le réseau. Pour associer les actions commerciales au réseau, la première chose à faire est de définir un consortium (groupe – groupe). Ça veut dire qu’un groupe d’organisations appartient à une activité commerciale, par exemple une organisation de fabrication automobile et une organisation de distribution automobile qui reçoit les voitures du fabricant à l’utilisateur.