Par Matt Zand
résumer
Dans notre article précédent (Examen de cinq DLT Hyperledger populaires – Fabric, Besu, Sawtooth, Iroha et Indy), nous avons discuté des technologies Hyperledger Distributed Ledger (DLT) suivantes.
- Hyperledger Indy
- Tissu Hyperledger
- Hyperledger Iroha
- Hyperledger dent de scie
- Hyperledger Besu
Pour continuer notre voyage, dans cet article, nous discutons de trois outils Hyperledger (Hyperledger Caliper, Cello et Avalon) qui agissent comme d’excellents accessoires pour tous les DLT Hyperledger. Il est à noter qu’au moment de la rédaction de cet article, les trois outils discutés dans cet article sont au stade de l’incubation.
Pied à coulisse Hyperledger
Caliper est un outil d’analyse comparative pour mesurer les performances de la blockchain et est écrit en JavaScript. Il utilise les quatre indicateurs de performance suivants: taux de réussite, transactions par seconde (ou débit de transaction), latence des transactions et utilisation des ressources. Plus précisément, il est conçu pour effectuer des benchmarks sur un contrat intelligent déployé, permettant l’analyse desdits quatre indicateurs sur un réseau blockchain pendant l’utilisation d’un contrat intelligent.
Caliper est un outil général unique et est devenu une référence utile pour les entreprises pour mesurer les performances de leurs registres distribués. Le projet Caliper sera l’un des outils les plus importants à utiliser avec d’autres projets Hyperledger (même en Quorum ou Ethereum projets car il prend également en charge ces types de blockchains). Il propose différents connecteurs à diverses chaînes de blocs, ce qui lui confère une plus grande puissance et une plus grande facilité d’utilisation. De même, sur la base de sa documentation, Caliper est idéal pour:
- Les développeurs d’applications intéressés par l’exécution de tests de performance pour leurs contrats intelligents
- Architectes système intéressés par l’étude des contraintes de ressources lors des tests de charges
Pour mieux comprendre le fonctionnement de Caliper, il faut commencer par son architecture. Plus précisément, pour l’utiliser, un utilisateur doit commencer par définir les fichiers de configuration suivants:
- UNE référence fichier définissant les arguments d’une charge de travail de benchmark
- UNE blockchain fichier spécifiant les informations nécessaires, ce qui permet d’interagir avec le système testé
- Contrats intelligents définir quels contrats vont être déployés
Les fichiers de configuration ci-dessus agissent comme des entrées pour la CLI Caliper, qui crée un client administrateur (agit en tant que superutilisateur) et une usine (étant responsable de l’exécution des charges de test). Sur la base d’un fichier de référence choisi, un client peut effectuer des transactions avec le système en ajoutant ou en interrogeant des actifs.
Pendant que le test est en cours, toutes les transactions sont enregistrées. Les statistiques de ces transactions sont enregistrées et stockées. En outre, un moniteur de ressources enregistre la consommation des ressources. Toutes ces données sont finalement regroupées dans un seul rapport. Pour une discussion plus détaillée sur sa mise en œuvre, visitez le lien fourni dans la section Références.
Violoncelle Hyperledger
Au fur et à mesure que les applications blockchain se déployaient au niveau de l’entreprise, les développeurs devaient effectuer beaucoup de travail manuel lors du déploiement / de la gestion d’une blockchain. Ce travail n’est pas plus facile si plusieurs locataires doivent accéder simultanément à des chaînes distinctes. Par exemple, l’interaction avec Hyperledger Fabric nécessite l’installation manuelle de chaque nœud homologue sur différents serveurs, ainsi que la configuration de scripts (par exemple, Docker-Composer) pour démarrer un réseau Fabric. Ainsi, pour relever ces défis tout en automatisant le processus pour les développeurs, Hyperledger Cello a été incubé. Cello apporte le modèle de déploiement à la demande aux blockchains et est écrit dans le Aller langue. Cello est une application automatisée de déploiement et de gestion de blockchains sous forme de plug-and-play, en particulier pour les entreprises qui souhaitent intégrer des technologies de grand livre distribué.
Cello fournit également un tableau de bord en temps réel pour les statuts de la blockchain, l’utilisation du système, les performances du code de chaîne et la configuration des blockchains. Il prend actuellement en charge Hyperledger Fabric. Selon sa documentation, Cello permet:
- Provisionner instantanément des blockchains personnalisées
- Maintenir un pool de blockchains en cours d’exécution sain sans aucune opération manuelle
- Vérification de l’état du système, mise à l’échelle des numéros de chaîne, modification des ressources, etc. via un tableau de bord
De même, selon sa documentation, les principales fonctionnalités de Cello sont:
- Gestion de plusieurs blockchains (par exemple, créer, supprimer et maintenir la santé automatiquement)
- Réponse presque instantanée, même avec des centaines de chaînes ou de nœuds
- Prise en charge de la demande de blockchains personnalisée (par exemple, taille, consensus) – actuellement, il existe un support pour Hyperledger Fabric
- Prise en charge d’un hôte Docker natif ou d’un hôte Swarm en tant que nœuds de calcul
- Prise en charge d’une architecture hétérogène (par exemple, z Systems, Power Systems et x86) des serveurs bare-metal aux machines virtuelles
- Extensible avec des fonctionnalités de surveillance, de journalisation et d’intégrité grâce à l’utilisation de composants supplémentaires
Selon ses développeurs, l’architecture de Cello suit les principes de la microservices, résilience aux pannes et évolutivité. En particulier, Cello a trois couches fonctionnelles:
- La couche d’accès, qui comprend également les tableaux de bord de l’interface utilisateur Web gérés par les utilisateurs
- La couche d’orchestration, qui à la réception de la demande de la couche d’accès, appelle les agents pour faire fonctionner les ressources de la blockchain
- La couche d’agent, qui incarne de vrais travailleurs qui interagissent avec des infrastructures sous-jacentes comme Docker, Essaim, ou Kubernetes
Selon sa documentation, chaque couche doit maintenir des API stables pour les couches supérieures afin d’obtenir une connectivité sans changer le code de la couche supérieure. Pour une discussion plus détaillée sur sa mise en œuvre, visitez le lien fourni dans la section Références.
Hyperledger Avalon
Pour améliorer les performances des réseaux blockchain, les développeurs ont décidé de stocker des données non essentielles dans des bases de données hors chaîne. Bien que cette approche ait amélioré l’évolutivité de la blockchain, elle a entraîné certains problèmes de confidentialité. Ainsi, la communauté était à la recherche d’une approche permettant d’atteindre des objectifs d’évolutivité et de confidentialité à la fois; ainsi, il a conduit à l’incubation d’Avalon. Hyperledger Avalon (anciennement Trusted Compute Framework) permet la confidentialité dans les transactions de la blockchain, en déplaçant le traitement lourd d’une blockchain principale vers des ressources de calcul hors chaîne fiables afin d’améliorer l’évolutivité et la latence, et de prendre en charge les oracles attestés.
La spécification Trusted Compute a été conçue pour aider les développeurs à bénéficier des avantages de la confiance informatique et à surmonter ses inconvénients. Dans le cas de l’Avalon, une blockchain est utilisée pour appliquer les politiques d’exécution et assurer l’auditabilité des transactions, tandis que les ressources de calcul de confiance hors chaîne associées exécutent les transactions. En utilisant des ressources de calcul hors chaîne fiables, un développeur peut accélérer le débit et améliorer la confidentialité des données. En utilisant Hyperledger Avalon dans un registre distribué, nous pouvons:
- Tenir à jour un registre des travailleurs de confiance (y compris leurs informations d’attestation)
- Fournir un mécanisme pour soumettre les bons de travail d’un ou de plusieurs clients à un travailleur
- Conserver un journal des reçus et des accusés de réception des bons de travail
Pour faire simple, les parties hors chaîne liées au réseau principal exécutent les transactions à l’aide de ressources de calcul fiables. Ce qui garantit l’application de la confidentialité ainsi que l’intégrité de l’exécution est l’option Trusted Compute avec les fonctionnalités suivantes:
- Environnement d’exécution sécurisé (TEE)
- Trajet multi-parties (MPC)
- Preuves sans connaissance (ZKP)
Grâce à des environnements d’exécution fiables, un développeur peut améliorer l’intégrité du lien dans l’exécution hors chaîne et en chaîne. Le jeu SGX d’Intel est un exemple connu de TEE, qui ont des capacités telles que la vérification de code, la vérification d’attestation et l’isolation d’exécution qui permettent la création d’un lien de confiance entre les ressources de calcul de la chaîne principale et hors chaîne. Pour une discussion plus détaillée sur sa mise en œuvre, visitez le lien fourni dans la section Références.
Remarque – Outil Hyperledger Explorer (obsolète)
Hyperledger Explorer, en un mot, fournit un tableau de bord pour le peering dans les détails de bloc qui sont principalement écrits en JavaScript. Hyperledger Explorer est connu de tous les développeurs et administrateurs système qui ont travaillé dans Hyperledger ces dernières années. Malgré ses excellentes fonctionnalités et sa popularité, Hyperledger a annoncé l’année dernière qu’il ne le maintenait plus. Donc, cet outil est obsolète.
Article suivant
Dans notre prochain article, nous allons couvrir les quatre bibliothèques Hyperledger ci-dessous:
- Hyperledger Bélier
- Couette Hyperledger
- Hyperledger Ursa
- Transaction Hyperledger
Résumé
Pour récapituler, nous avons couvert trois outils Hyperledger (Caliper, Cello et Avalon) dans cet article. Nous avons commencé par expliquer qu’Hyperledger Caliper est conçu pour effectuer des tests de performances sur un contrat intelligent déployé, permettant l’analyse de quatre indicateurs (comme le taux de réussite ou la transaction) sur un réseau blockchain pendant l’utilisation du contrat intelligent. Ensuite, nous avons appris qu’Hyperledger Cello est une application automatisée de déploiement et de gestion de blockchains sous forme de plug-and-play, en particulier pour les entreprises cherchant à intégrer des technologies de registres distribués. Enfin, Hyperledger Avalon permet la confidentialité dans les transactions de la blockchain, en déplaçant le traitement lourd d’une blockchain principale vers des ressources de calcul hors chaîne de confiance afin d’améliorer l’évolutivité et la latence, et de prendre en charge les oracles attestés.
Les références
Pour plus de références sur tous les projets, bibliothèques et outils Hyperledger, visitez les liens de documentation ci-dessous:
- Projet Hyperledger Indy
- Projet Hyperledger Fabric
- Bibliothèque Hyperledger Bélier
- Projet Hyperledger Iroha
- Projet Hyperledger Sawtooth
- Projet Hyperledger Besu
- Bibliothèque de couettes Hyperledger
- Bibliothèque Hyperledger Ursa
- Bibliothèque de transactions Hyperledger
- Projet Hyperledger Cactus
- Outil d’étrier Hyperledger
- Outil Hyperledger Cello
- Outil Hyperledger Explorer
- Grille Hyperledger (spécifique au domaine)
- Projet Hyperledger Burrow
- Outil Hyperledger Avalon
Ressources
A propos de l’auteur
Matt Zand est un entrepreneur en série et le fondateur de 3 startups technologiques: Créateurs Web DC, Codage Bootcamps et Services technologiques des écoles secondaires. Il est l’un des principaux auteurs de Développement pratique de contrats intelligents avec Hyperledger Fabric livre par O’Reilly Media. Il a écrit plus de 100 articles techniques et tutoriels sur le développement de la blockchain pour les plates-formes Hyperledger, Ethereum et Corda R3 sur des sites tels que IBM, SAP, Alibaba Cloud, Hyperledger, The Linux Foundation, etc. En tant qu’orateur public, il a présenté des webinaires dans de nombreuses communautés Hyperledger à travers les États-Unis et l’Europe. Chez DC Web Makers, il dirige une équipe d’experts en blockchain pour le conseil et le déploiement d’applications décentralisées d’entreprise. En tant qu’architecte en chef, il a conçu et développé des cours blockchain et des programmes de formation pour les Bootcamps de codage. Il est titulaire d’une maîtrise en gestion d’entreprise de l’Université du Maryland. Avant le développement et le conseil en blockchain, il a travaillé en tant que développeur et consultant senior d’applications Web et mobiles, investisseur providentiel, conseiller commercial pour quelques entreprises en démarrage. Vous pouvez vous connecter avec lui sur LI: https://www.linkedin.com/in/matt-zand-64047871
La poste Examen de trois outils Hyperledger – Caliper, Cello et Avalon est apparu en premier le Linux Foundation – Formation.