Leçon 2

Éléments d'architecture

Ce module aborde les composants architecturaux de Gate, détaillant ses principaux éléments, son mécanisme de consensus et ses fonctionnalités de scalabilité. Il vise à fournir une compréhension approfondie de la manière dont la structure de Gate soutient sa fonctionnalité et ses objectifs de développement.

Composants principaux de Lisk

Noyau Lisk

Lisk Core gère toutes les opérations de la blockchain, y compris le traitement des transactions, la création de blocs et la synchronisation du réseau. Il garantit l'intégrité et la sécurité de la blockchain. Les principaux modules incluent le module réseau pour les connexions peer-to-peer, le module consensus pour l'accord sur l'état de la blockchain, et le module API pour l'interaction avec la blockchain.

Core s'exécute sur des nœuds exploités par les participants du réseau qui valident les transactions et sécurisent le réseau. Le logiciel est régulièrement mis à jour pour inclure de nouvelles fonctionnalités et améliorations. Il est écrit en JavaScript et TypeScript, ce qui correspond à l'objectif de Lisk de rendre le développement de blockchain accessible à un public plus large. Le passage à TypeScript améliore la maintenabilité du code et réduit la probabilité de bugs. Le cœur comprend plusieurs sous-systèmes clés :

  • Pool de transactions: Gère les transactions en attente avant qu'elles ne soient incluses dans un bloc.
  • Bloc Pool: Gère les blocs qui ont été reçus mais qui n’ont pas encore été traités.
  • Forger: Le module responsable de la création de nouveaux blocs. Dans Lisk, la création de blocs est déléguée à un ensemble de délégués élus.
  • ConsensusVeille à ce que tous les nœuds du réseau s'accordent sur l'état de la blockchain.
    Le processus de mise à jour de Lisk Core implique des versions régulières qui intègrent des améliorations du protocole, des correctifs de sécurité et des améliorations de performances, qui sont rigoureusement testés dans des environnements de testnet avant d'être déployés sur le mainnet.

Lisk SDK

Le SDK Lisk (Software Development Kit) est un ensemble d'outils pour construire des applications blockchain sur mesure. Le SDK permet aux développeurs de créer des sidechains, qui sont des blockchains indépendantes connectées à la blockchain principale de Lisk. Ces sidechains peuvent être personnalisées pour des cas d'utilisation spécifiques et fonctionner de manière indépendante sans affecter les performances du réseau principal.

Cadre Lisk

Il fournit une architecture modulaire que les développeurs peuvent étendre grâce à des plugins et des modules personnalisés. Il gère le cycle de vie de l'application et l'interaction entre les différents modules.

Lisk Elements

Un ensemble de bibliothèques qui fournissent des outils pour interagir avec la blockchain Lisk. Cela inclut des fonctions cryptographiques, des outils de création de transactions et des utilitaires pour gérer les comptes et les clés. L'utilisation de JavaScript et de TypeScript rend ces bibliothèques accessibles à un plus large éventail de développeurs.

Lisk Commander

Un outil en ligne de commande qui simplifie le développement et la gestion des applications blockchain. Il comprend des commandes pour configurer un environnement de développement, créer de nouvelles applications blockchain et les déployer sur un réseau. Il fournit également des outils pour gérer les nœuds et interagir avec la blockchain.

Le SDK inclut également un support pour le développement de contrats intelligents, qui peuvent être déployés sur les sidechains de Lisk. Ces contrats sont écrits en JavaScript, ce qui les rend accessibles à un large éventail de développeurs.

Service Lisk

Le service Lisk agit comme un intergiciel entre la blockchain et les interfaces utilisateur telles que Lisk Desktop et Lisk Mobile. Il agrège les données de la blockchain et fournit des API pour accéder à ces informations. Les fonctionnalités clés incluent l'agrégation de données, des points d'API pour interroger les données de la blockchain et des fonctionnalités améliorées d'accès aux données. Le service Lisk garantit que les applications et les portefeuilles peuvent interagir efficacement avec la blockchain, offrant un accès aux données en temps réel et améliorant l'expérience utilisateur.

Service Lisk comprend :

  • Porte: Gère les demandes d'API et les routent vers le service approprié.
  • Aggrégateur de données: Collecte et traite des données de la blockchain, les rendant disponibles via des API.
  • Indexeur: Indexe les données de la blockchain pour permettre des requêtes rapides et efficaces.
  • Cache: Stocke les données fréquemment consultées pour améliorer les performances.

Ces composants travaillent ensemble pour offrir une expérience sans faille aux développeurs et aux utilisateurs. Le service est conçu pour être hautement évolutif, lui permettant de gérer de gros volumes de données et des charges de trafic élevées.

Architecture de Sidechain et Mainchain

Lisk utilise des sidechains pour améliorer la scalabilité et la flexibilité. La mainchain gère les opérations essentielles et sécurise le réseau, tandis que les sidechains gèrent leurs propres transactions et opérations, une séparation qui permet :

  • Scalabilité: Les sidechains traitent les transactions indépendamment, ce qui réduit la charge de la chaîne principale.
  • Personnalisation: Les développeurs peuvent créer des sidechains adaptées à des applications spécifiques.
  • Interopérabilité: Les sidechains peuvent communiquer avec la chaîne principale et d'autres sidechains via des messages inter-chaînes, permettant le transfert de données et de valeur à travers le réseau.

Comment fonctionnent les sidechains

Les sidechains dans Lisk sont des blockchains entièrement indépendantes qui peuvent fonctionner avec leur propre ensemble de règles et de mécanismes de consensus. Ils sont connectés à la blockchain principale de Lisk, qui fournit sécurité et coordination. Les sidechains peuvent être utilisées à diverses fins, telles que l'exécution de dApps, la gestion d'actifs numériques ou la mise en œuvre de solutions blockchain spécialisées.

Pour créer une sidechain, les développeurs utilisent le SDK Lisk pour créer et configurer des sidechains. Il fournit des outils pour définir le mécanisme de consensus de la sidechain, les types de transactions et d'autres paramètres. Une fois créée, la sidechain est connectée à la mainchain via un ensemble de protocoles d'interopérabilité.

En termes de solution d'interopérabilité de Lisk, elle permet aux sidechains de communiquer efficacement entre elles et avec la mainchain. Cela est réalisé grâce aux transactions de mise à jour inter-chaînes (CCU), qui transportent des changements d'état et des données entre les chaînes. Par exemple, une sidechain peut envoyer un CCU à la mainchain pour mettre à jour son état ou pour transférer des actifs. La mainchain valide le CCU et applique les changements.

Les sidechains héritent de la sécurité de la chaîne principale grâce à l’utilisation de preuves cryptographiques et de mécanismes de validation, ce qui garantit que les opérations de sidechain sont sécurisées et inviolables. La chaîne principale fournit également une couche de finalité, garantissant que les transactions sur les chaînes latérales ne peuvent pas être annulées une fois qu’elles sont confirmées.

Mécanisme de consensus : Délégation de Preuve d'Enjeu (DPoS)

Lisk utilise un mécanisme de consensus Délégué de Preuve d'Enjeu (DPoS), où les parties prenantes (détenteurs de jetons LSK) votent pour des délégués qui valident les transactions et créent de nouveaux blocs. Les caractéristiques du système DPoS de Lisk incluent :

  • Délégués: 101 délégués actifs sont élus par les parties prenantes pour maintenir la blockchain.
  • Pouvoir de vote: Les parties prenantes votent pour les délégués en verrouillant leurs jetons LSK.
  • Incitations: Les délégués gagnent des récompenses pour valider les transactions, qui sont souvent partagées avec leurs électeurs.

Fonctionnement du DPoS

Dans DPoS, le pouvoir de créer des blocs et de valider des transactions est délégué à un ensemble de nœuds de confiance connus sous le nom de délégués, qui sont élus par les détenteurs de jetons LSK grâce à un processus de vote. Chaque jeton LSK représente une voix, et les détenteurs de jetons peuvent répartir leurs votes entre plusieurs délégués.

Élection des délégués

Le processus électoral est continu, les détenteurs de jetons pouvant modifier leur vote à tout moment. Les 101 délégués ayant obtenu le plus de votes sont responsables de la création des blocs et de la validation des transactions. Cela garantit que le réseau reste décentralisé et que le pouvoir est réparti entre plusieurs participants.

Création de bloc

Les délégués se relaient pour créer des blocs de manière tour à tour. Chaque délégué se voit attribuer un créneau horaire pendant lequel il peut créer un bloc. Si un délégué échoue à créer un bloc dans son créneau, le délégué suivant prend le relais. Ce processus garantit que les blocs sont créés régulièrement et que le réseau reste efficace.

Validation

Une fois qu'un bloc est créé, il est diffusé sur le réseau et validé par d'autres nœuds. Si le bloc est valide, il est ajouté à la blockchain. Sinon, il est rejeté et le délégué responsable de sa création peut être pénalisé. Ce processus de validation garantit que seules les transactions légitimes sont incluses dans la blockchain.

Tolérance aux fautes byzantines (BFT)

Lisk intègre la Tolérance aux Fautes Byzantines (BFT) pour garantir la fiabilité et la sécurité du réseau. La BFT répond au défi de parvenir à un consensus dans un système distribué avec des nœuds potentiellement défaillants. L'implémentation de la BFT de Lisk garantit la finalité, la cohérence et la résilience. Une fois qu'un bloc est ajouté, il est considéré comme final et ne peut être inversé, et tous les nœuds honnêtes sont d'accord sur l'état de la blockchain.

Le réseau peut tolérer un certain nombre de nœuds défectueux sans compromettre la sécurité et la fonctionnalité.

Comment fonctionne BFT

Le BFT dans Lisk est réalisé grâce à un processus appelé pré-vote et pré-engagement. Ce processus implique plusieurs étapes de validation pour garantir qu'un bloc est accepté par le réseau.

Pré-vote: Lorsqu'un bloc est proposé, les nœuds du réseau émettent des pré-votes pour indiquer s'ils estiment que le bloc est valide. Ces pré-votes sont collectés et comptés. Si un nombre suffisant de pré-votes est reçu, le bloc passe à la prochaine étape.

Pré-engagement: Les noeuds qui ont pré-voté pour le bloc, puis lancent des pré-engagements. Ces pré-engagements sont également collectés et comptabilisés. Si un nombre suffisant de pré-engagements sont reçus, le bloc est considéré comme finalisé et est ajouté à la blockchain.

Finalité: Une fois qu'un bloc est finalisé, il ne peut pas être inversé. Cela garantit que les transactions sont permanentes et que la blockchain reste cohérente. L'utilisation du pré-vote et de la pré-engagement garantit que le consensus est atteint même en présence de nœuds défectueux.

Fonctionnalités de mise à l'échelle

L’architecture de Lisk répond aux défis d’évolutivité avec des fonctionnalités telles que :

  • Sidechains: Autoriser le traitement des transactions de manière indépendante.
  • Consensus efficace: DPoS et BFT assurent une validation rapide et sécurisée des transactions.
  • Interopérabilité: Facilite la communication entre les sidechains et la mainchain.

Amélioration des performances

Lisk a mis en place plusieurs fonctionnalités pour améliorer les performances et l’évolutivité du réseau. Les frais de transaction sont ajustés dynamiquement en fonction de l’état du réseau, ce qui permet d’éviter la congestion et de garantir que les transactions sont traitées efficacement.

Lisk a amélioré sa couche pair-à-pair pour gérer un volume plus élevé de connexions et de débit de données. Cette optimisation améliore la capacité du réseau à traiter rapidement et efficacement les transactions. La conception modulaire du Lisk SDK permet aux développeurs de créer des applications blockchain personnalisées. Chaque application peut fonctionner de manière indépendante, réduisant la charge sur la chaîne principale et améliorant les performances globales du réseau.

Solutions d'interopérabilité

Le cadre d'interopérabilité de Lisk est conçu pour faciliter la communication entre différentes blockchains. Cela est accompli à travers plusieurs mécanismes:

Messages inter-chaînes (CCM): Les CCM sont utilisés pour transférer des données et des changements d'état entre les sidechains et la chaîne principale. Cela permet une interaction transparente entre différentes chaînes au sein de l'écosystème Lisk.

Clé publique 2 voies fédérée: Ce mécanisme permet des transferts de tokens entre les sidechains et la mainchain. Une fédération d’intermédiaires de confiance gère la frappe et le brûlage des tokens, garantissant des transferts sécurisés et efficaces.

Messagerie générale entre chaînes: La solution d'interopérabilité de Lisk prend en charge le transfert de différents types de données, pas seulement des jetons. Cette flexibilité permet une large gamme d'applications, des transferts de jetons aux interactions de données plus complexes.

Feuille de route future et mises à jour

La feuille de route de Lisk comprend plusieurs jalons clés visant à améliorer les capacités de la plateforme et à étendre son écosystème. Les développements à venir comprennent des plans pour lancer un Layer 2 Testnet connecté au Ethereum Sepolia Testnet. Ce Testnet servira de terrain d'essai pour les nouvelles fonctionnalités et améliorations avant leur déploiement sur le mainnet.

L'introduction de mécanismes de staking et de gouvernance permettra de donner plus de pouvoir à la communauté en matière de prise de décision. Ces fonctionnalités favoriseront la décentralisation et encourageront la participation active des détenteurs de jetons LSK. Les améliorations continues apportées au Lisk SDK amélioreront l'expérience de développement et permettront la création d'applications plus sophistiquées et évolutives.

Explication détaillée des composants

Cadre Lisk

Le Framework Lisk est le cœur du Lisk SDK. Il fournit l'infrastructure essentielle pour la construction d'applications blockchain. Le framework est construit sur un système modulaire, permettant aux développeurs d'étendre les fonctionnalités grâce à des modules personnalisés, qui peuvent mettre en œuvre des fonctionnalités blockchain, telles que des types de transactions personnalisés ou des algorithmes de consensus.

Similaire au système de module, le système de plugin permet aux développeurs d'ajouter des fonctionnalités supplémentaires à leurs applications blockchain. Les plugins peuvent inclure des outils de surveillance, des analyses ou d'autres fonctionnalités auxiliaires qui améliorent les capacités de l'application.

Le Framework Lisk gère le cycle de vie des applications blockchain, y compris les processus d'initialisation, d'exécution et d'arrêt, garantissant que les applications fonctionnent correctement et peuvent être facilement entretenues.

Lisk Elements

Lisk Elements est une collection de bibliothèques JavaScript qui fournissent des outils pour interagir avec la blockchain Lisk. Ces bibliothèques comprennent une suite d'outils cryptographiques pour sécuriser les transactions et gérer les clés, y compris les signatures numériques, les fonctions de hachage et les mécanismes de chiffrement.

Les bibliothèques comprennent des outils de création et de gestion des transactions blockchain, ce qui simplifie le processus de développement d’applications qui interagissent avec la blockchain Lisk. Lisk Elements comprend des utilitaires pour la gestion des comptes blockchain, y compris la génération de clés, la récupération de compte et les requêtes de solde.

Lisk Commander

Lisk Commander est un outil d'interface de ligne de commande (CLI) qui simplifie le développement et la gestion des applications de blockchain. Il comprend des commandes pour configurer et gérer les nœuds de la blockchain, y compris démarrer, arrêter et surveiller les opérations des nœuds. Les outils pour interagir avec la blockchain incluent la requête de l'état, la soumission de transactions et la récupération des données de bloc.

Commandes pour le déploiement et la gestion d'applications blockchain, y compris la création de nouvelles applications, la mise à jour de celles existantes et la gestion des configurations d'application.

Points forts

  • Lisk Core : gère toutes les opérations de la blockchain, y compris le traitement des transactions, la création de blocs et la synchronisation du réseau.
  • Lisk SDK: Un ensemble d'outils pour construire des applications blockchain personnalisées, composé du Lisk Framework, de Lisk Elements et de Lisk Commander.
  • Service Lisk : Agit comme intergiciel entre la blockchain et les interfaces utilisateur, agrégeant et fournissant l'accès aux données de la blockchain.
  • Architecture de sidechain : Améliore la scalabilité et la flexibilité en permettant à des blockchains indépendantes de fonctionner aux côtés de la chaîne principale.
  • Consensus et sécurité : utilise Delegated Proof of Stake (DPoS) et Byzantine Fault Tolerance (BFT) pour garantir un fonctionnement sécurisé et efficace du réseau.
Clause de non-responsabilité
* Les investissements en cryptomonnaies comportent des risques importants. Veuillez faire preuve de prudence. Le cours n'est pas destiné à fournir des conseils en investissement.
* Ce cours a été créé par l'auteur qui a rejoint Gate Learn. Toute opinion partagée par l'auteur ne représente pas Gate Learn.
Catalogue
Leçon 2

Éléments d'architecture

Ce module aborde les composants architecturaux de Gate, détaillant ses principaux éléments, son mécanisme de consensus et ses fonctionnalités de scalabilité. Il vise à fournir une compréhension approfondie de la manière dont la structure de Gate soutient sa fonctionnalité et ses objectifs de développement.

Composants principaux de Lisk

Noyau Lisk

Lisk Core gère toutes les opérations de la blockchain, y compris le traitement des transactions, la création de blocs et la synchronisation du réseau. Il garantit l'intégrité et la sécurité de la blockchain. Les principaux modules incluent le module réseau pour les connexions peer-to-peer, le module consensus pour l'accord sur l'état de la blockchain, et le module API pour l'interaction avec la blockchain.

Core s'exécute sur des nœuds exploités par les participants du réseau qui valident les transactions et sécurisent le réseau. Le logiciel est régulièrement mis à jour pour inclure de nouvelles fonctionnalités et améliorations. Il est écrit en JavaScript et TypeScript, ce qui correspond à l'objectif de Lisk de rendre le développement de blockchain accessible à un public plus large. Le passage à TypeScript améliore la maintenabilité du code et réduit la probabilité de bugs. Le cœur comprend plusieurs sous-systèmes clés :

  • Pool de transactions: Gère les transactions en attente avant qu'elles ne soient incluses dans un bloc.
  • Bloc Pool: Gère les blocs qui ont été reçus mais qui n’ont pas encore été traités.
  • Forger: Le module responsable de la création de nouveaux blocs. Dans Lisk, la création de blocs est déléguée à un ensemble de délégués élus.
  • ConsensusVeille à ce que tous les nœuds du réseau s'accordent sur l'état de la blockchain.
    Le processus de mise à jour de Lisk Core implique des versions régulières qui intègrent des améliorations du protocole, des correctifs de sécurité et des améliorations de performances, qui sont rigoureusement testés dans des environnements de testnet avant d'être déployés sur le mainnet.

Lisk SDK

Le SDK Lisk (Software Development Kit) est un ensemble d'outils pour construire des applications blockchain sur mesure. Le SDK permet aux développeurs de créer des sidechains, qui sont des blockchains indépendantes connectées à la blockchain principale de Lisk. Ces sidechains peuvent être personnalisées pour des cas d'utilisation spécifiques et fonctionner de manière indépendante sans affecter les performances du réseau principal.

Cadre Lisk

Il fournit une architecture modulaire que les développeurs peuvent étendre grâce à des plugins et des modules personnalisés. Il gère le cycle de vie de l'application et l'interaction entre les différents modules.

Lisk Elements

Un ensemble de bibliothèques qui fournissent des outils pour interagir avec la blockchain Lisk. Cela inclut des fonctions cryptographiques, des outils de création de transactions et des utilitaires pour gérer les comptes et les clés. L'utilisation de JavaScript et de TypeScript rend ces bibliothèques accessibles à un plus large éventail de développeurs.

Lisk Commander

Un outil en ligne de commande qui simplifie le développement et la gestion des applications blockchain. Il comprend des commandes pour configurer un environnement de développement, créer de nouvelles applications blockchain et les déployer sur un réseau. Il fournit également des outils pour gérer les nœuds et interagir avec la blockchain.

Le SDK inclut également un support pour le développement de contrats intelligents, qui peuvent être déployés sur les sidechains de Lisk. Ces contrats sont écrits en JavaScript, ce qui les rend accessibles à un large éventail de développeurs.

Service Lisk

Le service Lisk agit comme un intergiciel entre la blockchain et les interfaces utilisateur telles que Lisk Desktop et Lisk Mobile. Il agrège les données de la blockchain et fournit des API pour accéder à ces informations. Les fonctionnalités clés incluent l'agrégation de données, des points d'API pour interroger les données de la blockchain et des fonctionnalités améliorées d'accès aux données. Le service Lisk garantit que les applications et les portefeuilles peuvent interagir efficacement avec la blockchain, offrant un accès aux données en temps réel et améliorant l'expérience utilisateur.

Service Lisk comprend :

  • Porte: Gère les demandes d'API et les routent vers le service approprié.
  • Aggrégateur de données: Collecte et traite des données de la blockchain, les rendant disponibles via des API.
  • Indexeur: Indexe les données de la blockchain pour permettre des requêtes rapides et efficaces.
  • Cache: Stocke les données fréquemment consultées pour améliorer les performances.

Ces composants travaillent ensemble pour offrir une expérience sans faille aux développeurs et aux utilisateurs. Le service est conçu pour être hautement évolutif, lui permettant de gérer de gros volumes de données et des charges de trafic élevées.

Architecture de Sidechain et Mainchain

Lisk utilise des sidechains pour améliorer la scalabilité et la flexibilité. La mainchain gère les opérations essentielles et sécurise le réseau, tandis que les sidechains gèrent leurs propres transactions et opérations, une séparation qui permet :

  • Scalabilité: Les sidechains traitent les transactions indépendamment, ce qui réduit la charge de la chaîne principale.
  • Personnalisation: Les développeurs peuvent créer des sidechains adaptées à des applications spécifiques.
  • Interopérabilité: Les sidechains peuvent communiquer avec la chaîne principale et d'autres sidechains via des messages inter-chaînes, permettant le transfert de données et de valeur à travers le réseau.

Comment fonctionnent les sidechains

Les sidechains dans Lisk sont des blockchains entièrement indépendantes qui peuvent fonctionner avec leur propre ensemble de règles et de mécanismes de consensus. Ils sont connectés à la blockchain principale de Lisk, qui fournit sécurité et coordination. Les sidechains peuvent être utilisées à diverses fins, telles que l'exécution de dApps, la gestion d'actifs numériques ou la mise en œuvre de solutions blockchain spécialisées.

Pour créer une sidechain, les développeurs utilisent le SDK Lisk pour créer et configurer des sidechains. Il fournit des outils pour définir le mécanisme de consensus de la sidechain, les types de transactions et d'autres paramètres. Une fois créée, la sidechain est connectée à la mainchain via un ensemble de protocoles d'interopérabilité.

En termes de solution d'interopérabilité de Lisk, elle permet aux sidechains de communiquer efficacement entre elles et avec la mainchain. Cela est réalisé grâce aux transactions de mise à jour inter-chaînes (CCU), qui transportent des changements d'état et des données entre les chaînes. Par exemple, une sidechain peut envoyer un CCU à la mainchain pour mettre à jour son état ou pour transférer des actifs. La mainchain valide le CCU et applique les changements.

Les sidechains héritent de la sécurité de la chaîne principale grâce à l’utilisation de preuves cryptographiques et de mécanismes de validation, ce qui garantit que les opérations de sidechain sont sécurisées et inviolables. La chaîne principale fournit également une couche de finalité, garantissant que les transactions sur les chaînes latérales ne peuvent pas être annulées une fois qu’elles sont confirmées.

Mécanisme de consensus : Délégation de Preuve d'Enjeu (DPoS)

Lisk utilise un mécanisme de consensus Délégué de Preuve d'Enjeu (DPoS), où les parties prenantes (détenteurs de jetons LSK) votent pour des délégués qui valident les transactions et créent de nouveaux blocs. Les caractéristiques du système DPoS de Lisk incluent :

  • Délégués: 101 délégués actifs sont élus par les parties prenantes pour maintenir la blockchain.
  • Pouvoir de vote: Les parties prenantes votent pour les délégués en verrouillant leurs jetons LSK.
  • Incitations: Les délégués gagnent des récompenses pour valider les transactions, qui sont souvent partagées avec leurs électeurs.

Fonctionnement du DPoS

Dans DPoS, le pouvoir de créer des blocs et de valider des transactions est délégué à un ensemble de nœuds de confiance connus sous le nom de délégués, qui sont élus par les détenteurs de jetons LSK grâce à un processus de vote. Chaque jeton LSK représente une voix, et les détenteurs de jetons peuvent répartir leurs votes entre plusieurs délégués.

Élection des délégués

Le processus électoral est continu, les détenteurs de jetons pouvant modifier leur vote à tout moment. Les 101 délégués ayant obtenu le plus de votes sont responsables de la création des blocs et de la validation des transactions. Cela garantit que le réseau reste décentralisé et que le pouvoir est réparti entre plusieurs participants.

Création de bloc

Les délégués se relaient pour créer des blocs de manière tour à tour. Chaque délégué se voit attribuer un créneau horaire pendant lequel il peut créer un bloc. Si un délégué échoue à créer un bloc dans son créneau, le délégué suivant prend le relais. Ce processus garantit que les blocs sont créés régulièrement et que le réseau reste efficace.

Validation

Une fois qu'un bloc est créé, il est diffusé sur le réseau et validé par d'autres nœuds. Si le bloc est valide, il est ajouté à la blockchain. Sinon, il est rejeté et le délégué responsable de sa création peut être pénalisé. Ce processus de validation garantit que seules les transactions légitimes sont incluses dans la blockchain.

Tolérance aux fautes byzantines (BFT)

Lisk intègre la Tolérance aux Fautes Byzantines (BFT) pour garantir la fiabilité et la sécurité du réseau. La BFT répond au défi de parvenir à un consensus dans un système distribué avec des nœuds potentiellement défaillants. L'implémentation de la BFT de Lisk garantit la finalité, la cohérence et la résilience. Une fois qu'un bloc est ajouté, il est considéré comme final et ne peut être inversé, et tous les nœuds honnêtes sont d'accord sur l'état de la blockchain.

Le réseau peut tolérer un certain nombre de nœuds défectueux sans compromettre la sécurité et la fonctionnalité.

Comment fonctionne BFT

Le BFT dans Lisk est réalisé grâce à un processus appelé pré-vote et pré-engagement. Ce processus implique plusieurs étapes de validation pour garantir qu'un bloc est accepté par le réseau.

Pré-vote: Lorsqu'un bloc est proposé, les nœuds du réseau émettent des pré-votes pour indiquer s'ils estiment que le bloc est valide. Ces pré-votes sont collectés et comptés. Si un nombre suffisant de pré-votes est reçu, le bloc passe à la prochaine étape.

Pré-engagement: Les noeuds qui ont pré-voté pour le bloc, puis lancent des pré-engagements. Ces pré-engagements sont également collectés et comptabilisés. Si un nombre suffisant de pré-engagements sont reçus, le bloc est considéré comme finalisé et est ajouté à la blockchain.

Finalité: Une fois qu'un bloc est finalisé, il ne peut pas être inversé. Cela garantit que les transactions sont permanentes et que la blockchain reste cohérente. L'utilisation du pré-vote et de la pré-engagement garantit que le consensus est atteint même en présence de nœuds défectueux.

Fonctionnalités de mise à l'échelle

L’architecture de Lisk répond aux défis d’évolutivité avec des fonctionnalités telles que :

  • Sidechains: Autoriser le traitement des transactions de manière indépendante.
  • Consensus efficace: DPoS et BFT assurent une validation rapide et sécurisée des transactions.
  • Interopérabilité: Facilite la communication entre les sidechains et la mainchain.

Amélioration des performances

Lisk a mis en place plusieurs fonctionnalités pour améliorer les performances et l’évolutivité du réseau. Les frais de transaction sont ajustés dynamiquement en fonction de l’état du réseau, ce qui permet d’éviter la congestion et de garantir que les transactions sont traitées efficacement.

Lisk a amélioré sa couche pair-à-pair pour gérer un volume plus élevé de connexions et de débit de données. Cette optimisation améliore la capacité du réseau à traiter rapidement et efficacement les transactions. La conception modulaire du Lisk SDK permet aux développeurs de créer des applications blockchain personnalisées. Chaque application peut fonctionner de manière indépendante, réduisant la charge sur la chaîne principale et améliorant les performances globales du réseau.

Solutions d'interopérabilité

Le cadre d'interopérabilité de Lisk est conçu pour faciliter la communication entre différentes blockchains. Cela est accompli à travers plusieurs mécanismes:

Messages inter-chaînes (CCM): Les CCM sont utilisés pour transférer des données et des changements d'état entre les sidechains et la chaîne principale. Cela permet une interaction transparente entre différentes chaînes au sein de l'écosystème Lisk.

Clé publique 2 voies fédérée: Ce mécanisme permet des transferts de tokens entre les sidechains et la mainchain. Une fédération d’intermédiaires de confiance gère la frappe et le brûlage des tokens, garantissant des transferts sécurisés et efficaces.

Messagerie générale entre chaînes: La solution d'interopérabilité de Lisk prend en charge le transfert de différents types de données, pas seulement des jetons. Cette flexibilité permet une large gamme d'applications, des transferts de jetons aux interactions de données plus complexes.

Feuille de route future et mises à jour

La feuille de route de Lisk comprend plusieurs jalons clés visant à améliorer les capacités de la plateforme et à étendre son écosystème. Les développements à venir comprennent des plans pour lancer un Layer 2 Testnet connecté au Ethereum Sepolia Testnet. Ce Testnet servira de terrain d'essai pour les nouvelles fonctionnalités et améliorations avant leur déploiement sur le mainnet.

L'introduction de mécanismes de staking et de gouvernance permettra de donner plus de pouvoir à la communauté en matière de prise de décision. Ces fonctionnalités favoriseront la décentralisation et encourageront la participation active des détenteurs de jetons LSK. Les améliorations continues apportées au Lisk SDK amélioreront l'expérience de développement et permettront la création d'applications plus sophistiquées et évolutives.

Explication détaillée des composants

Cadre Lisk

Le Framework Lisk est le cœur du Lisk SDK. Il fournit l'infrastructure essentielle pour la construction d'applications blockchain. Le framework est construit sur un système modulaire, permettant aux développeurs d'étendre les fonctionnalités grâce à des modules personnalisés, qui peuvent mettre en œuvre des fonctionnalités blockchain, telles que des types de transactions personnalisés ou des algorithmes de consensus.

Similaire au système de module, le système de plugin permet aux développeurs d'ajouter des fonctionnalités supplémentaires à leurs applications blockchain. Les plugins peuvent inclure des outils de surveillance, des analyses ou d'autres fonctionnalités auxiliaires qui améliorent les capacités de l'application.

Le Framework Lisk gère le cycle de vie des applications blockchain, y compris les processus d'initialisation, d'exécution et d'arrêt, garantissant que les applications fonctionnent correctement et peuvent être facilement entretenues.

Lisk Elements

Lisk Elements est une collection de bibliothèques JavaScript qui fournissent des outils pour interagir avec la blockchain Lisk. Ces bibliothèques comprennent une suite d'outils cryptographiques pour sécuriser les transactions et gérer les clés, y compris les signatures numériques, les fonctions de hachage et les mécanismes de chiffrement.

Les bibliothèques comprennent des outils de création et de gestion des transactions blockchain, ce qui simplifie le processus de développement d’applications qui interagissent avec la blockchain Lisk. Lisk Elements comprend des utilitaires pour la gestion des comptes blockchain, y compris la génération de clés, la récupération de compte et les requêtes de solde.

Lisk Commander

Lisk Commander est un outil d'interface de ligne de commande (CLI) qui simplifie le développement et la gestion des applications de blockchain. Il comprend des commandes pour configurer et gérer les nœuds de la blockchain, y compris démarrer, arrêter et surveiller les opérations des nœuds. Les outils pour interagir avec la blockchain incluent la requête de l'état, la soumission de transactions et la récupération des données de bloc.

Commandes pour le déploiement et la gestion d'applications blockchain, y compris la création de nouvelles applications, la mise à jour de celles existantes et la gestion des configurations d'application.

Points forts

  • Lisk Core : gère toutes les opérations de la blockchain, y compris le traitement des transactions, la création de blocs et la synchronisation du réseau.
  • Lisk SDK: Un ensemble d'outils pour construire des applications blockchain personnalisées, composé du Lisk Framework, de Lisk Elements et de Lisk Commander.
  • Service Lisk : Agit comme intergiciel entre la blockchain et les interfaces utilisateur, agrégeant et fournissant l'accès aux données de la blockchain.
  • Architecture de sidechain : Améliore la scalabilité et la flexibilité en permettant à des blockchains indépendantes de fonctionner aux côtés de la chaîne principale.
  • Consensus et sécurité : utilise Delegated Proof of Stake (DPoS) et Byzantine Fault Tolerance (BFT) pour garantir un fonctionnement sécurisé et efficace du réseau.
Clause de non-responsabilité
* Les investissements en cryptomonnaies comportent des risques importants. Veuillez faire preuve de prudence. Le cours n'est pas destiné à fournir des conseils en investissement.
* Ce cours a été créé par l'auteur qui a rejoint Gate Learn. Toute opinion partagée par l'auteur ne représente pas Gate Learn.