En tant que prochaine génération de blockchain hautement évolutive, Solana a attiré beaucoup d'attention. Cela est principalement dû à ses excellentes performances, qui peuvent gérer des milliers de transactions par seconde avec des coûts de gaz presque négligeables. L'un des éléments clés de la technologie avancée de Solana est son environnement d'exécution SVM, qui comprend le moteur de parallélisation Sealevel.

Cet article présente la machine virtuelle Solana (SVM) et comment cette infrastructure innovante permet à la blockchain Solana d'offrir des performances supérieures à celles des blockchains EVM traditionnelles telles que Ethereum. Bien qu'EVM soit depuis longtemps le standard dominant des machines virtuelles dans le monde du chiffrement, nous explorerons également comment SVM est progressivement étendu grâce à des solutions de cumul telles que Nitro et Eclipse.

Machine virtuelle Solana (SVM) et Sealevel

La machine virtuelle Solana, ou SVM en abrégé, est l'environnement d'exécution pour le traitement des transactions et des contrats/programmes intelligents sur le réseau Solana. Pour mieux comprendre SVM, nous devons d’abord comprendre comment fonctionnent les machines virtuelles dans un réseau chiffré.

Dans le contexte de la blockchain, une machine virtuelle (VM) est un logiciel qui exécute des programmes, plus communément appelés environnement d'exécution, pour exécuter des contrats intelligents d'un réseau de crypto-monnaie. Lorsqu'une transaction est soumise, la machine virtuelle du réseau est chargée de la traiter et de gérer l'état de la blockchain (l'état actuel de l'ensemble du réseau) affecté par l'exécution de cette transaction. Les règles spécifiques de modification de l'état du réseau sont définies par la machine virtuelle.

Lors du traitement d'une transaction, la VM convertit le code du contrat intelligent dans un format que le matériel du validateur peut exécuter. Sur Solana, les principaux langages d'écriture de contrats intelligents sont Rust, C et C++, qui sont compilés en bytecode BPF via la machine virtuelle Solana (SVM), afin que les transactions puissent être exécutées efficacement par les nœuds du réseau (validateurs).

Les nœuds du réseau Solana, appelés validateurs, exécutent chacun leur propre environnement d'isolation de machine virtuelle Solana (SVM) pour maintenir le consensus dans la blockchain. Lorsqu'un contrat intelligent est déployé (modifie l'état du réseau), il communique les changements d'état requis au runtime. Le runtime Solana transmet ensuite ces changements d'état aux instances SVM exécutées dans chaque système de validation, et tous les nœuds de validation en reçoivent une copie et la traduisent, mettant ainsi à jour la blockchain. Cette répartition des instances SVM entre les validateurs aboutit à un réseau décentralisé, réduisant ainsi le risque d'attaques DDoS ou d'arrêts. De plus, cette isolation garantit que les bugs ou vulnérabilités potentiels des contrats intelligents ne compromettent pas la sécurité ou la stabilité de l'ensemble du réseau Solana.

En résumé, ces instances SVM peuvent être considérées comme des « micro-ordinateurs » qui effectuent les opérations nécessaires pour mettre à jour l'état du réseau Solana en fonction des instructions fournies par les transactions. Alors que de nombreuses blockchains s'appuient aujourd'hui sur la machine virtuelle Ethereum (EVM), Solana a développé sa propre machine virtuelle avec des fonctionnalités uniques qui offrent des performances améliorées.

Le composant clé de SVM est Sealevel. Le moteur permet à plusieurs contrats intelligents de s'exécuter simultanément sans affecter les performances de chacun, permettant une mise à l'échelle « horizontale » au sein de l'environnement d'exécution Solana, un concept appelé traitement parallèle. Cela est possible car les contrats intelligents Solana décrivent quelles données (état) seront lues ou écrites lors de leur exécution au moment de l'exécution. Cela permet aux transactions sans conflits de s'exécuter simultanément, ainsi qu'à celles qui lisent uniquement les mêmes informations. Sealevel permet donc à SVM de traiter des dizaines de milliers de transactions simultanément, plutôt que de les traiter les unes après les autres comme la machine virtuelle Ethereum (EVM).

SVM et EVM (machine virtuelle Ethereum)

Bien qu'EVM et SVM remplissent des fonctions similaires, Solana VM est plus efficace et plus rapide. Sur EVM, lorsqu'un contrat intelligent transfère un dollar du solde d'un utilisateur, cette transaction est stockée dans le stockage du contrat spécifique. Cette conception crée des problèmes potentiels si la machine virtuelle Ethereum tente de traiter plusieurs transactions en parallèle. Par exemple, deux contrats intelligents différents peuvent tenter de dépenser le solde d'un utilisateur en même temps, ou un autre contrat peut lire le solde du même utilisateur lors d'une mise à jour, provoquant des incohérences et des conflits.

En revanche, le modèle de compte Solana sépare les données telles que les soldes des utilisateurs pour une meilleure organisation et efficacité. Les transactions sur Solana doivent également spécifier explicitement les données qu'elles liront et modifieront avant de s'exécuter dans la SVM. Comme mentionné précédemment, cela permet aux programmes qui n’interagissent pas avec les mêmes données de s’exécuter simultanément, ce qui contribue à atténuer la congestion et à réduire les frais élevés. Par exemple, Solana VM peut gérer à la fois Toly qui envoie 1 $ à Raj et Armani qui envoie 3 $ à Chase.

Une des raisons pour lesquelles l'EVM a des difficultés à traiter plusieurs transactions simultanément est qu'il s'agit d'un environnement d'exécution « à thread unique » qui ne peut gérer qu'un seul contrat à la fois. Par conséquent, la conception EVM ne tire pas parti du matériel multicœur, ce qui signifie qu’un seul cœur du matériel du validateur traite activement les transactions, tandis que les autres cœurs restent sous-utilisés. Cela entraîne souvent une congestion du réseau et des frais de transaction plus élevés. Cependant, il est important de noter qu'en plus de ne pas disposer d'un environnement d'exécution multithread, d'autres facteurs peuvent entraîner des limitations EVM, comme le désir de maintenir une faible configuration matérielle sur les nœuds en cours d'exécution.

Sealevel, quant à lui, optimise les performances du runtime Solana en utilisant efficacement les ressources matérielles disponibles. SVM est un environnement d'exécution multithread conçu pour traiter plusieurs transactions en parallèle en utilisant tous les cœurs disponibles de la machine de validation. Cela permet à Solana d'évoluer plus efficacement à mesure que le matériel du validateur continue de s'améliorer. Grâce à son architecture, Solana VM peut également mieux gérer les frais de transactions. Cela a conduit au développement de marchés de frais localisés, permettant d’attribuer les frais sur la base de contrats intelligents. En revanche, la chaîne EVM s'appuie sur un marché mondial des frais, ce qui signifie que les monnaies NFT peuvent influencer les swaps ou les transactions DeFi, même si ces transactions ne sont pas liées.

Pour résumer, les capacités de traitement parallèle de SVM permettent à Solana d'atteindre des TPS plus élevés, ce qui se traduit par des vitesses de transaction plus rapides, et le coût est presque négligeable par rapport à l'architecture EVM. SVM se positionne comme l’environnement blockchain de nouvelle génération avec une efficacité et des performances supérieures. À mesure que de plus en plus de développeurs s'en rendent compte, nous commençons à voir une plus grande adoption de SVM comme environnement d'exécution pour les contrats intelligents, et un écosystème d'agrégation SVM émergent se forme.

L'écosystème émergent des rollups SVM

L'agrégation est une solution de mise à l'échelle de la blockchain qui traite les transactions en dehors d'une blockchain de couche 1 (par exemple, Solana), puis publie les données rétroactivement sur la couche 1. Les rollups sont conçus pour réduire la congestion du réseau et les frais de transaction en regroupant plusieurs transactions pour former une « preuve » qui est ensuite soumise à la chaîne principale. Le plus grand avantage de la création d’un rollup est la possibilité de personnaliser entièrement la chaîne. Cette personnalisation permet une variété de cas d'utilisation, tels que des carnets de commandes personnalisés, des pools de mémoire cryptographiques pour minimiser la MEV (Miner Extractable Value) ou des applications autorisées conçues pour répondre à des exigences spécifiques.

Les machines virtuelles peuvent également être utilisées pour simplifier le processus de déploiement pour les développeurs sur d'autres chaînes utilisant la même VM. Cet effet de réseau profite grandement à Ethereum et à sa VM, car il s’agit du premier environnement d’exécution pour les contrats intelligents cryptographiques. En tant que tel, l'EVM a été le principal environnement d'exécution pour la création de blockchains agrégées. Parmi les deux types de cumuls, Optimiste et Zk, les cumuls optimistes tels qu'Arbitrum sont les plus courants. Récemment, de nombreuses avancées ont été réalisées dans SVM visant à apporter la technologie de cumul aux développeurs Solana. Les principaux projets construits pour Solana sont Nitro et Eclipse.

Nitro est une solution de cumul optimiste, similaire à Arbitrum ou Optimism, qui exploite la machine virtuelle Solana (SVM) pour permettre aux développeurs Solana de porter leurs dApps vers divers écosystèmes. Nitro prévoit de se lancer d'abord sur Sei, une chaîne de transactions spécifique à un secteur basée sur Cosmos, avant de s'étendre à d'autres chaînes. Il utilise SVM pour exécuter des transactions en parallèle, ce qui signifie que les utilisateurs pourront les exécuter comme sur Solana, tandis que Nitro utilise Sei pour le règlement et le consensus. De plus, à mesure que Sei fait partie de l'écosystème Cosmos, les projets de Nitro et leurs utilisateurs pourront bénéficier de la technologie d'interopérabilité IBC et accéder aux actifs et aux liquidités de Cosmos.

Une autre solution de rollup SVM en développement est Eclipse, conçue pour faciliter le déploiement de rollups personnalisables. Les cumuls optimistes d'Eclipse permettent aux projets de créer leurs propres chaînes d'applications uniques tout en bénéficiant de la sécurité des réseaux établis (par exemple Cosmos Application Chain, Polygon, Ethereum) et en tirant parti de la machine virtuelle Solana (SVM). Le SVM fait office d'environnement d'exécution et Eclipse gère le règlement, le consensus et la disponibilité des données (DA) avec une gestion réseau de couche 1 choisie par le développeur. Actuellement, Eclipse propose une solution de cumul optimiste, mais travaille également sur le lancement de zk-rollups.

Eclipse a publié deux solutions de cumul construites sur SVM :

  • Polygon SVM : avec ce rollup, tout projet construit sur Solana peut être facilement déployé sur le réseau Polygon ;

  • Cascade : Introduit par Injective et Eclipse, Cascade est un rollup SVM optimisé pour l'écosystème IBC. Cela permettra aux projets Solana de se déployer sans effort sur Cascade et d'accéder aux actifs et aux liquidités de Cosmos AppChain. De plus, les projets sur Injective peuvent désormais profiter du SVM parallélisé de Cascade.

Toutes ces solutions simplifient l'utilisation de Solana VM et étendent sa portée. Les utilisateurs d'autres chaînes pourront également « goûter » à l'expérience de parallélisation de Solana sans aucune barrière, ce qui pourrait amener davantage de personnes à reconnaître les avantages de SVM, permettant ainsi à davantage de projets de déplacer leurs dApps vers Solana à partir de son architecture et d'ajouter plus d'utilisateurs. .

SVM est l'environnement blockchain de nouvelle génération pour les développeurs

Bien qu'elle n'ait que trois ans d'existence, Solana a déjà démontré des performances impressionnantes et le développement de solutions d'extension telles que Nitro et Eclipse au-dessus de ses VM, soulignant le succès de son architecture d'exécution innovante. Solana a pu tirer les leçons des défis rencontrés par les réseaux plus anciens comme Bitcoin et Ethereum. Bitcoin n’a pas été conçu pour les contrats intelligents, ce qui a conduit à l’émergence d’Ethereum. De même, Ethereum n’était pas prêt pour une adoption massive et des transactions à grande vitesse, ouvrant la voie à Solana et au traitement parallèle. De plus, il est de plus en plus facile pour les développeurs d'accéder aux environnements SVM, avec Neon Labs introduisant la compatibilité Solidity avec le runtime Solana, ainsi que la prochaine mise à niveau Runtime v2, qui devrait permettre aux développeurs d'utiliser plusieurs langages de programmation (par exemple Move). dApps compatibles.

Il est clair que Solana VM fournit un environnement plus avancé pour créer des applications de nouvelle génération. Le traitement parallèle des transactions permet un débit plus élevé. Semblable à ce qui est possible dans la finance traditionnelle, permettant aux développeurs de créer tout type de produit sans se soucier des limites de vitesse ou des frais. Construire en chaîne avec TPS 15 ne mènera pas à une adoption massive de la cryptographie. Grâce à SVM et Sealevel, Solana peut (déjà) traiter des milliers de transactions sans congestion ni frais de gaz importants, ce qui en fait l'environnement idéal pour créer ces nouvelles applications. À mesure que le matériel du validateur s'améliore, le moteur d'exécution Sealevel de Solana sera capable de traiter davantage de transactions en parallèle, élargissant ainsi l'écart entre SVM et EVM tout en attirant davantage d'utilisateurs.

Squads prendra en charge les extensions de la machine virtuelle Solana (SVM) et introduira des capacités multi-signatures (multisig) à l'ensemble de l'écosystème SVM, permettant à quiconque de gérer la chaîne en utilisant le meilleur environnement d'exécution blockchain et la meilleure expérience d'auto-hébergement sur les actifs.