Hyperledger Sawtooth dans la Blockchain

Débutant6/3/2024, 3:07:33 PM
Hyperledger Sawtooth est une plate-forme blockchain d'entreprise qui peut créer des réseaux de registres distribués et des applications. Cet article présentera le fonctionnement de la plate-forme et ses attributs principaux, ainsi que ses scénarios d'application.

Hyperledger Sawtooth est une plateforme blockchain d'entreprise qui crée des réseaux de registres distribués et des applications. La philosophie de conception met l'accent sur le maintien des registres distribués et la sécurisation des contrats intelligents, en particulier pour les applications d'entreprise. Sawtooth utilise la technologie blockchain en tant que service (BaaS).
Sawtooth est également très modulaire. Cette modularité permet aux entreprises et aux consortiums de décider des politiques dans leurs domaines de compétence respectifs. Les applications peuvent choisir les algorithmes transactionnels, d'autorisation et de consensus qui répondent le mieux à leurs besoins commerciaux uniques en raison de la conception fondamentale de Sawtooth. La majorité des systèmes basés sur la blockchain utilisés aujourd'hui hébergent et exécutent à la fois leur cœur et leurs applications sur la même plateforme, ce qui peut avoir un impact à la fois sur la sécurité et les performances.

Qu'est-ce que Hyperledger Sawtooth?

Hyperledger sawtooth est une plate-forme de service blockchain d'entreprise open-source qui peut exécuter des contrats intelligents personnalisés sans avoir besoin de connaître la conception sous-jacente du système central.

  • Il prend en charge une variété d'algorithmes de consensus, y compris PBFT et PoET.
  • Sa conception conviviale offre des performances impeccables pour une utilisation en entreprise.
  • Il prend en charge la permission séparée, c'est-à-dire qu'il n'y a pas de service centralisé qui peut révéler des informations confidentielles.

Comment fonctionne Hyperledger Sawtooth ?

Hyperledger Sawtooth est une plate-forme modulaire pour la construction, le déploiement et l'exécution de grands livres distribués (appelés également blockchains). Il comprend un algorithme de consensus novateur appelé « Proof of Elapsed Time » (PoET), qui utilise des environnements d'exécution de confiance (TEEs) pour garantir que le consensus est atteint de manière juste et efficace. Sawtooth a également une conception modulaire qui permet des algorithmes de consensus enfichables et prend en charge à la fois des réseaux autorisés et sans autorisation.

  • Le composant principal de Sawtooth est un grand livre distribué qui enregistre un journal de toutes les transactions et de l'exécution des contrats intelligents. Le grand livre est répliqué sur tous les nœuds du réseau, et les transactions sont traitées en parallèle pour augmenter les performances.
  • Sawtooth inclut également un moteur de contrat intelligent appelé "Sawtooth Lake" qui permet un déploiement et une exécution faciles des contrats intelligents. La plateforme fournit également une API RESTful pour interagir avec le grand livre et soumettre des transactions.
  • Sawtooth est conçu pour être hautement évolutif et peut prendre en charge des réseaux avec des milliers de nœuds et des millions de transactions par seconde.
  • Dans l'ensemble, Hyperledger Sawtooth est une plateforme flexible et puissante pour la construction et le déploiement de registres distribués qui peuvent être utilisés pour un large éventail d'applications, telles que la gestion de la chaîne d'approvisionnement, le suivi des actifs numériques et les systèmes de vote.
  • Hyperledger Sawtooth rend plus simple le développement d'applications tout en conservant la sécurité du système en séparant le système de grand livre principal de l'environnement propre à chaque application.
  • Les développeurs d'applications peuvent décrire les règles métier appropriées pour leur application sans être familiarisés avec l'architecture sous-jacente du système central. Cette conception permet aux développeurs de créer des applications pouvant être hébergées, gérées et utilisées en dehors du réseau blockchain central dans leur langage de programmation préféré.

Algorithmes de consensus Hyperledger Sawtooth

Hyperledger Sawtooth comprend une conception modulaire qui permet des algorithmes de consensus plug-and-play. Certains des algorithmes de consensus pris en charge par Sawtooth incluent:

SAUTER

  1. PoET (Proof of Elapsed Time): Il s'agit de l'algorithme de consensus par défaut dans Sawtooth. Il utilise des environnements d'exécution de confiance (TEE) pour garantir que le consensus est atteint de manière équitable et efficace. PoET utilise un processus de sélection de leader aléatoire et un temps d'attente pour garantir que tous les participants ont une chance égale d'être sélectionnés en tant que leader.
  2. PBFT (Tolérance aux fautes byzantines pratiques) : Il s'agit d'un algorithme de consensus classique largement utilisé dans les systèmes distribués. Il utilise un processus de vote des répliques pour garantir que le réseau atteint un consensus. PBFT est adapté aux réseaux autorisés avec un ensemble connu de participants.
  3. Raft : Conçu pour les systèmes distribués avec un rythme élevé de changement, Raft est un algorithme de consensus. Il utilise une méthodologie basée sur le leader et permet une récupération rapide des partitions réseau.
  4. Devmode: Cette technique de consensus simple est destinée aux tests et au développement. Sans nécessiter de consensus, elle permet le traitement parallèle des transactions.

Des algorithmes de consensus plus avancés comme PoA (Proof of Authority), PoS (Proof of Stake), etc peuvent également être utilisés avec Sawtooth en installant le moteur de consensus correspondant. \
Dans l'ensemble, la conception modulaire de Sawtooth permet l'utilisation de différents algorithmes de consensus en fonction des exigences spécifiques de l'application, telles que les performances, la sécurité et le modèle de confiance.

Caractéristiques du Hyperledger Sawtooth

1. Séparation entre le niveau d'application et le système central

Sawtooth sépare le niveau de l'application du niveau du système de base, ce qui facilite la conception et le déploiement de programmes. Les développeurs d'applications peuvent concevoir la logique des contrats dans n'importe quel langage de leur choix avec l'aide de Sawtooth. Sawtooth offre une abstraction pour les contrats intelligents. Les applications comprennent la logique métier native ou des machines virtuelles pour les contrats intelligents. En fait, une seule blockchain peut prendre en charge les deux types d'applications. Ces options architecturales sont rendues possibles par Sawtooth sur la couche de traitement des transactions, permettant la coexistence de plusieurs types d'applications dans la même instance de réseau blockchain.

2. Fonctionnalités de permission Sawtooth dans les réseaux privés

Sawtooth a été créé pour résoudre les problèmes associés aux réseaux autorisés (privés). Les clusters de nœuds de Sawtooth peuvent être facilement déployés avec une autorisation indépendante. Aucun service centralisé n'existe qui pourrait révéler accidentellement des schémas transactionnels ou d'autres données privées. Les rôles et identités font partie des paramètres qui définissent les autorisations stockées sur la chaîne de blocs afin que tout le monde utilisant le réseau puisse y accéder.

3. Exécution de transactions en parallèle

La plupart des blockchains exigent un traitement séquentiel des transactions pour garantir un ordre cohérent à chaque nœud du réseau. Un planificateur parallèle de pointe dans Sawtooth divise les transactions en flux parallèles. Sawtooth isole l'exécution des transactions les unes des autres tout en préservant les changements contextuels basés sur les emplacements dans l'état qu'une transaction accède. Bien que ce soit faisable, les transactions sont effectuées en parallèle pour éviter les doubles dépenses même lorsque le même état est modifié plusieurs fois. Par rapport à l'exécution sérielle, la planification parallèle offre un potentiel d'accélération significatif.

4. Compatibilité du contrat Ethereum avec Seth

La plateforme Sawtooth est désormais interopérable avec Ethereum grâce au projet d'intégration Sawtooth-Ethereum, Seth. La famille de transactions Seth permet le déploiement de contrats intelligents EVM (Ethereum Virtual Machine) sur Sawtooth.

5. Consensus dynamique

Le consensus dans une blockchain fait référence à parvenir à une compréhension parmi les participants du réseau. Pour parvenir à un consensus avec des défauts arbitraires, les algorithmes votent généralement parmi un groupe prédéterminé de participants. Le consensus de style Nakamoto et les variations des algorithmes de tolérance de panne byzantine (BFT) conventionnels utilisent de nombreux tours de vote explicite pour parvenir à un consensus. Le premier élit un leader par un système de loterie. Sawtooth sépare le consensus de la sémantique des transactions et abstrait les idées fondamentales derrière le consensus. En tant que moteurs de consensus communiquant avec le validateur via l'API de consensus, l'interface de consensus Sawtooth permet d'intégrer différentes mises en œuvre de consensus.

6. Familles d'opérations d'échantillonnage

Une famille de transactions, qui fonctionne en tant que processeur de transactions sur un nœud Sawtooth, implémente le modèle de données et le langage de transactions dans une application Sawtooth. Sawtooth comprend de nombreuses familles de transactions fondamentales en tant que modèles, tandis que la majorité des développeurs d'applications créent des familles de transactions sur mesure pour répondre aux besoins particuliers de leurs registres:

  • Pour tester les registres déployés, les développeurs utilisent une clé entière.
  • Les paramètres de configuration on-chain peuvent être stockés à l'aide de l'implémentation de référence fournie par Settings.
  • Gère l'autorisation sur chaîne pour les clés des transacteurs et des validateurs afin de simplifier la gestion des identités pour les collections de listes de clés publiques.
  • Système d'événements : Les événements peuvent être créés et diffusés en utilisant Hyperledger Sawtooth. Cela permet aux applications de :
    • Soyez informé lorsque des événements liés à la blockchain se produisent, comme lorsqu'un nouveau bloc est validé ou qu'une fourche se produit.
    • Abonnez-vous à des événements spécifiques à une application et spécifiés par une famille de transactions.
    • Informer les clients sur la manière dont une transaction a été effectuée sans stocker les détails dans l'état.
    • Sur un socket ZMQ, des abonnements sont soumis et maintenus.

Éléments de l'architecture Hyperledger Sawtooth

Discutons des éléments clés de l'architecture Hyperledger Sawtooth :

1. Système d'événements

En regardant n'importe quel exemple de Hyperledger Sawtooth, vous pouvez observer que le système d'événements garantit principalement que les événements sont créés sans aucun problème et transmis aux nœuds. Par conséquent, si vous utilisez le système d'événements, vous pouvez créer une application qui s'abonne aux événements et récupère automatiquement de nouvelles informations. Ces choses rendent généralement la plateforme Sawtooth plus fluide. Aider les nœuds à recueillir les informations dont ils ont besoin à partir des événements contribue au maintien du consensus complet.

Projet d'intégration Sawtooth-Ethereum (Seth)

C'est l'une des principales caractéristiques de Sawtooth. Vous devez être familier avec cette fonctionnalité si vous voulez comprendre Hyperledger Sawtooth. Il apparaît dans chaque exemple Hyperledger Sawtooth qui intègre des fonctionnalités Ethereum. Mais que fait-il exactement ? Quelles applications ont-ils pour les propriétés Ethereum ? Ainsi, ce petit composant aide à combler le fossé entre les deux plateformes. Par conséquent, cet élément peut être utilisé pour assurer la compatibilité entre ces deux plateformes. Avez-vous une idée du nombre de possibilités que Seth pourrait présenter ? C'est un ajout fantastique à la conception de Hyperledger Sawtooth, alors utilisez-le si votre projet commercial en a besoin.

3. Algorithmes de consensus plug-and-play

Inclure des algorithmes de consensus plug-and-play dans l'architecture Hyperledger Sawtooth est une autre caractéristique fascinante. Le mécanisme de consensus plug-and-play est une nouvelle avancée fantastique pour le secteur de la Blockchain. Il vous permet de sélectionner le mécanisme de consensus dont votre plateforme a besoin. Naturellement, seul certains consensus sont appropriés pour certaines situations d'utilisation. Pour construire un produit basé sur la Blockchain d'entreprise, vous devez disposer de flexibilité. En conséquence, le consensus plug-and-play de Sawtooth met en avant la dynamique.

4. Modèles de famille de transactions

Les familles de transactions offrent une variété d'opérations, y compris la fourniture de fonctionnalités à votre contrat intelligent. Vous ne pouvez pas utiliser le système Hyperledger Sawtooth sans utiliser les familles de transactions, comme vous pouvez le voir en examinant un exemple.

  • Famille de transactions d'informations sur les blocs : la famille de transactions d'informations sur les blocs vous permet de stocker des informations liées aux blocs.
  • Petite famille de transactions bancaires : En pratique, cette famille est la meilleure pour évaluer et tester la viabilité de votre entreprise.
  • Paramétrage de la famille de transactions : Vous pouvez stocker des configurations on-chain à l'aide de la famille de paramètres, qui vous offre également un modèle de référence pour le faire.
  • Famille de transactions du registre des validateurs : utilisez ceci pour étendre les validateurs du système en ajoutant de nouveaux membres. Vous ne pouvez pas ajouter de validateurs sans utiliser ceci. Il est donc absolument nécessaire.
  • Famille de transactions Integer Key : l'une des meilleures familles de transactions qui permettent des tests sans ressources de tous les grands registres déployés.
  • Famille de transactions XO: il s'agit d'une interprétation plus divertissante de l'ensemble du réseau. Un jeu de morpion a également été inclus dans Sawtooth car les créateurs du réseau voulaient lui donner un peu plus de panache. Ainsi, vous pouvez jouer avec n'importe quel nœud en utilisant ceci.
  • Famille de transactions d'identification : principalement pour la préservation des données. Plus précisément, les données auxquelles les validateurs sont autorisés à accéder. Plus important encore, il garde une trace des détails concernant les nœuds, y compris leurs clés publiques et autres éléments.

Il y a aussi deux familles de transactions supplémentaires sur le système. Ce sont des ajouts relativement récents :

  • Famille de transactions Seth : Grâce à la famille de transactions Seth, vous pouvez utiliser des applications créées pour la blockchain Ethereum sur le réseau. Cela implique que vous pouvez utiliser des contrats intelligents construits en Solidity ou d'autres applications.
  • Famille de transactions Sabre: La famille de transactions Sabre est une autre méthode d'utilisation de contrats intelligents. Cela peut être utilisé pour exécuter des contrats intelligents sur des machines WASM ou des machines virtuelles WebAssembly. Cela rend également possible l'exécution de contrats intelligents sur la chaîne.

Applications de Hyperledger Sawtooth

  • X O: Joue à un jeu de tic tac toe pour illustrer comment créer des transactions simples. Les transactions de construction et de prise dans la famille de transactions X O fournissent une commande X O qui permet à deux joueurs de jouer au jeu. Vous pouvez consulter la famille de transactions X O pour plus de détails.
  • Chaîne d'approvisionnement Sawtooth : La chaîne d'approvisionnement Sawtooth montre comment suivre les origines et d'autres données contextuelles pertinentes de n'importe quel article. Supply Chain propose une application exemple qui comprend une application web, une API REST sur mesure et un processeur de transactions. Cet exemple d'application montre comment synchroniser l'état de la blockchain avec une base de données locale pour des requêtes complexes ainsi qu'une manière décentralisée de signer des transactions dans le navigateur.
  • Place de marché Sawtooth : Sur la blockchain, la place de marché Sawtooth guide les utilisateurs sur la façon d'échanger des quantités particulières d'actifs spécialisés. Avec l'aide d'un validateur Sawtooth et de quelques autres composants, cette application exemple exécutera une blockchain Sawtooth et offrira une API REST simple pour communiquer avec elle.

Langues prises en charge pour le processus de transaction

Hyperledger Sawtooth prend en charge l'utilisation de plusieurs langages de programmation pour le processus de transaction. Certains des langages pris en charge incluent :

  1. Python: Sawtooth fournit une bibliothèque Python appelée “Sawtooth SDK” qui permet aux développeurs d'interagir avec le grand livre et de soumettre des transactions.
  2. JavaScript : Sawtooth prend en charge JavaScript grâce à l'utilisation du « Sawtooth JavaScript SDK » qui fournit un ensemble d'API pour interagir avec le grand livre.
  3. Go: Sawtooth offre également une prise en charge de Go grâce au "Sawtooth Go SDK" qui permet une intégration facile avec les applications basées sur Go.
  4. C++: Sawtooth offre également un support pour C++, via le "Sawtooth C++ SDK" qui fournit des API C++ pour interagir avec le grand livre.

D'autres langues comme Java, Rust, Shell, etc. peuvent également être utilisées en utilisant l'API RESTful fournie par Sawtooth. Le support de Sawtooth pour plusieurs langages de programmation facilite l'intégration avec les systèmes existants et permet une large gamme de cas d'utilisation.

Architecture de développement Hyperledger Sawtooth

L'architecture modulaire d'Hyperledger Sawtooth permet la division des préoccupations parmi les différents composants du système. Les principaux composants de l'architecture de Sawtooth sont :

  • Grand livre distribué : Ce composant est responsable de la tenue d'un journal de toutes les transactions et de l'exécution des contrats intelligents. Le grand livre est répliqué sur tous les nœuds du réseau et les transactions sont traitées en parallèle pour augmenter les performances.
  • Le processeur de transaction : Ce composant est responsable du traitement des transactions et de la mise à jour de l'état du grand livre. Il comprend également un moteur de contrat intelligent appelé "Sawtooth Lake" qui permet un déploiement et une exécution faciles des contrats intelligents.
  • Algorithme de consensus : Ce composant est responsable de s'assurer que le réseau parvient à un accord sur l'état du grand livre. Sawtooth prend en charge plusieurs algorithmes de consensus, y compris PoET, PBFT, Raft et Devmode.
  • API REST : Ce composant fournit une API RESTful pour interagir avec le grand livre et soumettre des transactions. Il permet une intégration facile avec les systèmes existants et prend en charge plusieurs langages de programmation.
  • Validateur: Ce composant est responsable de la validation des transactions et des blocs avant qu'ils ne soient ajoutés au grand livre. Il garantit que les transactions sont bien formées et qu'elles respectent les règles du contrat intelligent.
  • Planificateur de transactions : Ce composant est responsable de planifier l'ordre dans lequel les transactions sont traitées par le réseau. Il garantit que les transactions conflictuelles sont traitées de manière à éviter les conflits et à maintenir la cohérence dans le registre.
  • Moteur de consensus: Chaque algorithme de consensus a son propre moteur qui exécute le protocole de consensus et communique avec d'autres composants du système.

Hyperledger Sawtooth au travail

Hyperledger Sawtooth peut être utilisé pour construire une variété d'applications de registre distribué. Quelques exemples de la façon dont Sawtooth peut être utilisé dans différentes industries incluent :

  • Gestion de la chaîne d'approvisionnement : Sawtooth peut être utilisé pour construire un système de gestion de la chaîne d'approvisionnement inviolable et transparent. Il peut être utilisé pour suivre le mouvement des biens, du point d'origine à la destination finale, offrant une visibilité et une responsabilité pour toutes les parties impliquées.
  • Services financiers : Sawtooth peut être utilisé pour construire un système sécurisé et efficace pour les transactions financières et la tenue de registres. Il peut être utilisé pour des activités telles que le financement commercial, la gestion des actifs numériques et le reporting de conformité
  • Santé : Sawtooth peut être utilisé pour construire un système sécurisé et privé permettant de partager des dossiers médicaux entre les prestataires de soins de santé. Il peut être utilisé pour garantir que les données des patients ne sont accessibles qu'aux parties autorisées, tout en offrant un moyen efficace de partager des données entre les médecins, les hôpitaux et les compagnies d'assurance.
  • Gestion de l'identité : Sawtooth peut être utilisé pour construire un système décentralisé et à l'épreuve des manipulations pour la gestion de l'identité. Il peut être utilisé pour stocker et valider des identités et des qualifications et fournir un accès sécurisé et privé aux services et ressources.
  • Gestion de l'énergie : Sawtooth peut être utilisé pour construire un système de gestion et de suivi de la production, de la distribution et de la consommation d'énergie. Il peut être utilisé pour permettre le trading d'énergie de pair à pair, suivre et vérifier les crédits d'énergie renouvelable, et gérer la distribution d'énergie des micro-réseaux.

Ce ne sont que quelques exemples, et Sawtooth est suffisamment flexible pour être utilisé dans un large éventail d'autres industries et applications également. L'architecture modulaire de Sawtooth et le support de différents algorithmes de consensus en font une plate-forme puissante pour la construction et le déploiement de registres distribués pouvant être utilisés pour un large éventail de cas d'utilisation.

L'été est là et c'est le moment de perfectionner vos compétences ! Plus de 5 000 apprenants ont maintenant terminé leur parcours, des bases de l'ADS aux programmes de développement de niveau avancé tels que le développement Full-Stack, le développement Backend, la Science des données.
\\
Et pourquoi aller ailleurs quand notre DSA to Development: Guide de codagevous aidera à maîtriser tout cela en quelques mois! Postulez maintenant à notreDSA vers Programme de développementet nos conseillers vous contacteront pour plus de conseils & soutien.

Avis de non-responsabilité:

  1. Cet article est repris de [ geeksforgeeks]. Tous les droits d'auteur appartiennent à l'auteur original [geeksforgeeks]. Si des objections sont formulées à cette réimpression, veuillez contacter le Porte Apprendreéquipe et ils s'en occuperont rapidement.
  2. Avertissement de responsabilité : Les points de vue et opinions exprimés dans cet article sont uniquement ceux de l'auteur et ne constituent aucun conseil en investissement.
  3. Les traductions de l'article dans d'autres langues sont effectuées par l'équipe Gate Learn. Sauf mention contraire, la copie, la distribution ou le plagiat des articles traduits est interdit.

Hyperledger Sawtooth dans la Blockchain

Débutant6/3/2024, 3:07:33 PM
Hyperledger Sawtooth est une plate-forme blockchain d'entreprise qui peut créer des réseaux de registres distribués et des applications. Cet article présentera le fonctionnement de la plate-forme et ses attributs principaux, ainsi que ses scénarios d'application.

Hyperledger Sawtooth est une plateforme blockchain d'entreprise qui crée des réseaux de registres distribués et des applications. La philosophie de conception met l'accent sur le maintien des registres distribués et la sécurisation des contrats intelligents, en particulier pour les applications d'entreprise. Sawtooth utilise la technologie blockchain en tant que service (BaaS).
Sawtooth est également très modulaire. Cette modularité permet aux entreprises et aux consortiums de décider des politiques dans leurs domaines de compétence respectifs. Les applications peuvent choisir les algorithmes transactionnels, d'autorisation et de consensus qui répondent le mieux à leurs besoins commerciaux uniques en raison de la conception fondamentale de Sawtooth. La majorité des systèmes basés sur la blockchain utilisés aujourd'hui hébergent et exécutent à la fois leur cœur et leurs applications sur la même plateforme, ce qui peut avoir un impact à la fois sur la sécurité et les performances.

Qu'est-ce que Hyperledger Sawtooth?

Hyperledger sawtooth est une plate-forme de service blockchain d'entreprise open-source qui peut exécuter des contrats intelligents personnalisés sans avoir besoin de connaître la conception sous-jacente du système central.

  • Il prend en charge une variété d'algorithmes de consensus, y compris PBFT et PoET.
  • Sa conception conviviale offre des performances impeccables pour une utilisation en entreprise.
  • Il prend en charge la permission séparée, c'est-à-dire qu'il n'y a pas de service centralisé qui peut révéler des informations confidentielles.

Comment fonctionne Hyperledger Sawtooth ?

Hyperledger Sawtooth est une plate-forme modulaire pour la construction, le déploiement et l'exécution de grands livres distribués (appelés également blockchains). Il comprend un algorithme de consensus novateur appelé « Proof of Elapsed Time » (PoET), qui utilise des environnements d'exécution de confiance (TEEs) pour garantir que le consensus est atteint de manière juste et efficace. Sawtooth a également une conception modulaire qui permet des algorithmes de consensus enfichables et prend en charge à la fois des réseaux autorisés et sans autorisation.

  • Le composant principal de Sawtooth est un grand livre distribué qui enregistre un journal de toutes les transactions et de l'exécution des contrats intelligents. Le grand livre est répliqué sur tous les nœuds du réseau, et les transactions sont traitées en parallèle pour augmenter les performances.
  • Sawtooth inclut également un moteur de contrat intelligent appelé "Sawtooth Lake" qui permet un déploiement et une exécution faciles des contrats intelligents. La plateforme fournit également une API RESTful pour interagir avec le grand livre et soumettre des transactions.
  • Sawtooth est conçu pour être hautement évolutif et peut prendre en charge des réseaux avec des milliers de nœuds et des millions de transactions par seconde.
  • Dans l'ensemble, Hyperledger Sawtooth est une plateforme flexible et puissante pour la construction et le déploiement de registres distribués qui peuvent être utilisés pour un large éventail d'applications, telles que la gestion de la chaîne d'approvisionnement, le suivi des actifs numériques et les systèmes de vote.
  • Hyperledger Sawtooth rend plus simple le développement d'applications tout en conservant la sécurité du système en séparant le système de grand livre principal de l'environnement propre à chaque application.
  • Les développeurs d'applications peuvent décrire les règles métier appropriées pour leur application sans être familiarisés avec l'architecture sous-jacente du système central. Cette conception permet aux développeurs de créer des applications pouvant être hébergées, gérées et utilisées en dehors du réseau blockchain central dans leur langage de programmation préféré.

Algorithmes de consensus Hyperledger Sawtooth

Hyperledger Sawtooth comprend une conception modulaire qui permet des algorithmes de consensus plug-and-play. Certains des algorithmes de consensus pris en charge par Sawtooth incluent:

SAUTER

  1. PoET (Proof of Elapsed Time): Il s'agit de l'algorithme de consensus par défaut dans Sawtooth. Il utilise des environnements d'exécution de confiance (TEE) pour garantir que le consensus est atteint de manière équitable et efficace. PoET utilise un processus de sélection de leader aléatoire et un temps d'attente pour garantir que tous les participants ont une chance égale d'être sélectionnés en tant que leader.
  2. PBFT (Tolérance aux fautes byzantines pratiques) : Il s'agit d'un algorithme de consensus classique largement utilisé dans les systèmes distribués. Il utilise un processus de vote des répliques pour garantir que le réseau atteint un consensus. PBFT est adapté aux réseaux autorisés avec un ensemble connu de participants.
  3. Raft : Conçu pour les systèmes distribués avec un rythme élevé de changement, Raft est un algorithme de consensus. Il utilise une méthodologie basée sur le leader et permet une récupération rapide des partitions réseau.
  4. Devmode: Cette technique de consensus simple est destinée aux tests et au développement. Sans nécessiter de consensus, elle permet le traitement parallèle des transactions.

Des algorithmes de consensus plus avancés comme PoA (Proof of Authority), PoS (Proof of Stake), etc peuvent également être utilisés avec Sawtooth en installant le moteur de consensus correspondant. \
Dans l'ensemble, la conception modulaire de Sawtooth permet l'utilisation de différents algorithmes de consensus en fonction des exigences spécifiques de l'application, telles que les performances, la sécurité et le modèle de confiance.

Caractéristiques du Hyperledger Sawtooth

1. Séparation entre le niveau d'application et le système central

Sawtooth sépare le niveau de l'application du niveau du système de base, ce qui facilite la conception et le déploiement de programmes. Les développeurs d'applications peuvent concevoir la logique des contrats dans n'importe quel langage de leur choix avec l'aide de Sawtooth. Sawtooth offre une abstraction pour les contrats intelligents. Les applications comprennent la logique métier native ou des machines virtuelles pour les contrats intelligents. En fait, une seule blockchain peut prendre en charge les deux types d'applications. Ces options architecturales sont rendues possibles par Sawtooth sur la couche de traitement des transactions, permettant la coexistence de plusieurs types d'applications dans la même instance de réseau blockchain.

2. Fonctionnalités de permission Sawtooth dans les réseaux privés

Sawtooth a été créé pour résoudre les problèmes associés aux réseaux autorisés (privés). Les clusters de nœuds de Sawtooth peuvent être facilement déployés avec une autorisation indépendante. Aucun service centralisé n'existe qui pourrait révéler accidentellement des schémas transactionnels ou d'autres données privées. Les rôles et identités font partie des paramètres qui définissent les autorisations stockées sur la chaîne de blocs afin que tout le monde utilisant le réseau puisse y accéder.

3. Exécution de transactions en parallèle

La plupart des blockchains exigent un traitement séquentiel des transactions pour garantir un ordre cohérent à chaque nœud du réseau. Un planificateur parallèle de pointe dans Sawtooth divise les transactions en flux parallèles. Sawtooth isole l'exécution des transactions les unes des autres tout en préservant les changements contextuels basés sur les emplacements dans l'état qu'une transaction accède. Bien que ce soit faisable, les transactions sont effectuées en parallèle pour éviter les doubles dépenses même lorsque le même état est modifié plusieurs fois. Par rapport à l'exécution sérielle, la planification parallèle offre un potentiel d'accélération significatif.

4. Compatibilité du contrat Ethereum avec Seth

La plateforme Sawtooth est désormais interopérable avec Ethereum grâce au projet d'intégration Sawtooth-Ethereum, Seth. La famille de transactions Seth permet le déploiement de contrats intelligents EVM (Ethereum Virtual Machine) sur Sawtooth.

5. Consensus dynamique

Le consensus dans une blockchain fait référence à parvenir à une compréhension parmi les participants du réseau. Pour parvenir à un consensus avec des défauts arbitraires, les algorithmes votent généralement parmi un groupe prédéterminé de participants. Le consensus de style Nakamoto et les variations des algorithmes de tolérance de panne byzantine (BFT) conventionnels utilisent de nombreux tours de vote explicite pour parvenir à un consensus. Le premier élit un leader par un système de loterie. Sawtooth sépare le consensus de la sémantique des transactions et abstrait les idées fondamentales derrière le consensus. En tant que moteurs de consensus communiquant avec le validateur via l'API de consensus, l'interface de consensus Sawtooth permet d'intégrer différentes mises en œuvre de consensus.

6. Familles d'opérations d'échantillonnage

Une famille de transactions, qui fonctionne en tant que processeur de transactions sur un nœud Sawtooth, implémente le modèle de données et le langage de transactions dans une application Sawtooth. Sawtooth comprend de nombreuses familles de transactions fondamentales en tant que modèles, tandis que la majorité des développeurs d'applications créent des familles de transactions sur mesure pour répondre aux besoins particuliers de leurs registres:

  • Pour tester les registres déployés, les développeurs utilisent une clé entière.
  • Les paramètres de configuration on-chain peuvent être stockés à l'aide de l'implémentation de référence fournie par Settings.
  • Gère l'autorisation sur chaîne pour les clés des transacteurs et des validateurs afin de simplifier la gestion des identités pour les collections de listes de clés publiques.
  • Système d'événements : Les événements peuvent être créés et diffusés en utilisant Hyperledger Sawtooth. Cela permet aux applications de :
    • Soyez informé lorsque des événements liés à la blockchain se produisent, comme lorsqu'un nouveau bloc est validé ou qu'une fourche se produit.
    • Abonnez-vous à des événements spécifiques à une application et spécifiés par une famille de transactions.
    • Informer les clients sur la manière dont une transaction a été effectuée sans stocker les détails dans l'état.
    • Sur un socket ZMQ, des abonnements sont soumis et maintenus.

Éléments de l'architecture Hyperledger Sawtooth

Discutons des éléments clés de l'architecture Hyperledger Sawtooth :

1. Système d'événements

En regardant n'importe quel exemple de Hyperledger Sawtooth, vous pouvez observer que le système d'événements garantit principalement que les événements sont créés sans aucun problème et transmis aux nœuds. Par conséquent, si vous utilisez le système d'événements, vous pouvez créer une application qui s'abonne aux événements et récupère automatiquement de nouvelles informations. Ces choses rendent généralement la plateforme Sawtooth plus fluide. Aider les nœuds à recueillir les informations dont ils ont besoin à partir des événements contribue au maintien du consensus complet.

Projet d'intégration Sawtooth-Ethereum (Seth)

C'est l'une des principales caractéristiques de Sawtooth. Vous devez être familier avec cette fonctionnalité si vous voulez comprendre Hyperledger Sawtooth. Il apparaît dans chaque exemple Hyperledger Sawtooth qui intègre des fonctionnalités Ethereum. Mais que fait-il exactement ? Quelles applications ont-ils pour les propriétés Ethereum ? Ainsi, ce petit composant aide à combler le fossé entre les deux plateformes. Par conséquent, cet élément peut être utilisé pour assurer la compatibilité entre ces deux plateformes. Avez-vous une idée du nombre de possibilités que Seth pourrait présenter ? C'est un ajout fantastique à la conception de Hyperledger Sawtooth, alors utilisez-le si votre projet commercial en a besoin.

3. Algorithmes de consensus plug-and-play

Inclure des algorithmes de consensus plug-and-play dans l'architecture Hyperledger Sawtooth est une autre caractéristique fascinante. Le mécanisme de consensus plug-and-play est une nouvelle avancée fantastique pour le secteur de la Blockchain. Il vous permet de sélectionner le mécanisme de consensus dont votre plateforme a besoin. Naturellement, seul certains consensus sont appropriés pour certaines situations d'utilisation. Pour construire un produit basé sur la Blockchain d'entreprise, vous devez disposer de flexibilité. En conséquence, le consensus plug-and-play de Sawtooth met en avant la dynamique.

4. Modèles de famille de transactions

Les familles de transactions offrent une variété d'opérations, y compris la fourniture de fonctionnalités à votre contrat intelligent. Vous ne pouvez pas utiliser le système Hyperledger Sawtooth sans utiliser les familles de transactions, comme vous pouvez le voir en examinant un exemple.

  • Famille de transactions d'informations sur les blocs : la famille de transactions d'informations sur les blocs vous permet de stocker des informations liées aux blocs.
  • Petite famille de transactions bancaires : En pratique, cette famille est la meilleure pour évaluer et tester la viabilité de votre entreprise.
  • Paramétrage de la famille de transactions : Vous pouvez stocker des configurations on-chain à l'aide de la famille de paramètres, qui vous offre également un modèle de référence pour le faire.
  • Famille de transactions du registre des validateurs : utilisez ceci pour étendre les validateurs du système en ajoutant de nouveaux membres. Vous ne pouvez pas ajouter de validateurs sans utiliser ceci. Il est donc absolument nécessaire.
  • Famille de transactions Integer Key : l'une des meilleures familles de transactions qui permettent des tests sans ressources de tous les grands registres déployés.
  • Famille de transactions XO: il s'agit d'une interprétation plus divertissante de l'ensemble du réseau. Un jeu de morpion a également été inclus dans Sawtooth car les créateurs du réseau voulaient lui donner un peu plus de panache. Ainsi, vous pouvez jouer avec n'importe quel nœud en utilisant ceci.
  • Famille de transactions d'identification : principalement pour la préservation des données. Plus précisément, les données auxquelles les validateurs sont autorisés à accéder. Plus important encore, il garde une trace des détails concernant les nœuds, y compris leurs clés publiques et autres éléments.

Il y a aussi deux familles de transactions supplémentaires sur le système. Ce sont des ajouts relativement récents :

  • Famille de transactions Seth : Grâce à la famille de transactions Seth, vous pouvez utiliser des applications créées pour la blockchain Ethereum sur le réseau. Cela implique que vous pouvez utiliser des contrats intelligents construits en Solidity ou d'autres applications.
  • Famille de transactions Sabre: La famille de transactions Sabre est une autre méthode d'utilisation de contrats intelligents. Cela peut être utilisé pour exécuter des contrats intelligents sur des machines WASM ou des machines virtuelles WebAssembly. Cela rend également possible l'exécution de contrats intelligents sur la chaîne.

Applications de Hyperledger Sawtooth

  • X O: Joue à un jeu de tic tac toe pour illustrer comment créer des transactions simples. Les transactions de construction et de prise dans la famille de transactions X O fournissent une commande X O qui permet à deux joueurs de jouer au jeu. Vous pouvez consulter la famille de transactions X O pour plus de détails.
  • Chaîne d'approvisionnement Sawtooth : La chaîne d'approvisionnement Sawtooth montre comment suivre les origines et d'autres données contextuelles pertinentes de n'importe quel article. Supply Chain propose une application exemple qui comprend une application web, une API REST sur mesure et un processeur de transactions. Cet exemple d'application montre comment synchroniser l'état de la blockchain avec une base de données locale pour des requêtes complexes ainsi qu'une manière décentralisée de signer des transactions dans le navigateur.
  • Place de marché Sawtooth : Sur la blockchain, la place de marché Sawtooth guide les utilisateurs sur la façon d'échanger des quantités particulières d'actifs spécialisés. Avec l'aide d'un validateur Sawtooth et de quelques autres composants, cette application exemple exécutera une blockchain Sawtooth et offrira une API REST simple pour communiquer avec elle.

Langues prises en charge pour le processus de transaction

Hyperledger Sawtooth prend en charge l'utilisation de plusieurs langages de programmation pour le processus de transaction. Certains des langages pris en charge incluent :

  1. Python: Sawtooth fournit une bibliothèque Python appelée “Sawtooth SDK” qui permet aux développeurs d'interagir avec le grand livre et de soumettre des transactions.
  2. JavaScript : Sawtooth prend en charge JavaScript grâce à l'utilisation du « Sawtooth JavaScript SDK » qui fournit un ensemble d'API pour interagir avec le grand livre.
  3. Go: Sawtooth offre également une prise en charge de Go grâce au "Sawtooth Go SDK" qui permet une intégration facile avec les applications basées sur Go.
  4. C++: Sawtooth offre également un support pour C++, via le "Sawtooth C++ SDK" qui fournit des API C++ pour interagir avec le grand livre.

D'autres langues comme Java, Rust, Shell, etc. peuvent également être utilisées en utilisant l'API RESTful fournie par Sawtooth. Le support de Sawtooth pour plusieurs langages de programmation facilite l'intégration avec les systèmes existants et permet une large gamme de cas d'utilisation.

Architecture de développement Hyperledger Sawtooth

L'architecture modulaire d'Hyperledger Sawtooth permet la division des préoccupations parmi les différents composants du système. Les principaux composants de l'architecture de Sawtooth sont :

  • Grand livre distribué : Ce composant est responsable de la tenue d'un journal de toutes les transactions et de l'exécution des contrats intelligents. Le grand livre est répliqué sur tous les nœuds du réseau et les transactions sont traitées en parallèle pour augmenter les performances.
  • Le processeur de transaction : Ce composant est responsable du traitement des transactions et de la mise à jour de l'état du grand livre. Il comprend également un moteur de contrat intelligent appelé "Sawtooth Lake" qui permet un déploiement et une exécution faciles des contrats intelligents.
  • Algorithme de consensus : Ce composant est responsable de s'assurer que le réseau parvient à un accord sur l'état du grand livre. Sawtooth prend en charge plusieurs algorithmes de consensus, y compris PoET, PBFT, Raft et Devmode.
  • API REST : Ce composant fournit une API RESTful pour interagir avec le grand livre et soumettre des transactions. Il permet une intégration facile avec les systèmes existants et prend en charge plusieurs langages de programmation.
  • Validateur: Ce composant est responsable de la validation des transactions et des blocs avant qu'ils ne soient ajoutés au grand livre. Il garantit que les transactions sont bien formées et qu'elles respectent les règles du contrat intelligent.
  • Planificateur de transactions : Ce composant est responsable de planifier l'ordre dans lequel les transactions sont traitées par le réseau. Il garantit que les transactions conflictuelles sont traitées de manière à éviter les conflits et à maintenir la cohérence dans le registre.
  • Moteur de consensus: Chaque algorithme de consensus a son propre moteur qui exécute le protocole de consensus et communique avec d'autres composants du système.

Hyperledger Sawtooth au travail

Hyperledger Sawtooth peut être utilisé pour construire une variété d'applications de registre distribué. Quelques exemples de la façon dont Sawtooth peut être utilisé dans différentes industries incluent :

  • Gestion de la chaîne d'approvisionnement : Sawtooth peut être utilisé pour construire un système de gestion de la chaîne d'approvisionnement inviolable et transparent. Il peut être utilisé pour suivre le mouvement des biens, du point d'origine à la destination finale, offrant une visibilité et une responsabilité pour toutes les parties impliquées.
  • Services financiers : Sawtooth peut être utilisé pour construire un système sécurisé et efficace pour les transactions financières et la tenue de registres. Il peut être utilisé pour des activités telles que le financement commercial, la gestion des actifs numériques et le reporting de conformité
  • Santé : Sawtooth peut être utilisé pour construire un système sécurisé et privé permettant de partager des dossiers médicaux entre les prestataires de soins de santé. Il peut être utilisé pour garantir que les données des patients ne sont accessibles qu'aux parties autorisées, tout en offrant un moyen efficace de partager des données entre les médecins, les hôpitaux et les compagnies d'assurance.
  • Gestion de l'identité : Sawtooth peut être utilisé pour construire un système décentralisé et à l'épreuve des manipulations pour la gestion de l'identité. Il peut être utilisé pour stocker et valider des identités et des qualifications et fournir un accès sécurisé et privé aux services et ressources.
  • Gestion de l'énergie : Sawtooth peut être utilisé pour construire un système de gestion et de suivi de la production, de la distribution et de la consommation d'énergie. Il peut être utilisé pour permettre le trading d'énergie de pair à pair, suivre et vérifier les crédits d'énergie renouvelable, et gérer la distribution d'énergie des micro-réseaux.

Ce ne sont que quelques exemples, et Sawtooth est suffisamment flexible pour être utilisé dans un large éventail d'autres industries et applications également. L'architecture modulaire de Sawtooth et le support de différents algorithmes de consensus en font une plate-forme puissante pour la construction et le déploiement de registres distribués pouvant être utilisés pour un large éventail de cas d'utilisation.

L'été est là et c'est le moment de perfectionner vos compétences ! Plus de 5 000 apprenants ont maintenant terminé leur parcours, des bases de l'ADS aux programmes de développement de niveau avancé tels que le développement Full-Stack, le développement Backend, la Science des données.
\\
Et pourquoi aller ailleurs quand notre DSA to Development: Guide de codagevous aidera à maîtriser tout cela en quelques mois! Postulez maintenant à notreDSA vers Programme de développementet nos conseillers vous contacteront pour plus de conseils & soutien.

Avis de non-responsabilité:

  1. Cet article est repris de [ geeksforgeeks]. Tous les droits d'auteur appartiennent à l'auteur original [geeksforgeeks]. Si des objections sont formulées à cette réimpression, veuillez contacter le Porte Apprendreéquipe et ils s'en occuperont rapidement.
  2. Avertissement de responsabilité : Les points de vue et opinions exprimés dans cet article sont uniquement ceux de l'auteur et ne constituent aucun conseil en investissement.
  3. Les traductions de l'article dans d'autres langues sont effectuées par l'équipe Gate Learn. Sauf mention contraire, la copie, la distribution ou le plagiat des articles traduits est interdit.
Bắt đầu giao dịch
Đăng ký và giao dịch để nhận phần thưởng USDTEST trị giá
$100
$5500