Les blockchains ont été initialement utilisées comme réseaux décentralisés pour le traitement des transactions. Cependant, les machines virtuelles ont facilité le développement de contrats intelligents sur les blockchains, les transformant en composants fondamentaux pour un large éventail d'applications et de cas d'utilisation. Les exemples principaux incluent la Machine Virtuelle Solana (SVM) et la Machine Virtuelle Ethereum (EVM).
La machine virtuelle Solana (SVM) est l'infrastructure logicielle qui sous-tend la blockchain Solana, lui permettant de faciliter la mise en œuvre de contrats intelligents et d'atteindre un débit de transactions plus élevé. Contrairement à la machine virtuelle Ethereum (EVM), qui fonctionne selon un paradigme de traitement séquentiel et utilise Solidity, la SVM utilise le langage de programmation Rust et le traitement parallèle des transactions.
La machine virtuelle Solana (SVM) est l'environnement d'exécution qui traite les transactions, les contrats intelligents et les programmes sur le réseau Solana. La machine virtuelle Solana améliore la scalabilité du réseau en traitant des milliers de transactions par seconde (TPS). Les développeurs affirment que le SVM est optimisé pour les scénarios à forte demande et est construit en utilisant le langage de programmation Rust pour exécuter les transactions de la manière la plus efficace.
Ethereum a été le premier à développer une machine virtuelle blockchain, l'EVM, qui est depuis devenue la norme de l'industrie. L'architecture de l'EVM a inspiré de nombreuses blockchains, notamment BNB Smart Chain, Avalanche et Tron, qui ont mis en œuvre des systèmes compatibles avec l'EVM ou dérivés de celui-ci.
La machine virtuelle Solana est devenue un concurrent redoutable de l'EVM établi. La SVM fonctionne comme un moteur de traitement virtualisé responsable du déploiement de contrats intelligents, du traitement des transactions et de l'exécution d'autres demandes de ces contrats.
Ces transactions sont des demandes de changement d'état, calculées par le SVM Solana et mettent à jour l'état global de la blockchain après chaque itération. En conclusion, l'environnement d'exécution de la blockchain Solana est le SVM. Il fournit un réseau dynamique pour le développement et l'exploitation des applications Web3 en collaboration avec la couche de consensus de la blockchain Solana.
Le SVM peut prendre en charge diverses applications de contrats intelligents, telles que DeFi, GameFi et d'autres applications décentralisées. Solana VM est une machine modulaire similaire à l'EVM. Il peut être déployé avec d'autres composants, tels qu'une couche de disponibilité des données ou de consensus, pour construire des réseaux décentralisés avec des modifications minimales ou nulles de leur forme originale.
Source: protocole Squads
Une machine virtuelle (VM) est un composant logiciel qui exécute des programmes, souvent appelé environnement d'exécution, dans le contexte des blockchains. Il est utilisé pour mettre en œuvre des contrats intelligents pour un réseau crypto. Une machine virtuelle peut également simplifier le processus de déploiement pour les développeurs sur d'autres canaux qui utilisent la même VM.
Lorsqu'une transaction est soumise, la machine virtuelle du réseau est responsable de la traiter et de gérer l'état de la blockchain, qui est l'état actuel de l'ensemble du réseau, tel qu'il est affecté par l'exécution de la transaction. La machine virtuelle établit les règlements précis pour modifier l'état du réseau.
Le VM convertit le code du contrat intelligent en un format que le matériel des validateurs peut exécuter lors du traitement des transactions. La Machine Virtuelle Solana (SVM) compile Rust, C et C++ en bytecode BPF, la langue principale pour écrire des contrats intelligents sur Solana. Ce processus permet aux nœuds du réseau (validateurs) d'exécuter efficacement les transactions.
Dans le passé, les utilisateurs ont utilisé des machines virtuelles (VM) comme des environnements expérimentaux totalement isolés de leur système d'exploitation informatique principal. Les machines virtuelles de la blockchain servent de couche d'exécution du réseau pour les applications décentralisées, contrairement aux machines virtuelles traditionnelles, qui sont des environnements isolés. Les machines virtuelles de la blockchain (VM) sont décentralisées, permettant aux nœuds du réseau d'exécuter une instance de la machine virtuelle de la blockchain sur leur appareil, de calculer les changements d'état et de surveiller les changements d'état suggérés par d'autres validateurs pour parvenir à un consensus. Cela garantit que les enregistrements des transactions sont correctement enregistrés sur le réseau.
Les nœuds de la blockchain (les validateurs) fonctionnent comme des instances distinctes et autonomes de la machine virtuelle Solana. Chaque validateur traite les transactions dans un environnement local SVM isolé sur son matériel. Néanmoins, le SVM doit d'abord convertir le contrat intelligent dans un format que le matériel du validateur peut traiter avant qu'un validateur puisse exécuter le contrat intelligent.
L'état de la blockchain est modifié lorsqu'un smart contract est déployé avec succès. Ce changement doit être rapporté au runtime de Slana, qui transmet les modifications au SVM, permettant à tous les nœuds validateurs de mettre à jour la blockchain avec le changement d'état.
L'utilisation du traitement des transactions parallèles SeaLevel est un élément critique de la machine virtuelle Solana, ce qui représente un contraste significatif par rapport à la machine virtuelle Ethereum. Il existe de nombreuses raisons pour lesquelles SVM peut traiter les transactions plus rapidement que EVM ; cependant, le facteur principal est la disparité dans les temps d'exécution des deux blockchains. En résumé, EVM ne peut traiter qu'un seul contrat simultanément en raison de son temps d'exécution "monotâche". En revanche, SVM utilise un temps d'exécution "multitâche" qui peut traiter simultanément de nombreux contrats.
Les mécanismes de fonctionnement du SVM peuvent être perturbés par une série de processus distincts. Ils comprennent;
SeaLevel est un composant critique de la VM Solana, car il permet à la machine virtuelle d'exécuter des transactions en tandem. Le modèle de traitement des transactions parallèles traite les transactions simultanément par des validateurs à travers le réseau, contrairement au modèle d'exécution séquentielle. Cela permet au réseau d'atteindre un débit plus élevé et une meilleure évolutivité. Cela facilite la mise à l'échelle "horizontale" au sein de l'environnement d'exécution Solana en permettant la mise en œuvre concurrente de plusieurs contrats intelligents sans affecter leurs performances respectives. Les contrats intelligents Solana facilitent cela en spécifiant les données (état) qui seront lues ou écrites lors de l'exécution.
Cela permet l'exécution parallèle de transactions sans conflits et l'accès simple aux mêmes informations. Sealevel permet à SVM de traiter des dizaines de milliers de transactions simultanément au lieu de les traiter individuellement, comme le fait la Machine Virtuelle Ethereum (EVM).
Sealevel utilise un contrôle de concurrence optimiste, une méthode qui permet l'exécution de transactions en parallèle en supposant que la majorité d'entre elles ne seront pas en conflit. Si un conflit est détecté pendant l'exécution, Sealevel réessaie séquentiellement les transactions en conflit. Un rollback est mis en œuvre.
SeaLevel optimise l'exécution des contrats intelligents en permettant l'exécution simultanée de nombreuses transactions sur divers nœuds du réseau Solana. Cela est accompli en identifiant et en séparant les transactions qui peuvent être traitées en parallèle sans risque d'interférence en fonction des données auxquelles elles accèdent ou qu'elles modifient pour y parvenir. SeaLevel séquence intelligemment les transactions qui pourraient entrer en conflit pour garantir une exécution précise et ordonnée.
Le principal avantage de l'approche de traitement parallèle est la capacité à être mis à l'échelle. Le réseau Solana peut être mis à l'échelle efficacement sans les obstacles généralement observés dans les systèmes de traitement séquentiel traditionnels utilisés par d'autres blockchains, tels qu'Ethereum. La capacité de SeaLevel à gérer des augmentations en parallèle augmente avec les volumes de transactions. Cela conduit à des périodes de traitement réduites et des vitesses de transaction plus rapides, essentielles pour les applications nécessitant des performances en temps réel.
L'exécution parallèle est une solution sophistiquée qui permet l'exécution simultanée et la classification indépendante des transactions. Contrairement à la méthode conventionnelle d'exécution séquentielle, l'exécution parallèle permet de traiter simultanément plusieurs transactions, améliorant ainsi la scalabilité et la performance du réseau.
L'approche fondamentale est le point de différenciation principal. L'ensemble du réseau doit valider chaque transaction avec une exécution séquentielle. Cela se traduit par une consommation d'énergie significative et un effort accru pour les mineurs ou les validateurs. En revanche, l'exécution parallèle améliore les vitesses de transaction. Cela réduit les coûts associés en optimisant les capacités du réseau, tout en garantissant la compatibilité avec l'environnement de la Machine Virtuelle Ethereum (EVM).
Ethereum et Solana sont des blockchains distinctives en ce sens que différents clients de validation sont utilisés pour vérifier les transactions. Si un client particulier rencontre des difficultés, plusieurs clients de validation peuvent aider à prévenir les perturbations du réseau. Les clients de la couche d'exécution (EL) et les clients de la couche de consensus (CL) sont les deux catégories de clients de validation.
Les clients d'exécution sont responsables des éléments suivants:
Source: AMINA Banque
D'autre part, les clients de consensus implémentent l'algorithme de consensus PoS et parviennent à un consensus sur le réseau en utilisant des données vérifiées provenant des clients d'exécution.
Les nœuds validés Ethereum fonctionnent généralement avec à la fois des clients d'exécution et de consensus, car ces deux catégories de clients remplissent des fonctions distinctes. En revanche, Solana intègre ces deux capacités dans un seul client. Solana Labs a été la première organisation à développer le premier client de validation sur Solana.
Source: AMINA Bank
Depuis ce temps, il y a eu de nombreuses initiatives indépendantes visant à créer des clients de validation complets ou légers supplémentaires sur le réseau Solana:
En août 2022, Jito Labs a publié un deuxième client validateur sur le mainnet. Jito est responsable de maintenir, de modifier et de déployer cette fourche du code de Solana Labs, qu'il développe de manière indépendante. Néanmoins, ce client présente une faille dans le client de Solana Labs, car il s'agit d'une fourche du client existant.
En août 2022, Jump Crypto a divulgué son intention de développer un nouveau client validateur sur Solana. Ce client validateur a été entièrement créé en C++ et a démontré des améliorations de performance substantielles. Firedancer a traité jusqu'à un million de transactions par seconde dans des environnements de test. En comparaison, le client original de Solana Labs traite environ 55 000 transactions par seconde dans des environnements de test similaires.
En juillet 2023, Syndica a divulgué la création de Sig, un client validateur pour le réseau Solana écrit dans le langage de programmation Zig. L'équipe de validation chez Syndica a initialement mis en œuvre le protocole de bavardage pour Sig en septembre 2023.
TinyDancer, un client léger pour Solana, est actuellement en développement actif en plus de ces quatre clients de validation. TinyDancer et d'autres clients légers ne construisent pas de blocs ou ne participent pas au consensus ; ils facilitent plutôt la vérification de l'état d'une blockchain sans nécessiter l'exploitation d'un nœud complet.
Les blockchains ayant un plus grand nombre de validateurs sont généralement plus résistantes. Un utilisateur doit avoir l'assurance que sa transmission sera enregistrée lorsqu'il exécute un contrat sur une blockchain. Idéalement, chaque ajout à une blockchain est enregistré sur chaque validateur de cette chaîne, c'est pourquoi un nombre plus important de validateurs est crucial. Un ensemble diversifié de validateurs protège contre des événements catastrophiques tels qu'une panne de centre de données.
Ethereum catégorise les nœuds en trois catégories en fonction de leur participation au consensus et de l'étendue de leur stockage de données :
Full Node: Les nœuds complets acquièrent et vérifient les données de chaque bloc de la chaîne de blocs, les validant bloc par bloc. Il existe une variété de nœuds complets, certains commençant au bloc initial et validant toutes les entrées de l'ensemble de l'historique de la chaîne de blocs. D'autres initient la validation à partir des blocs de confiance les plus récents, conservant généralement une copie locale des 128 blocs les plus récents et supprimant périodiquement les données plus anciennes pour conserver l'espace disque. Les données plus anciennes peuvent être régénérées au besoin.
Nœud d'archivage : Les nœuds d'archivage vérifient et maintiennent tous les blocs à partir du bloc Genesis, garantissant qu'aucune donnée n'est supprimée. Ils sont indispensables pour interroger des ensembles de tests sans avoir besoin d'exploitations minières fiables et de services tels que des explorateurs de blocs, des fournisseurs de portefeuilles et des analyses de chaînes.
Nœud léger : Contrairement à la blockchain complète, les nœuds légers ne récupèrent que les en-têtes de bloc. Les nœuds complets sont sollicités pour fournir des informations supplémentaires sur les besoins des nœuds légers. Lorsque les données sont reçues, les nœuds légers peuvent les vérifier de manière indépendante par rapport à la racine d'état des en-têtes de bloc. Ils n'ont pas besoin d'une bande passante élevée ou de matériel sophistiqué, ce qui leur permet de participer au réseau Ethereum à partir de téléphones mobiles ou d'appareils intégrés. Les nœuds légers ne peuvent pas devenir des mineurs ou des validateurs, car ils ne participent pas au consensus. Cependant, ils peuvent accéder à la blockchain Ethereum et offrir la même sécurité et les mêmes fonctionnalités que les nœuds complets.
Les nœuds dans Solana sont classés en deux catégories selon leur participation au consensus :
Dès le départ, Solana différencie les nœuds RPC et les nœuds de consensus. Cependant, les nœuds RPC de Solana ne réalisent pas de sondages. Les nœuds RPC d'Ethereum sont généralement construits à partir de nœuds complets ou d'archives. Le nombre absolu de nœuds de Solana est relativement élevé par rapport à d'autres blockchains de preuve d'enjeu. La Fondation a l'intention de modifier ses programmes prochainement pour promouvoir la qualité des nœuds plutôt que la quantité de nœuds.
Le nombre total de nœuds de consensus est passé d'environ 2200 à 1700 en mars 2023. Cette diminution est due à une quantité importante de mise en jeu redistribuée à partir de nœuds facturant une commission de 100 %. L'intéressé a reconnu le problème et a réaffecté sa délégation à des validateurs plus actifs. À la suite de cette baisse, le nombre de nœuds de consensus a progressivement et régulièrement augmenté, pour atteindre un total de 1 961 nœuds de consensus et 2 874 nœuds de validation au 13 septembre.
En conclusion, ce qui suit est une comparaison entre les nœuds SVM et les nœuds EVM :
Modèle de gestion des transactions : Le SVM utilise un modèle de traitement parallèle, ce qui permet l'exécution de plusieurs transactions simultanément, améliorant ainsi le débit et réduisant la latence. En revanche, l'EVM traite les transactions séquentiellement, ce qui peut entraîner une congestion du réseau lors de périodes d'utilisation intense.
Langage de programmation : Le SVM prend en charge Rust, un langage réputé pour son efficacité. Ce langage est particulièrement adapté aux applications nécessitant des performances élevées et une sécurité. En revanche, l'EVM utilise Solidity, un langage de programmation conçu pour développer des contrats intelligents.
Mise en œuvre des contrats intelligents : Chaque validateur exécute indépendamment les contrats intelligents sur le SVM, ce qui facilite les opérations réseau plus efficaces. En revanche, l'EVM nécessite que tous les nœuds parviennent à un consensus sur les résultats des exécutions de contrats intelligents, ce qui peut retarder les temps de traitement.
Le SVM est un environnement d'exécution sur la blockchain Solana qui privilégie la mise en œuvre efficace de contrats intelligents et du traitement des transactions. Il améliore la scalabilité et le débit des transactions en utilisant le langage de programmation Rust et le traitement parallèle des transactions. Le SVM fait face à des obstacles, notamment les inconvénients inhérents au modèle d'exécution parallèle et la courbe d'apprentissage abrupte du langage Rust. Néanmoins, l'utilisation future et l'adoption du SVM devraient augmenter en raison de son intégration avec les technologies émergentes en matière d'IA.
Les blockchains ont été initialement utilisées comme réseaux décentralisés pour le traitement des transactions. Cependant, les machines virtuelles ont facilité le développement de contrats intelligents sur les blockchains, les transformant en composants fondamentaux pour un large éventail d'applications et de cas d'utilisation. Les exemples principaux incluent la Machine Virtuelle Solana (SVM) et la Machine Virtuelle Ethereum (EVM).
La machine virtuelle Solana (SVM) est l'infrastructure logicielle qui sous-tend la blockchain Solana, lui permettant de faciliter la mise en œuvre de contrats intelligents et d'atteindre un débit de transactions plus élevé. Contrairement à la machine virtuelle Ethereum (EVM), qui fonctionne selon un paradigme de traitement séquentiel et utilise Solidity, la SVM utilise le langage de programmation Rust et le traitement parallèle des transactions.
La machine virtuelle Solana (SVM) est l'environnement d'exécution qui traite les transactions, les contrats intelligents et les programmes sur le réseau Solana. La machine virtuelle Solana améliore la scalabilité du réseau en traitant des milliers de transactions par seconde (TPS). Les développeurs affirment que le SVM est optimisé pour les scénarios à forte demande et est construit en utilisant le langage de programmation Rust pour exécuter les transactions de la manière la plus efficace.
Ethereum a été le premier à développer une machine virtuelle blockchain, l'EVM, qui est depuis devenue la norme de l'industrie. L'architecture de l'EVM a inspiré de nombreuses blockchains, notamment BNB Smart Chain, Avalanche et Tron, qui ont mis en œuvre des systèmes compatibles avec l'EVM ou dérivés de celui-ci.
La machine virtuelle Solana est devenue un concurrent redoutable de l'EVM établi. La SVM fonctionne comme un moteur de traitement virtualisé responsable du déploiement de contrats intelligents, du traitement des transactions et de l'exécution d'autres demandes de ces contrats.
Ces transactions sont des demandes de changement d'état, calculées par le SVM Solana et mettent à jour l'état global de la blockchain après chaque itération. En conclusion, l'environnement d'exécution de la blockchain Solana est le SVM. Il fournit un réseau dynamique pour le développement et l'exploitation des applications Web3 en collaboration avec la couche de consensus de la blockchain Solana.
Le SVM peut prendre en charge diverses applications de contrats intelligents, telles que DeFi, GameFi et d'autres applications décentralisées. Solana VM est une machine modulaire similaire à l'EVM. Il peut être déployé avec d'autres composants, tels qu'une couche de disponibilité des données ou de consensus, pour construire des réseaux décentralisés avec des modifications minimales ou nulles de leur forme originale.
Source: protocole Squads
Une machine virtuelle (VM) est un composant logiciel qui exécute des programmes, souvent appelé environnement d'exécution, dans le contexte des blockchains. Il est utilisé pour mettre en œuvre des contrats intelligents pour un réseau crypto. Une machine virtuelle peut également simplifier le processus de déploiement pour les développeurs sur d'autres canaux qui utilisent la même VM.
Lorsqu'une transaction est soumise, la machine virtuelle du réseau est responsable de la traiter et de gérer l'état de la blockchain, qui est l'état actuel de l'ensemble du réseau, tel qu'il est affecté par l'exécution de la transaction. La machine virtuelle établit les règlements précis pour modifier l'état du réseau.
Le VM convertit le code du contrat intelligent en un format que le matériel des validateurs peut exécuter lors du traitement des transactions. La Machine Virtuelle Solana (SVM) compile Rust, C et C++ en bytecode BPF, la langue principale pour écrire des contrats intelligents sur Solana. Ce processus permet aux nœuds du réseau (validateurs) d'exécuter efficacement les transactions.
Dans le passé, les utilisateurs ont utilisé des machines virtuelles (VM) comme des environnements expérimentaux totalement isolés de leur système d'exploitation informatique principal. Les machines virtuelles de la blockchain servent de couche d'exécution du réseau pour les applications décentralisées, contrairement aux machines virtuelles traditionnelles, qui sont des environnements isolés. Les machines virtuelles de la blockchain (VM) sont décentralisées, permettant aux nœuds du réseau d'exécuter une instance de la machine virtuelle de la blockchain sur leur appareil, de calculer les changements d'état et de surveiller les changements d'état suggérés par d'autres validateurs pour parvenir à un consensus. Cela garantit que les enregistrements des transactions sont correctement enregistrés sur le réseau.
Les nœuds de la blockchain (les validateurs) fonctionnent comme des instances distinctes et autonomes de la machine virtuelle Solana. Chaque validateur traite les transactions dans un environnement local SVM isolé sur son matériel. Néanmoins, le SVM doit d'abord convertir le contrat intelligent dans un format que le matériel du validateur peut traiter avant qu'un validateur puisse exécuter le contrat intelligent.
L'état de la blockchain est modifié lorsqu'un smart contract est déployé avec succès. Ce changement doit être rapporté au runtime de Slana, qui transmet les modifications au SVM, permettant à tous les nœuds validateurs de mettre à jour la blockchain avec le changement d'état.
L'utilisation du traitement des transactions parallèles SeaLevel est un élément critique de la machine virtuelle Solana, ce qui représente un contraste significatif par rapport à la machine virtuelle Ethereum. Il existe de nombreuses raisons pour lesquelles SVM peut traiter les transactions plus rapidement que EVM ; cependant, le facteur principal est la disparité dans les temps d'exécution des deux blockchains. En résumé, EVM ne peut traiter qu'un seul contrat simultanément en raison de son temps d'exécution "monotâche". En revanche, SVM utilise un temps d'exécution "multitâche" qui peut traiter simultanément de nombreux contrats.
Les mécanismes de fonctionnement du SVM peuvent être perturbés par une série de processus distincts. Ils comprennent;
SeaLevel est un composant critique de la VM Solana, car il permet à la machine virtuelle d'exécuter des transactions en tandem. Le modèle de traitement des transactions parallèles traite les transactions simultanément par des validateurs à travers le réseau, contrairement au modèle d'exécution séquentielle. Cela permet au réseau d'atteindre un débit plus élevé et une meilleure évolutivité. Cela facilite la mise à l'échelle "horizontale" au sein de l'environnement d'exécution Solana en permettant la mise en œuvre concurrente de plusieurs contrats intelligents sans affecter leurs performances respectives. Les contrats intelligents Solana facilitent cela en spécifiant les données (état) qui seront lues ou écrites lors de l'exécution.
Cela permet l'exécution parallèle de transactions sans conflits et l'accès simple aux mêmes informations. Sealevel permet à SVM de traiter des dizaines de milliers de transactions simultanément au lieu de les traiter individuellement, comme le fait la Machine Virtuelle Ethereum (EVM).
Sealevel utilise un contrôle de concurrence optimiste, une méthode qui permet l'exécution de transactions en parallèle en supposant que la majorité d'entre elles ne seront pas en conflit. Si un conflit est détecté pendant l'exécution, Sealevel réessaie séquentiellement les transactions en conflit. Un rollback est mis en œuvre.
SeaLevel optimise l'exécution des contrats intelligents en permettant l'exécution simultanée de nombreuses transactions sur divers nœuds du réseau Solana. Cela est accompli en identifiant et en séparant les transactions qui peuvent être traitées en parallèle sans risque d'interférence en fonction des données auxquelles elles accèdent ou qu'elles modifient pour y parvenir. SeaLevel séquence intelligemment les transactions qui pourraient entrer en conflit pour garantir une exécution précise et ordonnée.
Le principal avantage de l'approche de traitement parallèle est la capacité à être mis à l'échelle. Le réseau Solana peut être mis à l'échelle efficacement sans les obstacles généralement observés dans les systèmes de traitement séquentiel traditionnels utilisés par d'autres blockchains, tels qu'Ethereum. La capacité de SeaLevel à gérer des augmentations en parallèle augmente avec les volumes de transactions. Cela conduit à des périodes de traitement réduites et des vitesses de transaction plus rapides, essentielles pour les applications nécessitant des performances en temps réel.
L'exécution parallèle est une solution sophistiquée qui permet l'exécution simultanée et la classification indépendante des transactions. Contrairement à la méthode conventionnelle d'exécution séquentielle, l'exécution parallèle permet de traiter simultanément plusieurs transactions, améliorant ainsi la scalabilité et la performance du réseau.
L'approche fondamentale est le point de différenciation principal. L'ensemble du réseau doit valider chaque transaction avec une exécution séquentielle. Cela se traduit par une consommation d'énergie significative et un effort accru pour les mineurs ou les validateurs. En revanche, l'exécution parallèle améliore les vitesses de transaction. Cela réduit les coûts associés en optimisant les capacités du réseau, tout en garantissant la compatibilité avec l'environnement de la Machine Virtuelle Ethereum (EVM).
Ethereum et Solana sont des blockchains distinctives en ce sens que différents clients de validation sont utilisés pour vérifier les transactions. Si un client particulier rencontre des difficultés, plusieurs clients de validation peuvent aider à prévenir les perturbations du réseau. Les clients de la couche d'exécution (EL) et les clients de la couche de consensus (CL) sont les deux catégories de clients de validation.
Les clients d'exécution sont responsables des éléments suivants:
Source: AMINA Banque
D'autre part, les clients de consensus implémentent l'algorithme de consensus PoS et parviennent à un consensus sur le réseau en utilisant des données vérifiées provenant des clients d'exécution.
Les nœuds validés Ethereum fonctionnent généralement avec à la fois des clients d'exécution et de consensus, car ces deux catégories de clients remplissent des fonctions distinctes. En revanche, Solana intègre ces deux capacités dans un seul client. Solana Labs a été la première organisation à développer le premier client de validation sur Solana.
Source: AMINA Bank
Depuis ce temps, il y a eu de nombreuses initiatives indépendantes visant à créer des clients de validation complets ou légers supplémentaires sur le réseau Solana:
En août 2022, Jito Labs a publié un deuxième client validateur sur le mainnet. Jito est responsable de maintenir, de modifier et de déployer cette fourche du code de Solana Labs, qu'il développe de manière indépendante. Néanmoins, ce client présente une faille dans le client de Solana Labs, car il s'agit d'une fourche du client existant.
En août 2022, Jump Crypto a divulgué son intention de développer un nouveau client validateur sur Solana. Ce client validateur a été entièrement créé en C++ et a démontré des améliorations de performance substantielles. Firedancer a traité jusqu'à un million de transactions par seconde dans des environnements de test. En comparaison, le client original de Solana Labs traite environ 55 000 transactions par seconde dans des environnements de test similaires.
En juillet 2023, Syndica a divulgué la création de Sig, un client validateur pour le réseau Solana écrit dans le langage de programmation Zig. L'équipe de validation chez Syndica a initialement mis en œuvre le protocole de bavardage pour Sig en septembre 2023.
TinyDancer, un client léger pour Solana, est actuellement en développement actif en plus de ces quatre clients de validation. TinyDancer et d'autres clients légers ne construisent pas de blocs ou ne participent pas au consensus ; ils facilitent plutôt la vérification de l'état d'une blockchain sans nécessiter l'exploitation d'un nœud complet.
Les blockchains ayant un plus grand nombre de validateurs sont généralement plus résistantes. Un utilisateur doit avoir l'assurance que sa transmission sera enregistrée lorsqu'il exécute un contrat sur une blockchain. Idéalement, chaque ajout à une blockchain est enregistré sur chaque validateur de cette chaîne, c'est pourquoi un nombre plus important de validateurs est crucial. Un ensemble diversifié de validateurs protège contre des événements catastrophiques tels qu'une panne de centre de données.
Ethereum catégorise les nœuds en trois catégories en fonction de leur participation au consensus et de l'étendue de leur stockage de données :
Full Node: Les nœuds complets acquièrent et vérifient les données de chaque bloc de la chaîne de blocs, les validant bloc par bloc. Il existe une variété de nœuds complets, certains commençant au bloc initial et validant toutes les entrées de l'ensemble de l'historique de la chaîne de blocs. D'autres initient la validation à partir des blocs de confiance les plus récents, conservant généralement une copie locale des 128 blocs les plus récents et supprimant périodiquement les données plus anciennes pour conserver l'espace disque. Les données plus anciennes peuvent être régénérées au besoin.
Nœud d'archivage : Les nœuds d'archivage vérifient et maintiennent tous les blocs à partir du bloc Genesis, garantissant qu'aucune donnée n'est supprimée. Ils sont indispensables pour interroger des ensembles de tests sans avoir besoin d'exploitations minières fiables et de services tels que des explorateurs de blocs, des fournisseurs de portefeuilles et des analyses de chaînes.
Nœud léger : Contrairement à la blockchain complète, les nœuds légers ne récupèrent que les en-têtes de bloc. Les nœuds complets sont sollicités pour fournir des informations supplémentaires sur les besoins des nœuds légers. Lorsque les données sont reçues, les nœuds légers peuvent les vérifier de manière indépendante par rapport à la racine d'état des en-têtes de bloc. Ils n'ont pas besoin d'une bande passante élevée ou de matériel sophistiqué, ce qui leur permet de participer au réseau Ethereum à partir de téléphones mobiles ou d'appareils intégrés. Les nœuds légers ne peuvent pas devenir des mineurs ou des validateurs, car ils ne participent pas au consensus. Cependant, ils peuvent accéder à la blockchain Ethereum et offrir la même sécurité et les mêmes fonctionnalités que les nœuds complets.
Les nœuds dans Solana sont classés en deux catégories selon leur participation au consensus :
Dès le départ, Solana différencie les nœuds RPC et les nœuds de consensus. Cependant, les nœuds RPC de Solana ne réalisent pas de sondages. Les nœuds RPC d'Ethereum sont généralement construits à partir de nœuds complets ou d'archives. Le nombre absolu de nœuds de Solana est relativement élevé par rapport à d'autres blockchains de preuve d'enjeu. La Fondation a l'intention de modifier ses programmes prochainement pour promouvoir la qualité des nœuds plutôt que la quantité de nœuds.
Le nombre total de nœuds de consensus est passé d'environ 2200 à 1700 en mars 2023. Cette diminution est due à une quantité importante de mise en jeu redistribuée à partir de nœuds facturant une commission de 100 %. L'intéressé a reconnu le problème et a réaffecté sa délégation à des validateurs plus actifs. À la suite de cette baisse, le nombre de nœuds de consensus a progressivement et régulièrement augmenté, pour atteindre un total de 1 961 nœuds de consensus et 2 874 nœuds de validation au 13 septembre.
En conclusion, ce qui suit est une comparaison entre les nœuds SVM et les nœuds EVM :
Modèle de gestion des transactions : Le SVM utilise un modèle de traitement parallèle, ce qui permet l'exécution de plusieurs transactions simultanément, améliorant ainsi le débit et réduisant la latence. En revanche, l'EVM traite les transactions séquentiellement, ce qui peut entraîner une congestion du réseau lors de périodes d'utilisation intense.
Langage de programmation : Le SVM prend en charge Rust, un langage réputé pour son efficacité. Ce langage est particulièrement adapté aux applications nécessitant des performances élevées et une sécurité. En revanche, l'EVM utilise Solidity, un langage de programmation conçu pour développer des contrats intelligents.
Mise en œuvre des contrats intelligents : Chaque validateur exécute indépendamment les contrats intelligents sur le SVM, ce qui facilite les opérations réseau plus efficaces. En revanche, l'EVM nécessite que tous les nœuds parviennent à un consensus sur les résultats des exécutions de contrats intelligents, ce qui peut retarder les temps de traitement.
Le SVM est un environnement d'exécution sur la blockchain Solana qui privilégie la mise en œuvre efficace de contrats intelligents et du traitement des transactions. Il améliore la scalabilité et le débit des transactions en utilisant le langage de programmation Rust et le traitement parallèle des transactions. Le SVM fait face à des obstacles, notamment les inconvénients inhérents au modèle d'exécution parallèle et la courbe d'apprentissage abrupte du langage Rust. Néanmoins, l'utilisation future et l'adoption du SVM devraient augmenter en raison de son intégration avec les technologies émergentes en matière d'IA.