L’EVM est une machine virtuelle utilisée par tous les nœuds du réseau Ethereum. Elle exécute et valide les contrats intelligents, assurant la cohérence des données entre les nœuds et maintenant la décentralisation du réseau.
Tout comme le réseau Bitcoin où les mineurs valident les transactions, le réseau Ethereum a besoin de nœuds pour valider les contrats intelligents, car toutes les opérations sur Ethereum, comme les prêts/emprunts, l’envoi/la réception de jetons, etc., passent par des contrats intelligents. Par conséquent, tous les nœuds d’Ethereum doivent exécuter une EVM pour participer au processus de validation et recevoir des récompenses en ETH.
Sur le réseau Ethereum, l’EVM agit comme un bac à sable, un espace isolé pour effectuer des tests, exécuter du code sans affecter le réseau externe. La machine virtuelle EVM est complètement isolée du réseau Ethereum, garantissant que le processus de validation des nœuds n’affecte pas le fonctionnement du réseau.
L’EVM peut être considérée comme le cœur du réseau Ethereum.
De plus, les réseaux compatibles avec l’EVM déploient des contrats intelligents utilisant le même langage qu’Ethereum : Solidity. Ces réseaux nécessitent donc une machine virtuelle capable de valider Solidity, c’est-à-dire l’EVM.
Ainsi, une blockchain EVM est un réseau utilisant le même langage de contrat intelligent et la même EVM qu’Ethereum.
Fonctionnement de l’EVM
Le terme « grand livre distribué » est utilisé dans des réseaux comme Bitcoin pour décrire les règles permettant au réseau de fonctionner de manière sécurisée et sans problème.
Cependant, le réseau Ethereum possède une fonctionnalité contribuant au développement de son écosystème : les contrats intelligents.
Par conséquent, le terme « grand livre distribué » ne s’applique pas à Ethereum. On utilise plutôt le terme plus complexe de « machine à états distribuée ».
Pour simplifier, l’état d’Ethereum est un ensemble de données sur le réseau. Cet état est mis à jour à chaque ajout d’un bloc au réseau.
Ethereum peut modifier l’état d’un bloc à l’autre tant que cela respecte les règles du réseau, comme Bitcoin. Ces règles sont définies par l’EVM.
Les états du réseau, comme le gas, les données, etc., se trouvent dans l’EVM.
De plus, les contrats intelligents d’Ethereum étant écrits en Solidity, l’EVM convertit ce langage de programmation en bytecode.
Le bytecode est un code machine contenant des opcodes (codes d’opération) que le réseau Ethereum peut comprendre et exécuter directement.
Qu’est-ce qu’une blockchain EVM?
Une blockchain EVM est un réseau utilisant la machine virtuelle EVM et des contrats intelligents écrits en Solidity.
Les développeurs de dApps et de blockchains gagnent du temps grâce à la similarité du langage de programmation. Ils peuvent ainsi facilement créer des dApps interopérables et connectées à plusieurs blockchains EVM.
Pourquoi tant de développeurs souhaitent-ils créer des blockchains compatibles avec l’EVM?
Parce qu’Ethereum possède le plus grand écosystème du marché crypto, avec environ 2 milliards de dollars de transactions quotidiennes et une TVL (Total Value Locked) ayant atteint 108 milliards de dollars, soit 65 % de la TVL du marché DeFi.
Une blockchain ou une dApp compatible avec l’EVM peut se connecter plus facilement à l’écosystème florissant d’Ethereum qu’une blockchain non-EVM.
Avantages des blockchains EVM
Pour les utilisateurs:
L’utilisation de blockchains compatibles avec l’EVM présente les avantages suivants :
- Familiarité : La plupart des réseaux compatibles avec l’EVM offrent une expérience et une interface similaires. Les interactions avec les dApps, l’approbation des jetons et la signature des transactions sont similaires à celles d’Ethereum.
- Nouveaux outils et produits : La familiarité des utilisateurs avec l’interface des réseaux EVM permet l’émergence de nouvelles blockchains EVM offrant de nouveaux outils et produits. Les utilisateurs disposent ainsi d’un choix plus large pour leurs activités financières sur différents réseaux.
Pour les développeurs:
- Prise en main rapide : Les outils et le langage de développement des dApps sont similaires sur les réseaux EVM, simplifiant le travail des développeurs qui peuvent créer des dApps sur plusieurs réseaux EVM.
- Visibilité accrue : Les dApps populaires sur certains écosystèmes peuvent facilement s’étendre aux blockchains compatibles avec l’EVM, augmentant ainsi leur visibilité.
Inconvénients des blockchains EVM
Malgré ses nombreux avantages et son rôle essentiel dans le réseau Ethereum, l’EVM présente des inconvénients.
Voici quelques inconvénients des blockchains EVM :
Risque de piratage:
L’EVM permet aux dApps de se déployer sur plusieurs blockchains. Mais lorsqu’une dApp subit une attaque inter-chaînes, comme Poly Network en août 2021, les conséquences peuvent être importantes pour une dApp multi-réseaux et même affecter les écosystèmes.
De plus, les réseaux EVM utilisant tous Solidity, les attaques par des pirates connaissant ce langage et exploitant ses failles sont fréquentes.
Audit de nombreux contrats intelligents sur plusieurs blockchains:
L’adoption de l’EVM pour une blockchain ou le développement d’une dApp sur une blockchain EVM permet de viser l’expansion et la connexion à d’autres écosystèmes EVM. Cependant, chaque blockchain nécessite des audits distincts et coûteux.
Frais de transaction élevés:
Sur les blockchains EVM, les frais de gas sont souvent élevés lorsque le nombre de transactions ou de données sur le réseau augmente. Sur Ethereum, les frais de transaction peuvent atteindre 7 à 10 dollars lorsque le réseau est peu actif, et sur des réseaux comme Avalanche ou Starknet, ils se situent entre 1 et 2 dollars.
Qu’est-ce qu’une blockchain non-EVM?
Une blockchain non-EVM est un réseau incompatible avec l’EVM. Ces réseaux utilisent un langage de programmation différent pour les contrats intelligents. Par exemple, Solana utilise Rust et C++, Cardano utilise Haskell/Plutus, etc.
En raison de ces langages différents, les réseaux EVM et non-EVM ne peuvent pas interagir.
Avantages des blockchains non-EVM
Ethereum a été l’un des premiers réseaux à utiliser des contrats intelligents avec l’EVM. Les générations suivantes, comme Solana, Sui, Aptos, etc., ont choisi de modifier le langage de programmation de l’EVM. Ces réseaux offrent des performances, une vitesse et une évolutivité supérieures aux blockchains EVM.
Inconvénients des blockchains non-EVM
Malgré leurs performances et leurs faibles frais de transaction, les blockchains non-EVM ne peuvent pas s’étendre aux réseaux EVM.
Relation entre les frais de gas et l’EVM
Selon le livre jaune d’Ethereum de Gavin Wood, l’EVM est quasi Turing complete, car sa seule limite est sa capacité de calcul dépendante du gas.
Le gas représente le coût de calcul et l’EVM est responsable de ces calculs. Les autres réseaux EVM utilisent un mécanisme de calcul similaire à celui d’Ethereum. Plus une transaction est complexe, plus l’utilisateur doit payer de gas pour que l’EVM l’exécute.
De plus, les utilisateurs de portefeuilles Web3 connaissent la « limite de gas », qui est la quantité maximale de gas que l’EVM utilisera pour calculer une transaction. Une transaction standard nécessite au moins 21 000 unités de gas. Une limite de gas plus élevée accélère le calcul de la transaction par l’EVM.