EVM représente un changement important dans la technologie blockchain.
Écrit par : Xinwei, MT Capital
TL;DR
La nécessité de l'EVM parallèle est qu'il résout le problème d'efficacité du traitement traditionnel des transactions EVM en séquence et améliore considérablement le débit et les performances du réseau en permettant l'exécution simultanée de plusieurs opérations.
Les méthodes de mise en œuvre de l'EVM parallèle incluent le traitement simultané basé sur la planification, les instances EVM multithread et le partitionnement au niveau du système, tout en faisant face à des défis techniques tels que des horodatages peu fiables, le déterminisme de la blockchain et l'orientation des revenus du vérificateur.
Monad Labs, à travers son projet de couche 1 Monad, vise à améliorer considérablement l'évolutivité et la vitesse des transactions de la blockchain grâce à des fonctionnalités techniques uniques, notamment le traitement jusqu'à 10 000 transactions par seconde, un temps de bloc de 1 seconde, des capacités d'exécution parallèle et un mécanisme de consensus MonadBFT.
Sei V2 est une mise à niveau importante du réseau Sei, visant à être le premier EVM entièrement parallélisé, offrant une compatibilité descendante avec les contrats intelligents EVM, une parallélisation optimiste, de nouvelles structures de données SeiDB et une interopérabilité avec les chaînes existantes, visant à améliorer considérablement la vitesse de traitement des transactions et évolutivité du réseau.
*Neon EVM est une plate-forme sur Solana conçue pour fournir un environnement efficace, sécurisé et décentralisé pour les dApps Ethereum, permettant aux développeurs de déployer et d'exécuter facilement des dApps tout en profitant du débit élevé et du faible coût de Solana.
Lumio est une solution de couche 2 développée par Pontem Network. Elle résout de manière innovante les défis d'évolutivité d'Ethereum en prenant en charge de manière unique EVM et Move VM utilisés par Aptos, élevant ainsi l'expérience Web3 à un niveau proche de Web2.
Eclipse est une solution Ethereum Layer 2 qui utilise SVM pour accélérer le traitement des transactions, adopte une architecture de cumul modulaire et intègre le règlement Ethereum, les contrats intelligents SVM, la disponibilité des données Celestia et la preuve de fraude RISC Zero.
Solana utilise sa technologie Sealevel pour réaliser un traitement parallèle des contrats intelligents, Sui améliore le débit via les composants Narwhal et Bullshark, Fuel implémente l'exécution de transactions parallèles via le modèle UTXO et Aptos utilise le moteur Block-STM pour améliorer les capacités de traitement des transactions, tous démontrant la blockchain. implémentations et avantages des techniques parallèles sur le terrain.
Les principaux défis liés à l'adoption du parallélisme comprennent la résolution des problèmes de course aux données et de conflits de lecture-écriture, la garantie de la compatibilité technologique avec les normes existantes, l'adaptation aux nouveaux modèles d'interaction des écosystèmes et la gestion de la complexité croissante des systèmes, notamment en termes de sécurité et d'allocation des ressources.
L'EVM parallèle démontre un grand potentiel dans l'amélioration de l'évolutivité et de l'efficacité de la blockchain, marquant un changement majeur dans la technologie de la blockchain. Il améliore les capacités de traitement des transactions en exécutant des transactions simultanément sur plusieurs processeurs, dépassant ainsi les limites du traitement des transactions séquentielles traditionnel. Même si les EVM parallèles offrent un énorme potentiel, leur mise en œuvre réussie nécessite de surmonter des défis techniques complexes et de garantir une adoption à grande échelle par l’écosystème.
Concepts de base de l'EVM parallèle
Introduction à l'EVM
La machine virtuelle Ethereum (EVM) est le composant central de la blockchain Ethereum et lui sert de moteur de calcul. Il s'agit d'une machine complète quasi-Turing qui fournit un environnement opérationnel pour l'exécution de contrats intelligents sur le réseau Ethereum, ce qui est essentiel pour maintenir la confiance et la cohérence dans l'ensemble de l'écosystème Ethereum.
L'EVM exécute des contrats intelligents en traitant le bytecode, qui est une forme plus basique de compilation de code de contrat intelligent généralement écrit dans un langage de programmation de haut niveau tel que Solidity. Ces bytecodes sont constitués d'une série de codes d'opération (opcodes) utilisés pour exécuter diverses fonctions, notamment des opérations arithmétiques et le stockage/récupération de données. L'EVM fonctionne comme une machine à pile, traitant les opérations selon le principe du dernier entré, premier sorti. Chaque opération dans l'EVM a un coût de gaz associé. Ce système gazier mesure l'effort de calcul requis pour effectuer les opérations, garantissant une allocation équitable des ressources et empêchant les abus du réseau.
Dans Ethereum, les transactions jouent un rôle important dans la fonctionnalité de l'EVM. Il existe deux types de transactions : celles qui provoquent l'appel d'un message et celles qui provoquent la création d'un contrat. La création de contrat entraîne la création d'un nouveau compte de contrat contenant le bytecode du contrat intelligent compilé, et lorsqu'un autre compte appelle un message au contrat, son bytecode est exécuté.
L'architecture de l'EVM comprend des composants tels que le bytecode, la pile, la mémoire et le stockage. Il dispose d'un espace mémoire dédié pour le stockage temporaire des données pendant l'exécution, et d'un espace de stockage persistant sur la blockchain pour conserver les données indéfiniment. La conception de l'EVM garantit un environnement d'exécution sécurisé pour les contrats intelligents, en les isolant pour empêcher les attaques de réentrance et en employant diverses mesures de sécurité telles que les limites de gaz et de profondeur de pile.
De plus, l'influence d'EVM s'étend au-delà d'Ethereum et s'étend à une gamme plus large grâce aux chaînes compatibles EVM. Ces chaînes, bien que différentes, maintiennent la compatibilité avec les applications basées sur Ethereum, leur permettant d'interagir de manière transparente avec les applications basées sur Ethereum. Ces chaînes jouent un rôle clé dans divers domaines tels que les solutions d'entreprise, GameFi et DeFi.
La nécessité d'un EVM parallèle
La nécessité d’un EVM (Ethereum Virtual Machine) parallèle découle de sa capacité à améliorer considérablement les performances et l’efficacité des réseaux blockchain. L'EVM traditionnel traite les transactions de manière séquentielle, ce qui non seulement consomme beaucoup d'énergie, mais impose également une lourde charge de travail aux validateurs de réseau. Cette approche entraîne souvent des coûts de transaction élevés et des inefficacités, et est considérée comme un obstacle majeur à l’adoption généralisée de la blockchain.
Parallel EVM révolutionne le processus de consensus en permettant à plusieurs opérations de s'exécuter simultanément. La capacité d'exécution en parallèle augmente considérablement le débit du réseau, améliorant ainsi les performances et l'évolutivité de l'ensemble de la blockchain. Grâce à l'EVM parallèle, le réseau blockchain peut traiter davantage de transactions dans un délai plus court, résolvant ainsi efficacement les problèmes de congestion courants et les temps de traitement lents des systèmes blockchain traditionnels.
L’EVM parallèle a un impact significatif sur divers aspects de la technologie blockchain :
Il fournit une méthode de traitement des transactions plus économe en énergie. En réduisant la charge de travail des validateurs et de l'ensemble du réseau, Parallel EVM contribue à construire un écosystème blockchain plus durable.
Une évolutivité améliorée et un débit accru entraînent directement une réduction des frais de transaction. Les utilisateurs bénéficieront d’une expérience plus économique, rendant les plateformes blockchain plus attrayantes pour un public plus large.
Le traitement simultané de plusieurs transactions plutôt que séquentiellement signifie que les dApp peuvent fonctionner plus facilement, même pendant les périodes de forte demande du réseau.
Méthode d'implémentation de l'EVM parallèle
Dans l'architecture EVM actuelle, les opérations de lecture et d'écriture les plus sophistiquées sont sload et sstore, qui sont utilisées respectivement pour lire et écrire des données à partir du trie d'état. Par conséquent, s’assurer que différents threads n’entrent pas en conflit sur ces deux opérations est un point d’entrée facile pour implémenter un EVM parallèle/simultané. En fait, il existe un type de transaction spécial dans Ethereum qui inclut une structure spéciale appelée « liste d'accès » qui permet aux transactions contenant des adresses de stockage d'être lues et modifiées. Par conséquent, cela constitue un bon point de départ pour mettre en œuvre une approche de concurrence basée sur la planification.
En termes de mise en œuvre du système, il existe trois formes courantes d'EVM parallèle/simultanée :
Multi-threading d'une instance EVM.
Multithreading de plusieurs instances EVM sur un nœud.
Multi-threading de plusieurs instances EVM sur plusieurs nœuds (essentiellement partitionnement au niveau du système).
La différence entre le parallélisme/la concurrence dans les systèmes de blockchain et de bases de données est la suivante :
Les horodatages peu fiables rendent les méthodes de concurrence basées sur l'horodatage difficiles à déployer dans le monde de la blockchain.
*Certitude absolue sur le système blockchain pour garantir que les transactions réexécutées entre les différents validateurs sont les mêmes.
L'objectif ultime des validateurs est d'obtenir des rendements plus élevés, et non une exécution plus rapide des transactions.
Alors de quoi avons-nous besoin ?
Un consensus au niveau du système est nécessaire et une exécution plus rapide entraînera des rendements plus élevés.
Un algorithme de planification multivariable qui prend en compte les contraintes de bloc génère plus de revenus tout en permettant une exécution plus rapide.
Opérations de données plus fines, y compris le verrouillage des données au niveau de l'opcode, la couche de cache mémoire, etc.
Principaux projets et leurs technologies
Laboratoires Monades
Monad est un EVM Layer 1 conçu pour améliorer considérablement l'évolutivité et la vitesse de transaction de la blockchain grâce à ses fonctionnalités techniques uniques. Le principal avantage de Monad est qu'il peut gérer jusqu'à 10 000 transactions par seconde et qu'il a un temps de blocage de 1 seconde. Cela est dû à son mécanisme de consensus MonadBFT et à sa compatibilité EVM, qui lui permettent de traiter les transactions de manière efficace et rapide.
L'une des caractéristiques les plus intéressantes de Monad réside dans ses capacités d'exécution parallèle, qui lui permettent de traiter plusieurs transactions simultanément, ce qui améliore considérablement l'efficacité et le débit du réseau par rapport aux méthodes de traitement séquentiel des systèmes blockchain traditionnels.
Le développement de Monad est dirigé par Monad Labs, cofondé par Keone Hon, Eunice Giarta et James Hunsaker. Le projet a réussi à lever 19 millions de dollars en financement de démarrage et prévoit de lancer un testnet au milieu du premier trimestre 2024, suivi d'un lancement de réseau principal.
Monad est optimisé dans quatre domaines principaux pour en faire une blockchain performante :
MonadBFT : MonadBFT est un mécanisme de consensus haute performance pour la blockchain Monad, utilisé pour assurer la cohérence dans l'ordre des transactions dans des conditions de synchronisation partielle en présence d'acteurs byzantins. Il s'agit d'une version améliorée basée sur HotStuff, utilisant un algorithme BFT en deux étapes, avec une réactivité optimiste, une surcharge de communication linéaire dans les situations courantes et une surcharge de communication quadratique dans les situations d'expiration. Dans MonadBFT, le leader envoie un nouveau bloc et le QC (Quorum Certificate) ou TC (Timeout Certificate) du tour précédent au validateur à chaque tour. Le validateur examine le blocage et, s'il est d'accord, envoie un vote « oui » signé au prochain tour des dirigeants. Ce processus utilise des signatures de seuil pour regrouper les votes « oui » des vérificateurs 2f+1 pour former QC. Dans le cas courant de la communication, le leader envoie des blocs aux validateurs, qui envoient directement les votes au leader pour le tour suivant. MonadBFT utilise également des signatures BLS basées sur le couplage pour résoudre les problèmes d'évolutivité, qui peuvent progressivement regrouper les signatures en une seule signature, et la vérification d'une seule signature globale valide peut prouver que les partages associés à la clé publique ont signé le message. Pour des raisons de performances, MonadBFT adopte un schéma de signature hybride, dans lequel les signatures BLS ne sont utilisées que pour les types de messages agrégeables (vote et délai d'attente). L'intégrité et l'authenticité des messages sont toujours assurées par les signatures ECDSA. Grâce à ces caractéristiques, MonadBFT est en mesure de parvenir à un consensus blockchain efficace et robuste.
Exécution différée : il s’agit d’une innovation clé qui dissocie le processus d’exécution du processus de consensus. Dans cette architecture, le processus de consensus implique que les nœuds conviennent d'un ordre officiel des transactions, tandis que l'exécution est le processus d'exécution effective de ces transactions et de mise à jour de l'état. Dans cette conception, le nœud leader propose l'ordre des transactions, mais ne connaît pas la racine de l'état final lorsqu'il propose l'ordre ; le nœud validateur ne sait pas si toutes les transactions du bloc s'exécuteront avec succès lors du vote sur la validité du bloc.
Cette conception permet à Monad d'obtenir des améliorations de vitesse significatives, permettant ainsi aux blockchains à fragment unique de s'adapter à des millions d'utilisateurs. Dans Monad, chaque nœud exécute indépendamment les transactions du bloc N tout en atteignant un consensus sur le bloc N, et commence à atteindre un consensus sur le bloc N+1. Cette approche permet un budget gazier plus important puisque l’exécution doit simplement suivre le consensus. De plus, cette approche est plus tolérante aux variations spécifiques du temps de calcul puisque l’exécution doit uniquement suivre le consensus en moyenne.
Pour garantir davantage la réplication de la machine à états, la Monade inclut une racine Merkle retardée par les blocs D dans la proposition de bloc. Cette racine Merkle retardée garantit le maintien de la cohérence à l'échelle du réseau même si un nœud adopte un comportement erroné ou malveillant.
Dans MonadBFT, la finalité est un seul emplacement (1 seconde) et les résultats d'exécution sont généralement en retard de moins de 1 seconde sur les nœuds complets. Cette finalité à emplacement unique signifie qu'après la soumission d'une transaction, les utilisateurs verront l'ordre officiel des transactions un seul bloc plus tard. À moins qu’une grande majorité du réseau n’agisse de manière malveillante, il n’y a aucune possibilité de réorganisation. Pour les utilisateurs qui ont besoin de comprendre rapidement les résultats du trading (par exemple, les traders à haute fréquence), un nœud complet peut être exécuté pour minimiser la latence.
Exécution parallèle : il permet à Monad d'exécuter plusieurs transactions simultanément. Cette approche peut sembler différente de la sémantique d’exécution d’Ethereum à première vue, mais ce n’est pas le cas. Les blocs Monad sont les mêmes que les blocs Ethereum, qui sont des collections de transactions ordonnées linéairement. Les résultats de l’exécution de ces transactions sont les mêmes entre Monad et Ethereum.
Lors de l'exécution parallèle, Monad utilise une approche d'exécution optimiste, qui commence à exécuter les transactions suivantes avant que les transactions précédentes du bloc ne soient terminées. Cela peut parfois conduire à des résultats d'exécution incorrects. Les monades résolvent ce problème en suivant les entrées utilisées lors de l'exécution d'une transaction et en les comparant aux sorties des transactions précédentes. En cas de divergence, la transaction doit être réexécutée avec les données correctes.
De plus, Monad utilise un analyseur de code statique pour prédire les dépendances entre transactions lors de l'exécution de transactions afin d'éviter une exécution parallèle inefficace. Dans le meilleur des cas, une Monade peut prédire de nombreuses dépendances à l'avance ; dans le pire des cas, elle revient à un mode d'exécution simple.
La technologie d'exécution parallèle de Monad améliore non seulement l'efficacité et le débit du réseau, mais réduit également les échecs de transactions dus à l'exécution parallèle en optimisant les stratégies d'exécution.
MonadDb : MonadDb est optimisé pour le stockage et le traitement des données. Cela fait partie de la stratégie d'optimisation de Monad visant à améliorer les performances globales du réseau, notamment en ce qui concerne le traitement des données d'état et des données de transaction. Ces composants sont conçus pour améliorer l'efficacité et l'évolutivité du stockage de données et améliorer la capacité du réseau blockchain à gérer de grandes quantités de données. Il comprend des mécanismes d'indexation des données améliorés, des structures de stockage plus efficaces et des chemins d'accès aux données optimisés. Ces optimisations contribuent à réduire le temps d'accès aux données et à augmenter la vitesse de traitement des transactions, améliorant ainsi les performances de l'ensemble du réseau blockchain.
Projet écologique
Échanger
TayaSwap est un AMM DEX basé sur Monad et alimenté par SubLabs qui permet d'échanger des actifs sans carnets d'ordres ni intermédiaires traditionnels. AMM s'appuie sur des formules mathématiques et des contrats intelligents pour faciliter les échanges de jetons, déterminer les prix et utiliser des contrats intelligents pour permettre des transactions peer-to-peer.
Finance ambiante
Ambient (anciennement CrocSwap) est un protocole de trading décentralisé qui permet à un AMM bilatéral de combiner une liquidité de produit centralisée et constante sur n'importe quelle paire d'actifs blockchain. Ambient exécute l'intégralité du DEX dans un seul contrat intelligent, où un seul pool AMM est une structure de données légère plutôt qu'un contrat intelligent distinct.
Protocole de crevettes
Shrimp est un (3,3) DEX avec une économie de jetons à volant d'inertie, une prise en charge des actifs du monde réel et arrive sur Monad.
Catalyseur
Catalyst est une solution de liquidité sans autorisation entre blockchains modulaires, spécialement conçue pour connecter toutes les chaînes et permettre l'accès à n'importe quel actif, n'importe où. Catalyst permet aux développeurs de se connecter automatiquement à toutes les chaînes et d'accéder aux utilisateurs dans un écosystème unifié, tandis que sa conception simple, décentralisée et auto-hébergée garantit que les projets peuvent accéder aux liquidités de manière sécurisée et transparente.
Échanger
Swaap est un teneur de marché automatisé (AMM) neutre sur le marché. Il combine des oracles et des spreads dynamiques pour fournir des revenus durables aux fournisseurs de liquidité et des prix moins chers aux traders. Le protocole réduit considérablement les pertes éphémères et fournit des pools multi-actifs.
Élixir
Elixir est un protocole de tenue de marché décentralisé qui utilise des algorithmes de tenue de marché pour interagir avec les échanges centralisés via des appels API afin d'apporter de la liquidité aux actifs cryptographiques à longue traîne.
Échange de temps
Timeswap est un protocole de marché monétaire décentralisé basé sur AMM qui n'utilise ni oracles ni liquidateurs. Contrairement à Uniswap, où les actifs peuvent être négociés en temps réel, emprunter sur Timeswap implique d'échanger des jetons jusqu'à ce que le remboursement soit terminé. Le prêteur fournit l'actif A pour emprunter de l'argent tout en « protégeant » une certaine quantité d'actif B que l'emprunteur utilise comme garantie. Les utilisateurs peuvent ajuster leur profil de risque pour obtenir un taux d’intérêt plus élevé avec un ratio hypothécaire inférieur, ou vice versa.
Poply
Poply est un marché NFT communautaire dédié à la chaîne Monad, affichant et renforçant les collections NFT créées spécifiquement pour cette chaîne, et attirant les personnes intéressées par des NFT uniques en utilisant l'IA pour générer de l'art et une interface conviviale. jetons.
Tableau électrique
Switchboard est un protocole Oracle multi-chaînes sans autorisation et personnalisable pour les flux de données universels et le caractère aléatoire vérifiable. En permettant à quiconque de transmettre n'importe quelle forme de données, quel que soit le type de données, il offre un guichet unique aux utilisateurs et contribue à piloter la prochaine génération d'applications décentralisées.
Réseau Python
Pyth Network est une solution d'oracle de prix de nouvelle génération développée par Douro Labs, visant à fournir des données précieuses sur les marchés financiers sur la chaîne, notamment les crypto-monnaies, les actions, les devises et les matières premières, aux projets et protocoles et au public via la technologie blockchain. Le réseau regroupe les données de prix de première partie provenant de plus de 70 fournisseurs de données de confiance et les publie pour être utilisées par des contrats intelligents et d'autres applications en chaîne ou hors chaîne.
AIT Protocol
Le protocole AIT est une infrastructure de données d'intelligence artificielle qui fournit des solutions d'intelligence artificielle Web3. Le marché décentralisé de l'AIT offre à des millions d'utilisateurs de cryptomonnaies une opportunité unique et étendue de participer à des tâches de « s'entraîner pour gagner de l'argent », un concept qui leur permet simultanément de gagner des récompenses tout en contribuant activement au développement et au développement de modèles d'intelligence artificielle. .
Avis
Notifi fournit une couche de communication commune à tous les projets Web3, avec des plans pour intégrer des capacités de notification et de messagerie dans des applications décentralisées pour interagir avec les utilisateurs sur les canaux numériques et en chaîne. L'API Notifi permet aux développeurs de débloquer une infrastructure de communication complexe grâce à des API simples qui peuvent fournir des expériences utilisateur natives pour toutes les applications dans le monde ; Notifi Center offre aux utilisateurs une expérience de notification d'informations personnalisées, qui seront disponibles sur mobile et sur le Web. Permettant aux utilisateurs de visualiser et gérer toutes les informations dans le monde Web3 ; Notifi Push permet aux spécialistes du marketing de créer des engagements multicanaux cohérents qui stimulent la croissance de l'entreprise et fidélisent leur base d'utilisateurs.
ACryptoS
ACryptoS est une plate-forme de stratégie de chiffrement avancée, un optimiseur d'agrégation de revenus multi-chaînes et DEX, fournissant des coffres-forts composés automatiques à jeton unique, des coffres-forts LP à deux jetons, des coffres-forts de liquidité uniques, une branche Balancer-V2 DEX et des échanges stables. Une large gamme de produits uniques . Initialement lancé sur la chaîne BNB en novembre 2020, ACryptoS s'est étendu à 11 chaînes avec plus de 100 coffres-forts déployés, dans le but de prendre en charge les utilisateurs et les protocoles DeFi.
MagmaDAO
MagmaDAO est un protocole de jalonnement de liquidité contrôlé par DAO qui vise à assurer une distribution équitable des jetons via des parachutages compétitifs dans l'écosystème. Il s'agit du premier validateur distribué en dehors d'Ethereum et est construit sur la monade Strong EVM L1 la plus rapide, la moins chère et la plus résistante à la censure.
Échange de wombats
Wombat Exchange est un échange de pièces stables multi-chaînes avec des pools de liquidité ouverts, un faible glissement et un jalonnement unilatéral.
Trou de ver
Wormhole est un protocole de messagerie universel décentralisé qui permet aux développeurs et aux utilisateurs d'applications inter-chaînes de profiter de plusieurs écosystèmes.
DeMask Finance
DeMask Finance est un protocole AMM en chaîne pour les transactions entre les NFT et les jetons ERC20. DeMask Finance prend en charge la création de collections NFT et de rampes de lancement NFT : associées à l'ETH et à d'autres jetons. Échange décentralisé NFT : prend en charge le couplage de jetons ERC-1155 NFT ou d'autres jetons avec des jetons ETH et ERC-20. Le protocole DeMask vise à ajouter de la liquidité au marché NFT et fournit une interface pour permettre un échange transparent entre les jetons ERC20 ou les jetons natifs et les collections NFT. DeMask est un système de contrat intelligent interconnecté qui permet à tous les utilisateurs de créer et de posséder des pools de liquidités et d'échanger de manière entièrement automatisée. Chaque pool détiendra une paire d'actifs, dont un jeton et un NFT, offrant un prix fixe pour des échanges instantanés. Cela permet également à d’autres contrats d’estimer le prix moyen des deux actifs au fil du temps. Les utilisateurs disposant de pools de liquidités seront récompensés lors de l’échange de paires d’actifs.
Six V2
Sei V2 est une mise à niveau importante du réseau Sei, qui vise à être le premier EVM entièrement parallélisé. Cette mise à niveau permettra à Sei de :
Compatibilité descendante avec les contrats intelligents EVM : cela signifie que les développeurs peuvent déployer des contrats intelligents audités et compatibles EVM sur Sei sans modifier le code. Ceci est extrêmement important pour les développeurs car cela simplifie le processus de transfert de leurs contrats intelligents existants d'autres blockchains telles qu'Ethereum vers Sei.
D'un point de vue technique, les nœuds Sei importeront automatiquement Geth – l'implémentation Go de la machine virtuelle Ethereum. Geth sera utilisé pour traiter les transactions Ethereum, et toutes les mises à jour résultantes (y compris les mises à jour d'état ou les appels à des contrats non liés à l'EVM) seront effectuées via l'interface spéciale créée par Sei pour l'EVM.
Parallélisation optimiste : elle permet à la blockchain de prendre en charge la parallélisation sans obliger les développeurs à définir des dépendances. Cela signifie que toutes les transactions peuvent s'exécuter en parallèle et qu'en cas de conflit (par exemple, une transaction touche le même état), la chaîne gardera une trace de la partie du stockage touchée par chaque transaction et réexécutera ces transactions dans l'ordre. Ce processus se poursuivra de manière récursive jusqu'à ce que tous les conflits inexpliqués soient résolus. Étant donné que les transactions sont classées par blocs, le processus est déterministe, simplifiant le flux de travail des développeurs tout en conservant le parallélisme au niveau de la chaîne.
SeiDB : Il introduira une nouvelle structure de données appelée SeiDB pour optimiser la couche de stockage de la plateforme. L'objectif principal de SeiDB est d'éviter le gonflement de l'état, le problème dans lequel un réseau devient trop lourd en données, tout en simplifiant le processus de synchronisation d'état pour les nouveaux nœuds. Cette conception vise à améliorer les performances globales et l’évolutivité de la blockchain Sei.
Sei V2 atteint cet objectif en transformant l'arborescence IAVL traditionnelle en un système à deux composants : le stockage d'état et les engagements d'état. Ce changement réduit considérablement la latence et l'utilisation du disque, et Sei V2 prévoit également de passer à l'utilisation de PebbleDB pour améliorer les performances de lecture et d'écriture pour l'accès multithread.
Interopérabilité avec les chaînes existantes : Sei V2 permet une combinaison transparente entre EVM et tout autre environnement d'exécution pris en charge par Sei, offrant une expérience plus fluide aux développeurs qui peuvent facilement accéder aux jetons natifs et à d'autres fonctionnalités de la chaîne, telles que l'engagement. Il créera également un nouveau composant pour prendre en charge les contrats intelligents EVM. Ces contrats intelligents EVM bénéficieront de toutes les modifications apportées au consensus et à la parallélisation, et pourront également interagir avec les contrats intelligents Cosmwasm existants.
Du point de vue des performances, Sei V2 offrira un débit de 28 300 transactions par lots par seconde, tout en offrant un temps de bloc de 390 millisecondes et une finalité de 390 millisecondes. Cela permet à Sei de prendre en charge davantage d'utilisateurs et d'offrir une meilleure expérience interactive que les blockchains existantes, tout en offrant des coûts par transaction moins élevés.
La principale progression de la mise à niveau de Sei V2 est maintenant presque terminée. Une fois l'examen terminé, cette mise à niveau sera publiée sur le réseau de test public au premier trimestre 2024 et sera déployée sur le réseau principal au premier semestre 2024.
Néon
Neon EVM exploite les capacités de la blockchain Solana pour fournir un environnement efficace pour les dApps Ethereum. Il fonctionne comme un contrat intelligent au sein de Solana, permettant aux développeurs de déployer des dApps Ethereum avec des modifications de code minimes ou nulles et de bénéficier des fonctionnalités avancées de Solana. L'architecture et les opérations de Neon EVM se concentrent sur la sécurité, la décentralisation et la durabilité, offrant aux développeurs Ethereum la possibilité de passer en toute transparence à l'environnement Solana. Il tire parti des faibles frais et des vitesses de transaction élevées de Solana grâce à sa capacité à permettre aux transactions de s'exécuter en parallèle, à fournir un débit élevé et à réduire les coûts. Les principaux composants de l'écosystème Neon EVM comprennent :
Programme Néon EVM :
Il s'agit d'un EVM compilé dans le bytecode Berkeley Packet Filter et fonctionne sur Solana. Il traite les transactions de type Ethereum (transactions Neon) sur Solana et suit les règles d'Ethereum. Neon EVM est configuré via un compte EVM multi-signature décentralisé, et les participants peuvent modifier le code Neon EVM et les paramètres de configuration.
Le processus par lequel Neon EVM traite les transactions implique plusieurs étapes clés. Tout d’abord, les utilisateurs lancent une transaction de type Ethereum (N-tx) via un portefeuille compatible Ethereum. Ces transactions sont encapsulées dans les transactions Solana (S-tx) via Neon Proxy, puis transmises au programme Neon EVM hébergé sur Solana. Le programme Neon EVM débloque les transactions, vérifie les signatures des utilisateurs, charge le statut EVM (y compris les données de compte et le code de contrat intelligent), exécute les transactions dans l'environnement Solana BPF (Berkeley Packet Filter) et met à jour le statut de Solana pour refléter le nouveau statut Neon EVM.
Neon Proxy : Il permet aux dApps Ethereum d'être portées sur Neon avec une reconfiguration minimale. Neon Proxy regroupe les transactions EVM dans des transactions Solana et les fournit sous forme de solution conteneurisée pour une utilisation facile. Les opérateurs exécutant des serveurs Neon Proxy facilitent l'exécution de transactions de type Ethereum sur Solana, en acceptant les jetons NEON pour les frais de gaz et d'autres paiements au sein de l'écosystème Solana.
Neon DAO : Le DAO fournit des services de garde pour la Fondation Neon et guide la recherche et le développement futurs. Il fonctionne comme une série de contrats sur Solana, fournissant une couche de gouvernance qui contrôle la fonctionnalité Neon EVM. Les détenteurs de jetons NEON peuvent participer aux activités DAO, notamment proposer et voter sur des propositions.
Jeton NEON : ce jeton utilitaire a deux fonctions principales : payer les frais de gaz et participer à la gouvernance via le DAO.
Intégrations et outils : Neon EVM prend en charge une variété d'intégrations et d'outils de développement et d'analyse. Ceux-ci incluent des explorateurs de blocs comme NeonScan, des wrappers ERC-20 SPL pour les transferts de jetons, NeonPass pour le transfert de jetons ERC-20 entre Solana et Neon EVM, NeonFaucet pour tester les jetons et la compatibilité avec les EVM comme la compatibilité MetaMask Wallet.
Éclipse
Eclipse est une solution de couche 2 pour Ethereum qui accélère considérablement le traitement des transactions en tirant parti de la machine virtuelle Solana (SVM). Eclipse est conçu pour la vitesse et l'évolutivité, en utilisant une architecture de cumul modulaire et en intégrant des technologies clés telles que le règlement Ethereum, les contrats intelligents SVM, la disponibilité des données Celestia et la sécurité RISC Zero.
Plus précisément, Eclipse Mainnet combine le meilleur des éléments de pile modulaire :
Couche de règlement – Ethereum : Eclipse utilise Ethereum comme couche de règlement. A cette couche, les transactions sont finalisées et sécurisées. Utiliser Ethereum signifie non seulement profiter de sa sécurité et de sa liquidité robustes, mais également utiliser l’ETH comme jeton de gaz pour payer les frais de transaction. Cette configuration permet à Eclipse d'hériter de solides fonctionnalités de sécurité d'Ethereum.
Couche d'exécution-SVM : en termes d'exécution de contrats intelligents, Eclipse utilise SVM. Cela contraste fortement avec la façon dont EVM exécute les transactions de manière séquentielle, SVM étant capable de traiter des transactions en parallèle. Son environnement d'exécution Sealevel propose des transactions qui n'impliquent pas de chevauchement d'états et peuvent être traitées en parallèle, permettant à Eclipse d'évoluer horizontalement et d'améliorer le débit.
Disponibilité des données - Celestia : pour garantir que les données sont disponibles et vérifiables en temps opportun, Eclipse utilise Celestia. Celestia fournit une plate-forme évolutive et sécurisée pour la publication de données et constitue un support important pour le débit élevé d'Eclipse.
Anti-fraude - RISC Zero : Eclipse intègre RISC Zero pour effectuer une preuve de fraude sans connaissance, évitant ainsi le besoin d'une sérialisation d'état intermédiaire, améliorant ainsi l'efficacité et la sécurité du système.
L’objectif de conception d’Eclipse est de fournir une solution universelle de couche 2 pour Ethereum pouvant être utilisée à très grande échelle. Il est conçu pour répondre aux limites des cumuls spécifiques aux applications et aux problèmes d'isolement et de complexité qui en résultent et qui peuvent conduire à une expérience utilisateur et développeur dégradée. Eclipse offre une option attrayante pour créer des dApps évolutives et performantes sur Ethereum grâce à son système de cumul modulaire et à ses composants technologiques intégrés.
Lumière
Lumio est une solution de couche 2 développée par Pontem Network pour résoudre les défis d'évolutivité d'Ethereum et apporter une expérience de type Web2 à Web3. Il se distingue comme un cumul unique dans l’espace blockchain en raison de sa capacité à prendre en charge à la fois EVM et Move VM utilisés par Aptos. Cette double compatibilité permet à Lumio de traiter les transactions sur Aptos tout en s'installant simultanément sur Ethereum, offrant ainsi une solution polyvalente et efficace aux développeurs et aux utilisateurs de dApp. Il présente les principales caractéristiques suivantes :
Compatibilité double machine virtuelle : Lumio prend en charge de manière unique EVM et Move VM d'Aptos. Cette double compatibilité permet à Lumio d'intégrer de manière transparente les fonctionnalités d'Ethereum et d'Aptos, augmentant ainsi la flexibilité et l'efficacité du développement et de l'exécution de dApp.
Débit élevé et faible latence : Lumio augmente considérablement la bande passante des transactions en tirant parti de chaînes hautes performances comme Aptos pour la commande des transactions. Cette intégration garantit que Lumio peut gérer efficacement de gros volumes de transactions tout en conservant les caractéristiques de sécurité et de liquidité d’Ethereum.
Technologie Optimistic Rollup : Lumio utilise la pile OP open source et adopte la technologie Optimistic Rollup. Les cumuls optimistes sont connus pour leur traitement efficace des transactions et leurs coûts réduits, ce qui les rend adaptés à la mise à l'échelle des applications basées sur Ethereum.
Modèle économique flexible du coût du gaz : Lumio introduit un modèle économique du coût du gaz centré sur l'application. Ce modèle permet aux développeurs d'applications de bénéficier directement de l'utilisation du réseau, inspirant potentiellement un développement de dApp plus innovant et plus convivial.
Interopérabilité et intégration : la capacité de Lumio à traiter des transactions sur Aptos et à régler sur Ethereum démontre un haut degré d'interopérabilité entre les différents écosystèmes blockchain. Cette fonctionnalité permet aux développeurs de profiter pleinement d’Ethereum et d’Aptos dans leurs applications.
Équilibre entre sécurité et évolutivité : la combinaison de la sécurité renforcée d'Ethereum avec l'évolutivité d'Aptos offre aux développeurs une solution attrayante pour créer des dApps sécurisées et performantes. L'architecture de Lumio est conçue pour équilibrer efficacement ces deux aspects critiques.
Lumio est actuellement en version bêta fermée et prévoit de le déployer progressivement auprès d'utilisateurs sélectionnés. Cette approche permet des tests approfondis et des améliorations de la plateforme en fonction des commentaires des utilisateurs, garantissant ainsi une plateforme robuste et conviviale lors d'une version plus large.
Autres projets parallèles dans l'industrie
Solana
La technologie Sealevel de Solana est un élément clé de son architecture blockchain et est conçue pour améliorer les performances des contrats intelligents grâce à une technologie de traitement parallèle. Cette approche est très différente du traitement monothread d'autres plates-formes blockchain, telles que EVM et le runtime basé sur WASM d'EOS, qui traitent un contrat à la fois et modifient l'état de la blockchain de manière séquentielle.
Sealevel permet au runtime Solana de traiter des dizaines de milliers de contrats en parallèle, en utilisant tous les cœurs disponibles pour le validateur. Cette capacité de traitement parallèle est possible car les transactions Solana décrivent explicitement tous les états qui seront lus ou écrits pendant l'exécution, permettant aux transactions sans chevauchement de s'exécuter simultanément, ainsi qu'aux transactions qui lisent uniquement le même état.
Les fonctions principales de Sealevel sont basées sur l'architecture unique de Solana, comprenant des composants tels que la base de données de comptes Cloudbreak et le mécanisme de consensus Proof of History (PoH). Cloudbreak mappe les clés publiques aux comptes, les comptes conservent les soldes et les données, et les programmes (code sans état) gèrent les transitions d'état pour ces comptes.
Les transactions dans Solana sont spécifiées avec un vecteur d'instructions, chaque instruction contenant le programme, les instructions du programme et une liste de comptes sur lesquels la transaction souhaite lire et écrire. Cette interface, inspirée des interfaces de bas niveau du système d'exploitation avec les appareils, permet au SVM de trier des millions de transactions en attente et de planifier toutes les transactions qui ne se chevauchent pas pour un traitement parallèle. De plus, Sealevel peut trier toutes les instructions par ID de programme et exécuter le même programme sur tous les comptes simultanément, un processus similaire à l'optimisation SIMD (Single Instruction Multiple Data) utilisée dans les GPU.
Sealevel pour Solana offre plusieurs avantages, notamment une évolutivité améliorée, une latence réduite, une rentabilité et une sécurité améliorée. Il permet au réseau Solana de gérer un nombre nettement plus élevé de transactions par seconde, de permettre une finalisation quasi instantanée des transactions et de réduire les frais de transaction. Même pendant le traitement parallèle, la sécurité des contrats intelligents est maintenue grâce aux protocoles de sécurité solides de Solana.
Sealevel fait de Solana une puissante plate-forme d'applications décentralisée en permettant un traitement parallèle à grande vitesse et un débit de transaction accru.
Sui
Les fonctionnalités technologiques parallèles de Sui en font une plate-forme blockchain efficace et à haut débit adaptée à une variété d'applications et de cas d'utilisation Web3. Ces caractéristiques distinctives travaillent ensemble pour améliorer l’efficacité et le débit de son réseau :
Composants Narval et Bullshark : Ces deux composants sont cruciaux pour le mécanisme de consensus de Sui. Narwhal sert de pool de mémoire, chargé d'accélérer le traitement des transactions, d'améliorer l'efficacité du réseau et d'assurer la disponibilité des données lorsqu'elles sont soumises à Bullshark (moteur de consensus). Bullshark est chargé de trier les données fournies par Narwhal, en utilisant un mécanisme de tolérance aux pannes byzantin pour vérifier la validité des transactions et distribuer ces transactions sur le réseau.
Modèle de propriété des actifs : dans le réseau Sui, les actifs peuvent être détenus par un seul propriétaire ou partagés par plusieurs propriétaires. Les actifs d'un seul propriétaire peuvent être transférés rapidement et librement sur le réseau, tandis que les actifs partagés doivent être vérifiés via un système de consensus. Ce système de propriété des actifs améliore non seulement l'efficacité du traitement des transactions, mais permet également aux développeurs de créer plusieurs types d'actifs pour leurs applications.
Informatique distribuée : la conception de Sui permet au réseau de faire évoluer les ressources en fonction de la demande, le faisant ainsi fonctionner comme un service cloud. Cela signifie qu'à mesure que la demande pour le réseau Sui augmente, les validateurs de réseau sont en mesure d'ajouter plus de puissance de traitement, de maintenir la stabilité du réseau et de maintenir les frais de gaz à un niveau bas.
Langage de programmation Sui Move : Sui Move est le langage de programmation natif de Sui, conçu pour créer des applications hautes performances, sécurisées et riches en fonctionnalités. Il est basé sur le langage Move et vise à améliorer les défauts du langage de programmation des contrats intelligents, à améliorer la sécurité des contrats intelligents et l'efficacité du travail des programmeurs.
Bloc de transaction programmable (PTB) : un PTB dans Sui est une séquence de transactions complexe et composable qui peut accéder à n'importe quelle fonction Move publique en chaîne dans tous les contrats intelligents. Cette conception offre de solides garanties pour les applications orientées paiement ou finance.
Évolutivité horizontale : l'évolutivité de Sui ne se limite pas au traitement des transactions, mais inclut également le stockage. Cela permet aux développeurs de définir des actifs complexes dotés de propriétés riches et de les stocker directement en chaîne sans avoir à utiliser un stockage indirect hors chaîne pour économiser les frais de gaz.
Carburant
Dans le réseau Fuel, « l'exécution parallèle de transactions » est une technologie clé qui permet au réseau de traiter efficacement de grandes quantités de transactions. Le cœur de cette exécution parallèle est réalisé grâce à l’utilisation de listes d’accès d’état strictes basées sur le modèle UTXO (Unspent Transaction Output). Ce modèle est un élément fondamental du Bitcoin et de nombreuses autres crypto-monnaies.
Fuel introduit la capacité d'exécution de transactions parallèles dans le modèle UTXO. En utilisant des listes d'accès d'état strictes, Fuel est capable de traiter les transactions en parallèle, utilisant ainsi davantage de threads et de cœurs de processeur qui seraient normalement inactifs dans les blockchains à thread unique. De cette manière, Fuel peut fournir plus de puissance de calcul, d'accès à l'état et de débit de transaction qu'une blockchain à thread unique.
Fuel résout le problème de concurrence dans le modèle UTXO. Dans Fuel, au lieu de signer directement UTXO, les utilisateurs signent l'ID du contrat, indiquant leur intention d'interagir avec le contrat. Par conséquent, les utilisateurs ne modifient pas directement l’état, ce qui entraîne la consommation d’UTXO. Au lieu de cela, le producteur du bloc sera responsable de gérer la manière dont les différentes transactions du bloc affectent l'état global et donc le contrat UTXO. Un contrat UTXO consommé crée un nouvel UTXO avec les mêmes caractéristiques de base mais un stockage et un équilibre mis à jour.
Afin de réaliser une exécution de transactions parallèles, Fuel a développé une machine virtuelle spécifique - FuelVM. La conception de FuelVM se concentre sur la réduction du gaspillage dans les architectures de machines virtuelles blockchain traditionnelles tout en offrant aux développeurs un espace de conception plus potentiel. Il intègre des années de leçons apprises de l’écosystème Ethereum et des suggestions d’améliorations qui n’ont pas pu être mises en œuvre sur Ethereum en raison de la nécessité de maintenir la compatibilité avec les versions précédentes.
Appartements
La blockchain Aptos utilise un moteur d'exécution parallèle appelé Block-STM (Software Transaction Memory) pour améliorer sa capacité à traiter les transactions. Cette technologie permet à Aptos d'exécuter des transactions dans un ordre prédéfini au sein de chaque bloc, en attribuant les transactions à différents threads de processeur pendant l'exécution. L'idée principale de cette méthode est d'enregistrer les emplacements mémoire modifiés par les transactions lors de l'exécution de toutes les transactions. Une fois que tous les résultats de la transaction ont été vérifiés, s'il s'avère qu'une transaction a accédé à un emplacement mémoire modifié par une transaction précédente, la transaction sera invalidée. Les transactions interrompues sont ensuite réexécutées et le processus se répète jusqu'à ce que toutes les transactions aient été exécutées.
Contrairement à d'autres moteurs d'exécution parallèle, Block-STM maintient l'atomicité des transactions sans avoir besoin de connaître à l'avance les données à lire/écrire. Cela permet aux développeurs de créer plus facilement des applications hautement parallélisées. Block-STM prend en charge une atomicité plus riche que les autres environnements d'exécution parallèle, qui nécessitent souvent que les opérations soient divisées en plusieurs transactions (rompant l'atomicité logique). Block-STM améliore l'expérience utilisateur en réduisant la latence et en améliorant la rentabilité.
En outre, Aptos adopte également un mécanisme de consensus appelé AptosBFTv4, un protocole BFT pour les blockchains de production qui a fait l'objet d'une vérification stricte de son exactitude. Le protocole optimise la réactivité, offre une faible latence et un débit élevé, et tire pleinement parti du réseau sous-jacent. AptosBFTv4 utilise une conception de pipeline de type processeur pour garantir une utilisation maximale des ressources à chaque étape. Par conséquent, un seul nœud peut participer à de nombreux aspects du consensus, depuis la sélection des transactions à inclure dans un bloc jusqu'à l'exécution d'un autre ensemble de transactions, l'écriture des sorties d'un autre ensemble de transactions dans le stockage et la certification des sorties d'un autre ensemble de transactions. Cela limite le débit uniquement par l'étape la plus lente, plutôt que par la combinaison séquentielle de toutes les étapes.
défi
défi technique
De manière générale, les principaux défis liés à l'adoption d'une approche parallèle ou concurrente sont les problèmes de course aux données, les conflits de lecture et d'écriture ou les problèmes de risque de données. Tous ces termes décrivent le même problème : différents threads ou opérations essayant de lire et de modifier les mêmes données en même temps. La mise en œuvre de systèmes parallèles efficaces et fiables nécessite de résoudre des problèmes techniques complexes, notamment pour garantir une exécution prévisible et sans conflit d'opérations parallèles sur des milliers de nœuds décentralisés. De plus, le défi de la compatibilité technique est de garantir que les nouvelles méthodes de traitement parallèle sont compatibles avec les normes EVM et les codes de contrats intelligents existants.
Adaptabilité des écosystèmes
Les développeurs devront peut-être apprendre de nouveaux outils et méthodes pour maximiser les avantages de l’EVM parallèle. En outre, les utilisateurs doivent également s’adapter aux nouveaux modes d’interaction et fonctionnalités de performance qui pourraient émerger. Cela nécessite que les acteurs de l’ensemble de l’écosystème (y compris les développeurs, les utilisateurs et les prestataires de services) aient une certaine compréhension et une certaine capacité d’adaptation aux nouvelles technologies. Dans le même temps, un écosystème blockchain solide repose non seulement sur ses fonctionnalités techniques, mais également sur un support étendu des développeurs et des applications riches. Pour que les nouvelles technologies telles que l’EVM parallèle réussissent sur le marché, elles doivent établir suffisamment d’effets de réseau pour attirer la participation des développeurs et des utilisateurs.
Complexité accrue du système
L'EVM parallèle nécessite une communication réseau efficace pour prendre en charge la synchronisation des données sur plusieurs nœuds. Les retards du réseau ou les échecs de synchronisation peuvent entraîner un traitement des transactions incohérent, augmentant ainsi la complexité de la conception du système. Pour tirer efficacement parti du traitement parallèle, les systèmes doivent gérer et allouer les ressources informatiques de manière plus intelligente. Cela peut impliquer une répartition dynamique de la charge entre différents nœuds, ainsi que l'optimisation de l'utilisation de la mémoire et du stockage. Le développement de contrats intelligents et d'applications prenant en charge le traitement parallèle est plus complexe que les modèles d'exécution séquentielle traditionnels. Les développeurs doivent prendre en compte les caractéristiques et les limites de l’exécution parallèle, ce qui peut rendre le processus de codage et de débogage plus difficile. Dans un environnement d'exécution parallèle, les vulnérabilités de sécurité peuvent être amplifiées car un problème de sécurité peut affecter plusieurs transactions exécutées en parallèle. Par conséquent, un processus d’audit et de test de sécurité plus rigoureux est nécessaire.
Perspectives d'avenir
L’EVM parallèle a montré un grand potentiel pour améliorer l’évolutivité et l’efficacité de la blockchain. Ces EVM parallèles mentionnés ci-dessus représentent un changement important dans la technologie blockchain et sont conçus pour améliorer les capacités de traitement des transactions en exécutant des transactions simultanément sur plusieurs processeurs. Cette approche rompt avec le traitement séquentiel traditionnel des transactions, permettant un débit plus élevé et une latence plus faible, qui sont essentiels à l'évolutivité et à l'efficacité des réseaux blockchain.
La mise en œuvre réussie d’EVM parallèle repose en grande partie sur la vision et les compétences des développeurs, notamment dans la conception de contrats intelligents et de structures de données. Ces éléments sont essentiels pour déterminer si une transaction peut être exécutée en parallèle. Les développeurs doivent envisager le traitement parallèle dès le début du projet et s'assurer que leurs conceptions permettent à différentes transactions de s'exécuter indépendamment sans interférence.
Parallel EVM maintient également la compatibilité avec l’écosystème Ethereum, ce qui est essentiel pour les développeurs et les utilisateurs déjà impliqués dans les applications basées sur Ethereum. Cette compatibilité garantit une transition et une intégration en douceur des dApps existantes, ce qui constitue un défi pour des systèmes comme DAG car ils nécessitent souvent des modifications importantes des applications existantes.
Le développement d’EVM parallèles est considéré comme une étape clé pour résoudre les limites fondamentales de l’évolutivité de la blockchain. Ces innovations devraient préparer les réseaux blockchain pour l’avenir, leur permettant de répondre aux demandes croissantes et de devenir la pierre angulaire de la prochaine génération d’infrastructure Web3. Même si les EVM parallèles offrent un énorme potentiel, leur mise en œuvre réussie nécessite de surmonter des défis techniques complexes et de garantir une adoption à grande échelle par l’écosystème.
Voir l'original
Le contenu est fourni à titre de référence uniquement, il ne s'agit pas d'une sollicitation ou d'une offre. Aucun conseil en investissement, fiscalité ou juridique n'est fourni. Consultez l'Avertissement pour plus de détails sur les risques.
Rapport de recherche MT Capital : interprétation complète de l'EVM parallèle, aperçu du projet et perspectives d'avenir
Écrit par : Xinwei, MT Capital
TL;DR
Les principaux défis liés à l'adoption du parallélisme comprennent la résolution des problèmes de course aux données et de conflits de lecture-écriture, la garantie de la compatibilité technologique avec les normes existantes, l'adaptation aux nouveaux modèles d'interaction des écosystèmes et la gestion de la complexité croissante des systèmes, notamment en termes de sécurité et d'allocation des ressources.
L'EVM parallèle démontre un grand potentiel dans l'amélioration de l'évolutivité et de l'efficacité de la blockchain, marquant un changement majeur dans la technologie de la blockchain. Il améliore les capacités de traitement des transactions en exécutant des transactions simultanément sur plusieurs processeurs, dépassant ainsi les limites du traitement des transactions séquentielles traditionnel. Même si les EVM parallèles offrent un énorme potentiel, leur mise en œuvre réussie nécessite de surmonter des défis techniques complexes et de garantir une adoption à grande échelle par l’écosystème.
Concepts de base de l'EVM parallèle
Introduction à l'EVM
La machine virtuelle Ethereum (EVM) est le composant central de la blockchain Ethereum et lui sert de moteur de calcul. Il s'agit d'une machine complète quasi-Turing qui fournit un environnement opérationnel pour l'exécution de contrats intelligents sur le réseau Ethereum, ce qui est essentiel pour maintenir la confiance et la cohérence dans l'ensemble de l'écosystème Ethereum.
L'EVM exécute des contrats intelligents en traitant le bytecode, qui est une forme plus basique de compilation de code de contrat intelligent généralement écrit dans un langage de programmation de haut niveau tel que Solidity. Ces bytecodes sont constitués d'une série de codes d'opération (opcodes) utilisés pour exécuter diverses fonctions, notamment des opérations arithmétiques et le stockage/récupération de données. L'EVM fonctionne comme une machine à pile, traitant les opérations selon le principe du dernier entré, premier sorti. Chaque opération dans l'EVM a un coût de gaz associé. Ce système gazier mesure l'effort de calcul requis pour effectuer les opérations, garantissant une allocation équitable des ressources et empêchant les abus du réseau.
Dans Ethereum, les transactions jouent un rôle important dans la fonctionnalité de l'EVM. Il existe deux types de transactions : celles qui provoquent l'appel d'un message et celles qui provoquent la création d'un contrat. La création de contrat entraîne la création d'un nouveau compte de contrat contenant le bytecode du contrat intelligent compilé, et lorsqu'un autre compte appelle un message au contrat, son bytecode est exécuté.
L'architecture de l'EVM comprend des composants tels que le bytecode, la pile, la mémoire et le stockage. Il dispose d'un espace mémoire dédié pour le stockage temporaire des données pendant l'exécution, et d'un espace de stockage persistant sur la blockchain pour conserver les données indéfiniment. La conception de l'EVM garantit un environnement d'exécution sécurisé pour les contrats intelligents, en les isolant pour empêcher les attaques de réentrance et en employant diverses mesures de sécurité telles que les limites de gaz et de profondeur de pile.
De plus, l'influence d'EVM s'étend au-delà d'Ethereum et s'étend à une gamme plus large grâce aux chaînes compatibles EVM. Ces chaînes, bien que différentes, maintiennent la compatibilité avec les applications basées sur Ethereum, leur permettant d'interagir de manière transparente avec les applications basées sur Ethereum. Ces chaînes jouent un rôle clé dans divers domaines tels que les solutions d'entreprise, GameFi et DeFi.
La nécessité d'un EVM parallèle
La nécessité d’un EVM (Ethereum Virtual Machine) parallèle découle de sa capacité à améliorer considérablement les performances et l’efficacité des réseaux blockchain. L'EVM traditionnel traite les transactions de manière séquentielle, ce qui non seulement consomme beaucoup d'énergie, mais impose également une lourde charge de travail aux validateurs de réseau. Cette approche entraîne souvent des coûts de transaction élevés et des inefficacités, et est considérée comme un obstacle majeur à l’adoption généralisée de la blockchain.
Parallel EVM révolutionne le processus de consensus en permettant à plusieurs opérations de s'exécuter simultanément. La capacité d'exécution en parallèle augmente considérablement le débit du réseau, améliorant ainsi les performances et l'évolutivité de l'ensemble de la blockchain. Grâce à l'EVM parallèle, le réseau blockchain peut traiter davantage de transactions dans un délai plus court, résolvant ainsi efficacement les problèmes de congestion courants et les temps de traitement lents des systèmes blockchain traditionnels.
L’EVM parallèle a un impact significatif sur divers aspects de la technologie blockchain :
Il fournit une méthode de traitement des transactions plus économe en énergie. En réduisant la charge de travail des validateurs et de l'ensemble du réseau, Parallel EVM contribue à construire un écosystème blockchain plus durable.
Une évolutivité améliorée et un débit accru entraînent directement une réduction des frais de transaction. Les utilisateurs bénéficieront d’une expérience plus économique, rendant les plateformes blockchain plus attrayantes pour un public plus large.
Le traitement simultané de plusieurs transactions plutôt que séquentiellement signifie que les dApp peuvent fonctionner plus facilement, même pendant les périodes de forte demande du réseau.
Méthode d'implémentation de l'EVM parallèle
Dans l'architecture EVM actuelle, les opérations de lecture et d'écriture les plus sophistiquées sont sload et sstore, qui sont utilisées respectivement pour lire et écrire des données à partir du trie d'état. Par conséquent, s’assurer que différents threads n’entrent pas en conflit sur ces deux opérations est un point d’entrée facile pour implémenter un EVM parallèle/simultané. En fait, il existe un type de transaction spécial dans Ethereum qui inclut une structure spéciale appelée « liste d'accès » qui permet aux transactions contenant des adresses de stockage d'être lues et modifiées. Par conséquent, cela constitue un bon point de départ pour mettre en œuvre une approche de concurrence basée sur la planification.
En termes de mise en œuvre du système, il existe trois formes courantes d'EVM parallèle/simultanée :
La différence entre le parallélisme/la concurrence dans les systèmes de blockchain et de bases de données est la suivante :
Alors de quoi avons-nous besoin ?
Un consensus au niveau du système est nécessaire et une exécution plus rapide entraînera des rendements plus élevés.
Un algorithme de planification multivariable qui prend en compte les contraintes de bloc génère plus de revenus tout en permettant une exécution plus rapide.
Opérations de données plus fines, y compris le verrouillage des données au niveau de l'opcode, la couche de cache mémoire, etc.
Principaux projets et leurs technologies
Laboratoires Monades
Monad est un EVM Layer 1 conçu pour améliorer considérablement l'évolutivité et la vitesse de transaction de la blockchain grâce à ses fonctionnalités techniques uniques. Le principal avantage de Monad est qu'il peut gérer jusqu'à 10 000 transactions par seconde et qu'il a un temps de blocage de 1 seconde. Cela est dû à son mécanisme de consensus MonadBFT et à sa compatibilité EVM, qui lui permettent de traiter les transactions de manière efficace et rapide.
L'une des caractéristiques les plus intéressantes de Monad réside dans ses capacités d'exécution parallèle, qui lui permettent de traiter plusieurs transactions simultanément, ce qui améliore considérablement l'efficacité et le débit du réseau par rapport aux méthodes de traitement séquentiel des systèmes blockchain traditionnels.
Le développement de Monad est dirigé par Monad Labs, cofondé par Keone Hon, Eunice Giarta et James Hunsaker. Le projet a réussi à lever 19 millions de dollars en financement de démarrage et prévoit de lancer un testnet au milieu du premier trimestre 2024, suivi d'un lancement de réseau principal.
Monad est optimisé dans quatre domaines principaux pour en faire une blockchain performante :
MonadBFT : MonadBFT est un mécanisme de consensus haute performance pour la blockchain Monad, utilisé pour assurer la cohérence dans l'ordre des transactions dans des conditions de synchronisation partielle en présence d'acteurs byzantins. Il s'agit d'une version améliorée basée sur HotStuff, utilisant un algorithme BFT en deux étapes, avec une réactivité optimiste, une surcharge de communication linéaire dans les situations courantes et une surcharge de communication quadratique dans les situations d'expiration. Dans MonadBFT, le leader envoie un nouveau bloc et le QC (Quorum Certificate) ou TC (Timeout Certificate) du tour précédent au validateur à chaque tour. Le validateur examine le blocage et, s'il est d'accord, envoie un vote « oui » signé au prochain tour des dirigeants. Ce processus utilise des signatures de seuil pour regrouper les votes « oui » des vérificateurs 2f+1 pour former QC. Dans le cas courant de la communication, le leader envoie des blocs aux validateurs, qui envoient directement les votes au leader pour le tour suivant. MonadBFT utilise également des signatures BLS basées sur le couplage pour résoudre les problèmes d'évolutivité, qui peuvent progressivement regrouper les signatures en une seule signature, et la vérification d'une seule signature globale valide peut prouver que les partages associés à la clé publique ont signé le message. Pour des raisons de performances, MonadBFT adopte un schéma de signature hybride, dans lequel les signatures BLS ne sont utilisées que pour les types de messages agrégeables (vote et délai d'attente). L'intégrité et l'authenticité des messages sont toujours assurées par les signatures ECDSA. Grâce à ces caractéristiques, MonadBFT est en mesure de parvenir à un consensus blockchain efficace et robuste.
Exécution différée : il s’agit d’une innovation clé qui dissocie le processus d’exécution du processus de consensus. Dans cette architecture, le processus de consensus implique que les nœuds conviennent d'un ordre officiel des transactions, tandis que l'exécution est le processus d'exécution effective de ces transactions et de mise à jour de l'état. Dans cette conception, le nœud leader propose l'ordre des transactions, mais ne connaît pas la racine de l'état final lorsqu'il propose l'ordre ; le nœud validateur ne sait pas si toutes les transactions du bloc s'exécuteront avec succès lors du vote sur la validité du bloc.
Cette conception permet à Monad d'obtenir des améliorations de vitesse significatives, permettant ainsi aux blockchains à fragment unique de s'adapter à des millions d'utilisateurs. Dans Monad, chaque nœud exécute indépendamment les transactions du bloc N tout en atteignant un consensus sur le bloc N, et commence à atteindre un consensus sur le bloc N+1. Cette approche permet un budget gazier plus important puisque l’exécution doit simplement suivre le consensus. De plus, cette approche est plus tolérante aux variations spécifiques du temps de calcul puisque l’exécution doit uniquement suivre le consensus en moyenne.
Pour garantir davantage la réplication de la machine à états, la Monade inclut une racine Merkle retardée par les blocs D dans la proposition de bloc. Cette racine Merkle retardée garantit le maintien de la cohérence à l'échelle du réseau même si un nœud adopte un comportement erroné ou malveillant.
Dans MonadBFT, la finalité est un seul emplacement (1 seconde) et les résultats d'exécution sont généralement en retard de moins de 1 seconde sur les nœuds complets. Cette finalité à emplacement unique signifie qu'après la soumission d'une transaction, les utilisateurs verront l'ordre officiel des transactions un seul bloc plus tard. À moins qu’une grande majorité du réseau n’agisse de manière malveillante, il n’y a aucune possibilité de réorganisation. Pour les utilisateurs qui ont besoin de comprendre rapidement les résultats du trading (par exemple, les traders à haute fréquence), un nœud complet peut être exécuté pour minimiser la latence.
Exécution parallèle : il permet à Monad d'exécuter plusieurs transactions simultanément. Cette approche peut sembler différente de la sémantique d’exécution d’Ethereum à première vue, mais ce n’est pas le cas. Les blocs Monad sont les mêmes que les blocs Ethereum, qui sont des collections de transactions ordonnées linéairement. Les résultats de l’exécution de ces transactions sont les mêmes entre Monad et Ethereum.
Lors de l'exécution parallèle, Monad utilise une approche d'exécution optimiste, qui commence à exécuter les transactions suivantes avant que les transactions précédentes du bloc ne soient terminées. Cela peut parfois conduire à des résultats d'exécution incorrects. Les monades résolvent ce problème en suivant les entrées utilisées lors de l'exécution d'une transaction et en les comparant aux sorties des transactions précédentes. En cas de divergence, la transaction doit être réexécutée avec les données correctes.
De plus, Monad utilise un analyseur de code statique pour prédire les dépendances entre transactions lors de l'exécution de transactions afin d'éviter une exécution parallèle inefficace. Dans le meilleur des cas, une Monade peut prédire de nombreuses dépendances à l'avance ; dans le pire des cas, elle revient à un mode d'exécution simple.
La technologie d'exécution parallèle de Monad améliore non seulement l'efficacité et le débit du réseau, mais réduit également les échecs de transactions dus à l'exécution parallèle en optimisant les stratégies d'exécution.
MonadDb : MonadDb est optimisé pour le stockage et le traitement des données. Cela fait partie de la stratégie d'optimisation de Monad visant à améliorer les performances globales du réseau, notamment en ce qui concerne le traitement des données d'état et des données de transaction. Ces composants sont conçus pour améliorer l'efficacité et l'évolutivité du stockage de données et améliorer la capacité du réseau blockchain à gérer de grandes quantités de données. Il comprend des mécanismes d'indexation des données améliorés, des structures de stockage plus efficaces et des chemins d'accès aux données optimisés. Ces optimisations contribuent à réduire le temps d'accès aux données et à augmenter la vitesse de traitement des transactions, améliorant ainsi les performances de l'ensemble du réseau blockchain.
Projet écologique
Échanger
TayaSwap est un AMM DEX basé sur Monad et alimenté par SubLabs qui permet d'échanger des actifs sans carnets d'ordres ni intermédiaires traditionnels. AMM s'appuie sur des formules mathématiques et des contrats intelligents pour faciliter les échanges de jetons, déterminer les prix et utiliser des contrats intelligents pour permettre des transactions peer-to-peer.
Finance ambiante
Ambient (anciennement CrocSwap) est un protocole de trading décentralisé qui permet à un AMM bilatéral de combiner une liquidité de produit centralisée et constante sur n'importe quelle paire d'actifs blockchain. Ambient exécute l'intégralité du DEX dans un seul contrat intelligent, où un seul pool AMM est une structure de données légère plutôt qu'un contrat intelligent distinct.
Protocole de crevettes
Shrimp est un (3,3) DEX avec une économie de jetons à volant d'inertie, une prise en charge des actifs du monde réel et arrive sur Monad.
Catalyseur
Catalyst est une solution de liquidité sans autorisation entre blockchains modulaires, spécialement conçue pour connecter toutes les chaînes et permettre l'accès à n'importe quel actif, n'importe où. Catalyst permet aux développeurs de se connecter automatiquement à toutes les chaînes et d'accéder aux utilisateurs dans un écosystème unifié, tandis que sa conception simple, décentralisée et auto-hébergée garantit que les projets peuvent accéder aux liquidités de manière sécurisée et transparente.
Échanger
Swaap est un teneur de marché automatisé (AMM) neutre sur le marché. Il combine des oracles et des spreads dynamiques pour fournir des revenus durables aux fournisseurs de liquidité et des prix moins chers aux traders. Le protocole réduit considérablement les pertes éphémères et fournit des pools multi-actifs.
Élixir
Elixir est un protocole de tenue de marché décentralisé qui utilise des algorithmes de tenue de marché pour interagir avec les échanges centralisés via des appels API afin d'apporter de la liquidité aux actifs cryptographiques à longue traîne.
Échange de temps
Timeswap est un protocole de marché monétaire décentralisé basé sur AMM qui n'utilise ni oracles ni liquidateurs. Contrairement à Uniswap, où les actifs peuvent être négociés en temps réel, emprunter sur Timeswap implique d'échanger des jetons jusqu'à ce que le remboursement soit terminé. Le prêteur fournit l'actif A pour emprunter de l'argent tout en « protégeant » une certaine quantité d'actif B que l'emprunteur utilise comme garantie. Les utilisateurs peuvent ajuster leur profil de risque pour obtenir un taux d’intérêt plus élevé avec un ratio hypothécaire inférieur, ou vice versa.
Poply
Poply est un marché NFT communautaire dédié à la chaîne Monad, affichant et renforçant les collections NFT créées spécifiquement pour cette chaîne, et attirant les personnes intéressées par des NFT uniques en utilisant l'IA pour générer de l'art et une interface conviviale. jetons.
Tableau électrique
Switchboard est un protocole Oracle multi-chaînes sans autorisation et personnalisable pour les flux de données universels et le caractère aléatoire vérifiable. En permettant à quiconque de transmettre n'importe quelle forme de données, quel que soit le type de données, il offre un guichet unique aux utilisateurs et contribue à piloter la prochaine génération d'applications décentralisées.
Réseau Python
Pyth Network est une solution d'oracle de prix de nouvelle génération développée par Douro Labs, visant à fournir des données précieuses sur les marchés financiers sur la chaîne, notamment les crypto-monnaies, les actions, les devises et les matières premières, aux projets et protocoles et au public via la technologie blockchain. Le réseau regroupe les données de prix de première partie provenant de plus de 70 fournisseurs de données de confiance et les publie pour être utilisées par des contrats intelligents et d'autres applications en chaîne ou hors chaîne.
AIT Protocol
Le protocole AIT est une infrastructure de données d'intelligence artificielle qui fournit des solutions d'intelligence artificielle Web3. Le marché décentralisé de l'AIT offre à des millions d'utilisateurs de cryptomonnaies une opportunité unique et étendue de participer à des tâches de « s'entraîner pour gagner de l'argent », un concept qui leur permet simultanément de gagner des récompenses tout en contribuant activement au développement et au développement de modèles d'intelligence artificielle. .
Avis
Notifi fournit une couche de communication commune à tous les projets Web3, avec des plans pour intégrer des capacités de notification et de messagerie dans des applications décentralisées pour interagir avec les utilisateurs sur les canaux numériques et en chaîne. L'API Notifi permet aux développeurs de débloquer une infrastructure de communication complexe grâce à des API simples qui peuvent fournir des expériences utilisateur natives pour toutes les applications dans le monde ; Notifi Center offre aux utilisateurs une expérience de notification d'informations personnalisées, qui seront disponibles sur mobile et sur le Web. Permettant aux utilisateurs de visualiser et gérer toutes les informations dans le monde Web3 ; Notifi Push permet aux spécialistes du marketing de créer des engagements multicanaux cohérents qui stimulent la croissance de l'entreprise et fidélisent leur base d'utilisateurs.
ACryptoS
ACryptoS est une plate-forme de stratégie de chiffrement avancée, un optimiseur d'agrégation de revenus multi-chaînes et DEX, fournissant des coffres-forts composés automatiques à jeton unique, des coffres-forts LP à deux jetons, des coffres-forts de liquidité uniques, une branche Balancer-V2 DEX et des échanges stables. Une large gamme de produits uniques . Initialement lancé sur la chaîne BNB en novembre 2020, ACryptoS s'est étendu à 11 chaînes avec plus de 100 coffres-forts déployés, dans le but de prendre en charge les utilisateurs et les protocoles DeFi.
MagmaDAO
MagmaDAO est un protocole de jalonnement de liquidité contrôlé par DAO qui vise à assurer une distribution équitable des jetons via des parachutages compétitifs dans l'écosystème. Il s'agit du premier validateur distribué en dehors d'Ethereum et est construit sur la monade Strong EVM L1 la plus rapide, la moins chère et la plus résistante à la censure.
Échange de wombats
Wombat Exchange est un échange de pièces stables multi-chaînes avec des pools de liquidité ouverts, un faible glissement et un jalonnement unilatéral.
Trou de ver
Wormhole est un protocole de messagerie universel décentralisé qui permet aux développeurs et aux utilisateurs d'applications inter-chaînes de profiter de plusieurs écosystèmes.
DeMask Finance
DeMask Finance est un protocole AMM en chaîne pour les transactions entre les NFT et les jetons ERC20. DeMask Finance prend en charge la création de collections NFT et de rampes de lancement NFT : associées à l'ETH et à d'autres jetons. Échange décentralisé NFT : prend en charge le couplage de jetons ERC-1155 NFT ou d'autres jetons avec des jetons ETH et ERC-20. Le protocole DeMask vise à ajouter de la liquidité au marché NFT et fournit une interface pour permettre un échange transparent entre les jetons ERC20 ou les jetons natifs et les collections NFT. DeMask est un système de contrat intelligent interconnecté qui permet à tous les utilisateurs de créer et de posséder des pools de liquidités et d'échanger de manière entièrement automatisée. Chaque pool détiendra une paire d'actifs, dont un jeton et un NFT, offrant un prix fixe pour des échanges instantanés. Cela permet également à d’autres contrats d’estimer le prix moyen des deux actifs au fil du temps. Les utilisateurs disposant de pools de liquidités seront récompensés lors de l’échange de paires d’actifs.
Six V2
Sei V2 est une mise à niveau importante du réseau Sei, qui vise à être le premier EVM entièrement parallélisé. Cette mise à niveau permettra à Sei de :
Compatibilité descendante avec les contrats intelligents EVM : cela signifie que les développeurs peuvent déployer des contrats intelligents audités et compatibles EVM sur Sei sans modifier le code. Ceci est extrêmement important pour les développeurs car cela simplifie le processus de transfert de leurs contrats intelligents existants d'autres blockchains telles qu'Ethereum vers Sei.
D'un point de vue technique, les nœuds Sei importeront automatiquement Geth – l'implémentation Go de la machine virtuelle Ethereum. Geth sera utilisé pour traiter les transactions Ethereum, et toutes les mises à jour résultantes (y compris les mises à jour d'état ou les appels à des contrats non liés à l'EVM) seront effectuées via l'interface spéciale créée par Sei pour l'EVM.
Parallélisation optimiste : elle permet à la blockchain de prendre en charge la parallélisation sans obliger les développeurs à définir des dépendances. Cela signifie que toutes les transactions peuvent s'exécuter en parallèle et qu'en cas de conflit (par exemple, une transaction touche le même état), la chaîne gardera une trace de la partie du stockage touchée par chaque transaction et réexécutera ces transactions dans l'ordre. Ce processus se poursuivra de manière récursive jusqu'à ce que tous les conflits inexpliqués soient résolus. Étant donné que les transactions sont classées par blocs, le processus est déterministe, simplifiant le flux de travail des développeurs tout en conservant le parallélisme au niveau de la chaîne.
SeiDB : Il introduira une nouvelle structure de données appelée SeiDB pour optimiser la couche de stockage de la plateforme. L'objectif principal de SeiDB est d'éviter le gonflement de l'état, le problème dans lequel un réseau devient trop lourd en données, tout en simplifiant le processus de synchronisation d'état pour les nouveaux nœuds. Cette conception vise à améliorer les performances globales et l’évolutivité de la blockchain Sei.
Sei V2 atteint cet objectif en transformant l'arborescence IAVL traditionnelle en un système à deux composants : le stockage d'état et les engagements d'état. Ce changement réduit considérablement la latence et l'utilisation du disque, et Sei V2 prévoit également de passer à l'utilisation de PebbleDB pour améliorer les performances de lecture et d'écriture pour l'accès multithread.
Interopérabilité avec les chaînes existantes : Sei V2 permet une combinaison transparente entre EVM et tout autre environnement d'exécution pris en charge par Sei, offrant une expérience plus fluide aux développeurs qui peuvent facilement accéder aux jetons natifs et à d'autres fonctionnalités de la chaîne, telles que l'engagement. Il créera également un nouveau composant pour prendre en charge les contrats intelligents EVM. Ces contrats intelligents EVM bénéficieront de toutes les modifications apportées au consensus et à la parallélisation, et pourront également interagir avec les contrats intelligents Cosmwasm existants.
Du point de vue des performances, Sei V2 offrira un débit de 28 300 transactions par lots par seconde, tout en offrant un temps de bloc de 390 millisecondes et une finalité de 390 millisecondes. Cela permet à Sei de prendre en charge davantage d'utilisateurs et d'offrir une meilleure expérience interactive que les blockchains existantes, tout en offrant des coûts par transaction moins élevés.
La principale progression de la mise à niveau de Sei V2 est maintenant presque terminée. Une fois l'examen terminé, cette mise à niveau sera publiée sur le réseau de test public au premier trimestre 2024 et sera déployée sur le réseau principal au premier semestre 2024.
Néon
Neon EVM exploite les capacités de la blockchain Solana pour fournir un environnement efficace pour les dApps Ethereum. Il fonctionne comme un contrat intelligent au sein de Solana, permettant aux développeurs de déployer des dApps Ethereum avec des modifications de code minimes ou nulles et de bénéficier des fonctionnalités avancées de Solana. L'architecture et les opérations de Neon EVM se concentrent sur la sécurité, la décentralisation et la durabilité, offrant aux développeurs Ethereum la possibilité de passer en toute transparence à l'environnement Solana. Il tire parti des faibles frais et des vitesses de transaction élevées de Solana grâce à sa capacité à permettre aux transactions de s'exécuter en parallèle, à fournir un débit élevé et à réduire les coûts. Les principaux composants de l'écosystème Neon EVM comprennent :
Programme Néon EVM :
Il s'agit d'un EVM compilé dans le bytecode Berkeley Packet Filter et fonctionne sur Solana. Il traite les transactions de type Ethereum (transactions Neon) sur Solana et suit les règles d'Ethereum. Neon EVM est configuré via un compte EVM multi-signature décentralisé, et les participants peuvent modifier le code Neon EVM et les paramètres de configuration.
Le processus par lequel Neon EVM traite les transactions implique plusieurs étapes clés. Tout d’abord, les utilisateurs lancent une transaction de type Ethereum (N-tx) via un portefeuille compatible Ethereum. Ces transactions sont encapsulées dans les transactions Solana (S-tx) via Neon Proxy, puis transmises au programme Neon EVM hébergé sur Solana. Le programme Neon EVM débloque les transactions, vérifie les signatures des utilisateurs, charge le statut EVM (y compris les données de compte et le code de contrat intelligent), exécute les transactions dans l'environnement Solana BPF (Berkeley Packet Filter) et met à jour le statut de Solana pour refléter le nouveau statut Neon EVM.
Neon Proxy : Il permet aux dApps Ethereum d'être portées sur Neon avec une reconfiguration minimale. Neon Proxy regroupe les transactions EVM dans des transactions Solana et les fournit sous forme de solution conteneurisée pour une utilisation facile. Les opérateurs exécutant des serveurs Neon Proxy facilitent l'exécution de transactions de type Ethereum sur Solana, en acceptant les jetons NEON pour les frais de gaz et d'autres paiements au sein de l'écosystème Solana.
Neon DAO : Le DAO fournit des services de garde pour la Fondation Neon et guide la recherche et le développement futurs. Il fonctionne comme une série de contrats sur Solana, fournissant une couche de gouvernance qui contrôle la fonctionnalité Neon EVM. Les détenteurs de jetons NEON peuvent participer aux activités DAO, notamment proposer et voter sur des propositions.
Jeton NEON : ce jeton utilitaire a deux fonctions principales : payer les frais de gaz et participer à la gouvernance via le DAO.
Intégrations et outils : Neon EVM prend en charge une variété d'intégrations et d'outils de développement et d'analyse. Ceux-ci incluent des explorateurs de blocs comme NeonScan, des wrappers ERC-20 SPL pour les transferts de jetons, NeonPass pour le transfert de jetons ERC-20 entre Solana et Neon EVM, NeonFaucet pour tester les jetons et la compatibilité avec les EVM comme la compatibilité MetaMask Wallet.
Éclipse
Eclipse est une solution de couche 2 pour Ethereum qui accélère considérablement le traitement des transactions en tirant parti de la machine virtuelle Solana (SVM). Eclipse est conçu pour la vitesse et l'évolutivité, en utilisant une architecture de cumul modulaire et en intégrant des technologies clés telles que le règlement Ethereum, les contrats intelligents SVM, la disponibilité des données Celestia et la sécurité RISC Zero.
Plus précisément, Eclipse Mainnet combine le meilleur des éléments de pile modulaire :
Couche de règlement – Ethereum : Eclipse utilise Ethereum comme couche de règlement. A cette couche, les transactions sont finalisées et sécurisées. Utiliser Ethereum signifie non seulement profiter de sa sécurité et de sa liquidité robustes, mais également utiliser l’ETH comme jeton de gaz pour payer les frais de transaction. Cette configuration permet à Eclipse d'hériter de solides fonctionnalités de sécurité d'Ethereum.
Couche d'exécution-SVM : en termes d'exécution de contrats intelligents, Eclipse utilise SVM. Cela contraste fortement avec la façon dont EVM exécute les transactions de manière séquentielle, SVM étant capable de traiter des transactions en parallèle. Son environnement d'exécution Sealevel propose des transactions qui n'impliquent pas de chevauchement d'états et peuvent être traitées en parallèle, permettant à Eclipse d'évoluer horizontalement et d'améliorer le débit.
Disponibilité des données - Celestia : pour garantir que les données sont disponibles et vérifiables en temps opportun, Eclipse utilise Celestia. Celestia fournit une plate-forme évolutive et sécurisée pour la publication de données et constitue un support important pour le débit élevé d'Eclipse.
Anti-fraude - RISC Zero : Eclipse intègre RISC Zero pour effectuer une preuve de fraude sans connaissance, évitant ainsi le besoin d'une sérialisation d'état intermédiaire, améliorant ainsi l'efficacité et la sécurité du système.
L’objectif de conception d’Eclipse est de fournir une solution universelle de couche 2 pour Ethereum pouvant être utilisée à très grande échelle. Il est conçu pour répondre aux limites des cumuls spécifiques aux applications et aux problèmes d'isolement et de complexité qui en résultent et qui peuvent conduire à une expérience utilisateur et développeur dégradée. Eclipse offre une option attrayante pour créer des dApps évolutives et performantes sur Ethereum grâce à son système de cumul modulaire et à ses composants technologiques intégrés.
Lumière
Lumio est une solution de couche 2 développée par Pontem Network pour résoudre les défis d'évolutivité d'Ethereum et apporter une expérience de type Web2 à Web3. Il se distingue comme un cumul unique dans l’espace blockchain en raison de sa capacité à prendre en charge à la fois EVM et Move VM utilisés par Aptos. Cette double compatibilité permet à Lumio de traiter les transactions sur Aptos tout en s'installant simultanément sur Ethereum, offrant ainsi une solution polyvalente et efficace aux développeurs et aux utilisateurs de dApp. Il présente les principales caractéristiques suivantes :
Compatibilité double machine virtuelle : Lumio prend en charge de manière unique EVM et Move VM d'Aptos. Cette double compatibilité permet à Lumio d'intégrer de manière transparente les fonctionnalités d'Ethereum et d'Aptos, augmentant ainsi la flexibilité et l'efficacité du développement et de l'exécution de dApp.
Débit élevé et faible latence : Lumio augmente considérablement la bande passante des transactions en tirant parti de chaînes hautes performances comme Aptos pour la commande des transactions. Cette intégration garantit que Lumio peut gérer efficacement de gros volumes de transactions tout en conservant les caractéristiques de sécurité et de liquidité d’Ethereum.
Technologie Optimistic Rollup : Lumio utilise la pile OP open source et adopte la technologie Optimistic Rollup. Les cumuls optimistes sont connus pour leur traitement efficace des transactions et leurs coûts réduits, ce qui les rend adaptés à la mise à l'échelle des applications basées sur Ethereum.
Modèle économique flexible du coût du gaz : Lumio introduit un modèle économique du coût du gaz centré sur l'application. Ce modèle permet aux développeurs d'applications de bénéficier directement de l'utilisation du réseau, inspirant potentiellement un développement de dApp plus innovant et plus convivial.
Interopérabilité et intégration : la capacité de Lumio à traiter des transactions sur Aptos et à régler sur Ethereum démontre un haut degré d'interopérabilité entre les différents écosystèmes blockchain. Cette fonctionnalité permet aux développeurs de profiter pleinement d’Ethereum et d’Aptos dans leurs applications.
Équilibre entre sécurité et évolutivité : la combinaison de la sécurité renforcée d'Ethereum avec l'évolutivité d'Aptos offre aux développeurs une solution attrayante pour créer des dApps sécurisées et performantes. L'architecture de Lumio est conçue pour équilibrer efficacement ces deux aspects critiques.
Lumio est actuellement en version bêta fermée et prévoit de le déployer progressivement auprès d'utilisateurs sélectionnés. Cette approche permet des tests approfondis et des améliorations de la plateforme en fonction des commentaires des utilisateurs, garantissant ainsi une plateforme robuste et conviviale lors d'une version plus large.
Autres projets parallèles dans l'industrie
Solana
La technologie Sealevel de Solana est un élément clé de son architecture blockchain et est conçue pour améliorer les performances des contrats intelligents grâce à une technologie de traitement parallèle. Cette approche est très différente du traitement monothread d'autres plates-formes blockchain, telles que EVM et le runtime basé sur WASM d'EOS, qui traitent un contrat à la fois et modifient l'état de la blockchain de manière séquentielle.
Sealevel permet au runtime Solana de traiter des dizaines de milliers de contrats en parallèle, en utilisant tous les cœurs disponibles pour le validateur. Cette capacité de traitement parallèle est possible car les transactions Solana décrivent explicitement tous les états qui seront lus ou écrits pendant l'exécution, permettant aux transactions sans chevauchement de s'exécuter simultanément, ainsi qu'aux transactions qui lisent uniquement le même état.
Les fonctions principales de Sealevel sont basées sur l'architecture unique de Solana, comprenant des composants tels que la base de données de comptes Cloudbreak et le mécanisme de consensus Proof of History (PoH). Cloudbreak mappe les clés publiques aux comptes, les comptes conservent les soldes et les données, et les programmes (code sans état) gèrent les transitions d'état pour ces comptes.
Les transactions dans Solana sont spécifiées avec un vecteur d'instructions, chaque instruction contenant le programme, les instructions du programme et une liste de comptes sur lesquels la transaction souhaite lire et écrire. Cette interface, inspirée des interfaces de bas niveau du système d'exploitation avec les appareils, permet au SVM de trier des millions de transactions en attente et de planifier toutes les transactions qui ne se chevauchent pas pour un traitement parallèle. De plus, Sealevel peut trier toutes les instructions par ID de programme et exécuter le même programme sur tous les comptes simultanément, un processus similaire à l'optimisation SIMD (Single Instruction Multiple Data) utilisée dans les GPU.
Sealevel pour Solana offre plusieurs avantages, notamment une évolutivité améliorée, une latence réduite, une rentabilité et une sécurité améliorée. Il permet au réseau Solana de gérer un nombre nettement plus élevé de transactions par seconde, de permettre une finalisation quasi instantanée des transactions et de réduire les frais de transaction. Même pendant le traitement parallèle, la sécurité des contrats intelligents est maintenue grâce aux protocoles de sécurité solides de Solana.
Sealevel fait de Solana une puissante plate-forme d'applications décentralisée en permettant un traitement parallèle à grande vitesse et un débit de transaction accru.
Sui
Les fonctionnalités technologiques parallèles de Sui en font une plate-forme blockchain efficace et à haut débit adaptée à une variété d'applications et de cas d'utilisation Web3. Ces caractéristiques distinctives travaillent ensemble pour améliorer l’efficacité et le débit de son réseau :
Composants Narval et Bullshark : Ces deux composants sont cruciaux pour le mécanisme de consensus de Sui. Narwhal sert de pool de mémoire, chargé d'accélérer le traitement des transactions, d'améliorer l'efficacité du réseau et d'assurer la disponibilité des données lorsqu'elles sont soumises à Bullshark (moteur de consensus). Bullshark est chargé de trier les données fournies par Narwhal, en utilisant un mécanisme de tolérance aux pannes byzantin pour vérifier la validité des transactions et distribuer ces transactions sur le réseau.
Modèle de propriété des actifs : dans le réseau Sui, les actifs peuvent être détenus par un seul propriétaire ou partagés par plusieurs propriétaires. Les actifs d'un seul propriétaire peuvent être transférés rapidement et librement sur le réseau, tandis que les actifs partagés doivent être vérifiés via un système de consensus. Ce système de propriété des actifs améliore non seulement l'efficacité du traitement des transactions, mais permet également aux développeurs de créer plusieurs types d'actifs pour leurs applications.
Informatique distribuée : la conception de Sui permet au réseau de faire évoluer les ressources en fonction de la demande, le faisant ainsi fonctionner comme un service cloud. Cela signifie qu'à mesure que la demande pour le réseau Sui augmente, les validateurs de réseau sont en mesure d'ajouter plus de puissance de traitement, de maintenir la stabilité du réseau et de maintenir les frais de gaz à un niveau bas.
Langage de programmation Sui Move : Sui Move est le langage de programmation natif de Sui, conçu pour créer des applications hautes performances, sécurisées et riches en fonctionnalités. Il est basé sur le langage Move et vise à améliorer les défauts du langage de programmation des contrats intelligents, à améliorer la sécurité des contrats intelligents et l'efficacité du travail des programmeurs.
Bloc de transaction programmable (PTB) : un PTB dans Sui est une séquence de transactions complexe et composable qui peut accéder à n'importe quelle fonction Move publique en chaîne dans tous les contrats intelligents. Cette conception offre de solides garanties pour les applications orientées paiement ou finance.
Évolutivité horizontale : l'évolutivité de Sui ne se limite pas au traitement des transactions, mais inclut également le stockage. Cela permet aux développeurs de définir des actifs complexes dotés de propriétés riches et de les stocker directement en chaîne sans avoir à utiliser un stockage indirect hors chaîne pour économiser les frais de gaz.
Carburant
Dans le réseau Fuel, « l'exécution parallèle de transactions » est une technologie clé qui permet au réseau de traiter efficacement de grandes quantités de transactions. Le cœur de cette exécution parallèle est réalisé grâce à l’utilisation de listes d’accès d’état strictes basées sur le modèle UTXO (Unspent Transaction Output). Ce modèle est un élément fondamental du Bitcoin et de nombreuses autres crypto-monnaies.
Fuel introduit la capacité d'exécution de transactions parallèles dans le modèle UTXO. En utilisant des listes d'accès d'état strictes, Fuel est capable de traiter les transactions en parallèle, utilisant ainsi davantage de threads et de cœurs de processeur qui seraient normalement inactifs dans les blockchains à thread unique. De cette manière, Fuel peut fournir plus de puissance de calcul, d'accès à l'état et de débit de transaction qu'une blockchain à thread unique.
Fuel résout le problème de concurrence dans le modèle UTXO. Dans Fuel, au lieu de signer directement UTXO, les utilisateurs signent l'ID du contrat, indiquant leur intention d'interagir avec le contrat. Par conséquent, les utilisateurs ne modifient pas directement l’état, ce qui entraîne la consommation d’UTXO. Au lieu de cela, le producteur du bloc sera responsable de gérer la manière dont les différentes transactions du bloc affectent l'état global et donc le contrat UTXO. Un contrat UTXO consommé crée un nouvel UTXO avec les mêmes caractéristiques de base mais un stockage et un équilibre mis à jour.
Afin de réaliser une exécution de transactions parallèles, Fuel a développé une machine virtuelle spécifique - FuelVM. La conception de FuelVM se concentre sur la réduction du gaspillage dans les architectures de machines virtuelles blockchain traditionnelles tout en offrant aux développeurs un espace de conception plus potentiel. Il intègre des années de leçons apprises de l’écosystème Ethereum et des suggestions d’améliorations qui n’ont pas pu être mises en œuvre sur Ethereum en raison de la nécessité de maintenir la compatibilité avec les versions précédentes.
Appartements
La blockchain Aptos utilise un moteur d'exécution parallèle appelé Block-STM (Software Transaction Memory) pour améliorer sa capacité à traiter les transactions. Cette technologie permet à Aptos d'exécuter des transactions dans un ordre prédéfini au sein de chaque bloc, en attribuant les transactions à différents threads de processeur pendant l'exécution. L'idée principale de cette méthode est d'enregistrer les emplacements mémoire modifiés par les transactions lors de l'exécution de toutes les transactions. Une fois que tous les résultats de la transaction ont été vérifiés, s'il s'avère qu'une transaction a accédé à un emplacement mémoire modifié par une transaction précédente, la transaction sera invalidée. Les transactions interrompues sont ensuite réexécutées et le processus se répète jusqu'à ce que toutes les transactions aient été exécutées.
Contrairement à d'autres moteurs d'exécution parallèle, Block-STM maintient l'atomicité des transactions sans avoir besoin de connaître à l'avance les données à lire/écrire. Cela permet aux développeurs de créer plus facilement des applications hautement parallélisées. Block-STM prend en charge une atomicité plus riche que les autres environnements d'exécution parallèle, qui nécessitent souvent que les opérations soient divisées en plusieurs transactions (rompant l'atomicité logique). Block-STM améliore l'expérience utilisateur en réduisant la latence et en améliorant la rentabilité.
En outre, Aptos adopte également un mécanisme de consensus appelé AptosBFTv4, un protocole BFT pour les blockchains de production qui a fait l'objet d'une vérification stricte de son exactitude. Le protocole optimise la réactivité, offre une faible latence et un débit élevé, et tire pleinement parti du réseau sous-jacent. AptosBFTv4 utilise une conception de pipeline de type processeur pour garantir une utilisation maximale des ressources à chaque étape. Par conséquent, un seul nœud peut participer à de nombreux aspects du consensus, depuis la sélection des transactions à inclure dans un bloc jusqu'à l'exécution d'un autre ensemble de transactions, l'écriture des sorties d'un autre ensemble de transactions dans le stockage et la certification des sorties d'un autre ensemble de transactions. Cela limite le débit uniquement par l'étape la plus lente, plutôt que par la combinaison séquentielle de toutes les étapes.
défi
défi technique
De manière générale, les principaux défis liés à l'adoption d'une approche parallèle ou concurrente sont les problèmes de course aux données, les conflits de lecture et d'écriture ou les problèmes de risque de données. Tous ces termes décrivent le même problème : différents threads ou opérations essayant de lire et de modifier les mêmes données en même temps. La mise en œuvre de systèmes parallèles efficaces et fiables nécessite de résoudre des problèmes techniques complexes, notamment pour garantir une exécution prévisible et sans conflit d'opérations parallèles sur des milliers de nœuds décentralisés. De plus, le défi de la compatibilité technique est de garantir que les nouvelles méthodes de traitement parallèle sont compatibles avec les normes EVM et les codes de contrats intelligents existants.
Adaptabilité des écosystèmes
Les développeurs devront peut-être apprendre de nouveaux outils et méthodes pour maximiser les avantages de l’EVM parallèle. En outre, les utilisateurs doivent également s’adapter aux nouveaux modes d’interaction et fonctionnalités de performance qui pourraient émerger. Cela nécessite que les acteurs de l’ensemble de l’écosystème (y compris les développeurs, les utilisateurs et les prestataires de services) aient une certaine compréhension et une certaine capacité d’adaptation aux nouvelles technologies. Dans le même temps, un écosystème blockchain solide repose non seulement sur ses fonctionnalités techniques, mais également sur un support étendu des développeurs et des applications riches. Pour que les nouvelles technologies telles que l’EVM parallèle réussissent sur le marché, elles doivent établir suffisamment d’effets de réseau pour attirer la participation des développeurs et des utilisateurs.
Complexité accrue du système
L'EVM parallèle nécessite une communication réseau efficace pour prendre en charge la synchronisation des données sur plusieurs nœuds. Les retards du réseau ou les échecs de synchronisation peuvent entraîner un traitement des transactions incohérent, augmentant ainsi la complexité de la conception du système. Pour tirer efficacement parti du traitement parallèle, les systèmes doivent gérer et allouer les ressources informatiques de manière plus intelligente. Cela peut impliquer une répartition dynamique de la charge entre différents nœuds, ainsi que l'optimisation de l'utilisation de la mémoire et du stockage. Le développement de contrats intelligents et d'applications prenant en charge le traitement parallèle est plus complexe que les modèles d'exécution séquentielle traditionnels. Les développeurs doivent prendre en compte les caractéristiques et les limites de l’exécution parallèle, ce qui peut rendre le processus de codage et de débogage plus difficile. Dans un environnement d'exécution parallèle, les vulnérabilités de sécurité peuvent être amplifiées car un problème de sécurité peut affecter plusieurs transactions exécutées en parallèle. Par conséquent, un processus d’audit et de test de sécurité plus rigoureux est nécessaire.
Perspectives d'avenir
L’EVM parallèle a montré un grand potentiel pour améliorer l’évolutivité et l’efficacité de la blockchain. Ces EVM parallèles mentionnés ci-dessus représentent un changement important dans la technologie blockchain et sont conçus pour améliorer les capacités de traitement des transactions en exécutant des transactions simultanément sur plusieurs processeurs. Cette approche rompt avec le traitement séquentiel traditionnel des transactions, permettant un débit plus élevé et une latence plus faible, qui sont essentiels à l'évolutivité et à l'efficacité des réseaux blockchain.
La mise en œuvre réussie d’EVM parallèle repose en grande partie sur la vision et les compétences des développeurs, notamment dans la conception de contrats intelligents et de structures de données. Ces éléments sont essentiels pour déterminer si une transaction peut être exécutée en parallèle. Les développeurs doivent envisager le traitement parallèle dès le début du projet et s'assurer que leurs conceptions permettent à différentes transactions de s'exécuter indépendamment sans interférence.
Parallel EVM maintient également la compatibilité avec l’écosystème Ethereum, ce qui est essentiel pour les développeurs et les utilisateurs déjà impliqués dans les applications basées sur Ethereum. Cette compatibilité garantit une transition et une intégration en douceur des dApps existantes, ce qui constitue un défi pour des systèmes comme DAG car ils nécessitent souvent des modifications importantes des applications existantes.
Le développement d’EVM parallèles est considéré comme une étape clé pour résoudre les limites fondamentales de l’évolutivité de la blockchain. Ces innovations devraient préparer les réseaux blockchain pour l’avenir, leur permettant de répondre aux demandes croissantes et de devenir la pierre angulaire de la prochaine génération d’infrastructure Web3. Même si les EVM parallèles offrent un énorme potentiel, leur mise en œuvre réussie nécessite de surmonter des défis techniques complexes et de garantir une adoption à grande échelle par l’écosystème.