

Le calcul parallèle s’impose comme une innovation majeure dans le secteur blockchain, l’exécution parallèle de l’EVM constituant un tournant dans l’optimisation des performances. Depuis ses débuts, Parallelized EVM s’est perfectionné au fil de plusieurs versions, concrétisant des progrès déterminants dans la recherche sur la scalabilité des blockchains.
Le développement du Parallelized EVM répond à une nécessité opérationnelle. Les réseaux blockchain à haute performance sont confrontés à des pics de trafic, révélant l’urgence d’optimiser les performances. Cette demande continue illustre les limites du modèle séquentiel de traitement des transactions, ce qui a motivé l’intégration de capacités d’exécution parallèle sur les réseaux compatibles.
Le projet Parallelized EVM a évolué par étapes successives, chaque phase capitalisant sur les acquis des précédentes.
La première phase, lancée à la mi-décembre 2021, s’est déroulée sur trois mois, englobant conception, implémentation, ajustements et tests approfondis. Cette étape fondatrice a posé l’architecture et le workflow servant de socle à tous les développements futurs de Parallelized EVM.
Sur la base de la Phase 1.0, la phase d’optimisation a débuté en avril 2022 et s’est poursuivie pendant environ deux mois. Elle a apporté une version enrichie de performances, intégrant des optimisations et de nouveaux modules pour améliorer nettement l’efficacité du traitement des transactions au sein de l’écosystème Parallelized EVM.
Les phases suivantes visent à étendre les fonctions d’exécution parallèle au mode validateur, marquant une nouvelle étape dans l’évolution de l’architecture Parallelized EVM. La complexité technique de la validation parallèle nécessite un raffinement méthodique de l’approche avant déploiement.
L’architecture Parallelized EVM s’appuie sur des principes d’ingénierie avancés pour maximiser le débit tout en assurant la stabilité du système. Cette approche révolutionne le traitement des transactions sur la blockchain via une exécution simultanée, maîtrisée et sécurisée.
Parallelized EVM accélère le traitement des blocs en exécutant les transactions en parallèle, contrairement au modèle séquentiel. Le système repose sur deux éléments clés : le Dispatcher et les Slots. Au lancement, un nombre défini de slots est créé, chacun recevant des transactions du dispatcher et les exécutant simultanément. Les transactions affectées à un même slot respectent l’ordre séquentiel, garantissant la cohérence. Le dispatcher répartit dynamiquement les transactions, optimisant le taux de conflits et l’équilibrage de la charge sur l’ensemble des slots.
L’architecture Parallelized EVM regroupe plusieurs modules interconnectés, œuvrant de concert pour garantir une exécution parallèle efficiente tout en préservant l’intégrité du registre blockchain.
Le traitement des transactions s’articule en deux phases : l’Execution Stage et le Finalize Stage. Lors de l’Execution Stage, l’exécution EVM s’effectue sans validation immédiate ; les transactions peuvent être rejouées pour obtenir un résultat valide. Une fois validé, le Finalize Stage engage le résultat et intègre définitivement toutes les modifications dans la StateDB de base, assurant la finalité du traitement.
Le Dispatcher orchestre la préparation, la distribution et la consolidation des résultats de transaction. Les versions avancées proposent des mécanismes statiques et dynamiques. Le dispatch statique intervient au démarrage du bloc, orientant les transactions conflictuelles vers le même slot tout en équilibrant la charge. Le dispatch dynamique s’adapte à l’exécution, avec un mode "theft" permettant aux slots inactifs de récupérer des transactions depuis les slots saturés, optimisant ainsi l’utilisation des ressources et le débit.
Ce dispositif sophistiqué permet aux transactions d’accéder à l’état selon une hiérarchie de priorité : Self Dirty (état modifié par la transaction), UnConfirmed Dirty (état modifié par des transactions non confirmées), Base StateDB (état validé et enregistré). Ce modèle optimise l’accès à l’état tout en garantissant la fiabilité à chaque étape d’exécution.
Les transactions blockchain sont intrinsèquement dépendantes des états précédents lors de l’accès à l’état global, rendant la détection des conflits indispensable. Les premières versions utilisaient la politique DirtyRead pour marquer les transactions conflictuelles. Les évolutions successives ont introduit une détection basée sur la lecture, avec enregistrement précis des accès et comparaison à la StateDB de base pour plus de justesse. Le système intègre également la détection anticipée ("Detect In Advance") et la détection parallèle des conflits KV pour améliorer la fluidité et limiter les goulots d’étranglement.
Le module Merger regroupe les résultats validés au sein de la StateDB de base, tout en assurant la sécurité concurrentielle via un accès réservé au dispatcher. Cette architecture prévient les conflits de données et garantit l’engagement atomique des états.
Les premières versions allouaient un nouvel instantané StateDB pour chaque transaction (62 Ko par copie), entraînant de fréquentes collectes de mémoire. Les versions optimisées ont introduit un pool mémoire pour recycler les objets StateDB de façon asynchrone, réduisant la consommation. LightCopy a remplacé la copie profonde, évitant la duplication superflue des éléments de stockage et maintenant les références pour soutenir le modèle UnConfirmed State Access.
Le traitement des transactions s’organise en trois étapes : le Pre-Stage (préparation, affectation du thread, initialisation de la StateDB), le RT-Stage (exécution en temps réel et accès à l’état global), le Post-Stage (détection des conflits, reprogrammation en cas de conflit et engagement des résultats valides). Les versions ultérieures ont optimisé ce cycle en supprimant le dispatch préalable, en transférant la création de StateDB sur des threads parallèles, en remplaçant CopyOnWrite par UnconfirmedAccess et en centralisant les opérations ConflictDetect et Finalize sur le thread du dispatcher.
Le Streaming Pipeline marque une avancée majeure pour Parallelized EVM, supprimant presque entièrement les attentes de synchronisation. Chaque slot principal dispose d’un slot "shadow" en secours, permettant de reprogrammer rapidement les exécutions. Les transactions ne sont plus suspendues en attente de finalisation ; elles mettent en file les résultats et poursuivent le traitement, assurant un flux continu et rehaussant fortement l’efficacité du pipeline. Ce modèle fait passer l’exécution de lots synchronisés à un traitement fluide et ininterrompu.
Des tests approfondis ont confirmé l’efficacité de Parallelized EVM. Des scénarios comparables ont évalué la performance en temps réel avec plusieurs slots parallèles et l’activation du commit pipeline sur des périodes prolongées. Le coût total de traitement des blocs (exécution, validation, engagement) a diminué de 20 à 50 %, selon les configurations de blocs. Ces résultats attestent que l’exécution parallèle accroît sensiblement le débit et la réactivité des blockchains.
Parallelized EVM constitue une avancée majeure dans l’optimisation des performances blockchain, relevant le défi du traitement simultané des transactions sur les chaînes compatibles Ethereum. Grâce à une architecture sophistiquée mêlant dispatch dynamique, détection avancée des conflits, pipelines streaming et optimisation mémoire, Parallelized EVM démontre que l’exécution parallèle procure des gains significatifs tout en préservant la stabilité et la cohérence du système. La réduction de 20 à 50 % du temps de traitement valide cette approche, positionnant Parallelized EVM comme une solution prometteuse pour la scalabilité blockchain. Les développements à venir étendront ces capacités au mode validateur, libérant pleinement le potentiel du traitement parallèle pour les registres distribués.
Le Parallel EVM est une architecture blockchain qui permet à plusieurs instances de la machine virtuelle Ethereum de traiter simultanément transactions et smart contracts, plutôt que de façon séquentielle. Cela améliore la scalabilité et le débit des transactions tout en maintenant la compatibilité EVM pour les développeurs.
Une EVM est une machine virtuelle qui exécute des smart contracts sur les réseaux blockchain. Elle traite les transactions et fait fonctionner les applications décentralisées selon des règles prédéfinies, constituant le moteur de calcul des plateformes blockchain.
Une blockchain parallèle est un registre indépendant fonctionnant en parallèle d’autres blockchains, offrant des fonctionnalités telles que des marchés monétaires inter-chaînes et le staking à effet de levier pour la finance décentralisée.
Parallelized EVM exécute simultanément plusieurs transactions non conflictuelles via des instances parallèles, permettant un traitement concurrent au lieu du modèle séquentiel. Cela accroît fortement le débit des transactions et réduit les délais de bloc, améliorant la scalabilité et l’efficacité globale du réseau blockchain.
Le Parallel EVM traite plusieurs transactions en simultané, contrairement au traitement séquentiel, ce qui augmente nettement le débit et réduit la latence. Cela permet une finalité plus rapide, une capacité renforcée et une expérience utilisateur optimisée, tout en garantissant la compatibilité EVM pour la migration transparente des dApp.
Les principaux défis concernent la cohérence des données en exécution parallèle, l’optimisation de l’accès à l’état et la détection des conflits de transaction. Des solutions telles que le contrôle de concurrence optimiste et les bases de données parallèles permettent de relever ces enjeux.











