Topics BlockchainCurrent Page

Qu'est-ce qu'une machine virtuelle Ethereum (EVM) ? Guide du débutant

Advanced
Blockchain
Jul 17, 2022
lecture de 15 minutes

Résumé IA

Afficher plus

Survole le contenu de l’article et évalue le sentiment du marché en 30 secondes chrono !

Résumé détaillé

La machine virtuelle Ethereum (EVM) est souvent appelée « le cœur d'Ethereum » — ce qu'elle est exactement. Tout comme le cœur pompe le sang qui distribue l'oxygène et les nutriments dans tout le corps, une EVM offre aux développeurs la possibilité de créer des contrats intelligents et des DApps dans le langage de programmation Solidity. Il est responsable de la majorité des DApps créées aujourd'hui, ce qui le distingue du Bitcoin et des autres registres distribués. Dans cet article, nous allons explorer en profondeur les machines virtuelles Ethereum et analyser ce qu'elles sont, comment elles fonctionnent et leur rôle dans le développement des DApps et l'avancement du Web 3.0.

Qu'est-ce qu'une EVM ?

Une machine virtuelle Ethereum est une plateforme logicielle, ou « ordinateur virtuel », utilisée par les développeurs pour créer des applications décentralisées (DApps), ainsi que pour exécuter et déployer des contrats intelligents sur le système Ethereum.

Que vous soyez un programmeur intéressé par les DApps ou un investisseur désireux d'en savoir plus sur le monde en constante évolution des cryptomonnaies EVM, vous avez probablement déjà entendu parler des machines virtuelles Ethereum. Pour bien comprendre ce qu'est une EVM, il est utile de commencer par se renseigner un peu sur son histoire.

Selon Vitalik Buterin, le créateur d'Ethereum, BitTorrent était la toute première DApp. Bram Cohen a inventé le protocole de partage de fichiers en 2001, et malgré plusieurs tentatives pour le détruire, BitTorrent reste bien vivant.

Pour véritablement stopper BitTorrent, il faudrait éteindre tous les ordinateurs de tous les foyers du monde entier. C'est une machine virtuelle affranchie des contraintes physiques. Il en va de même pour la machine virtuelle Ethereum. La carte EVM élimine le besoin de matériel ultra-performant et constitue une plateforme idéale pour les programmeurs débutants. Toutefois, la connaissance des octets, des piles et des concepts de la blockchain tels que les fonctions de hachage et la preuve de travail est utile pour mieux comprendre le code compatible EVM et la machine virtuelle Ethereum en général.

La machine virtuelle Ethereum a pour but de déterminer l'état de chaque bloc de la blockchain Ethereum. Bien que les EVM soient similaires aux autres réseaux basés sur la blockchain en ce sens qu'ils utilisent un registre distribué pour gérer les bases de données de transactions, ils ajoutent une couche de fonctionnement supplémentaire grâce à leurs capacités de contrats intelligents. Beaucoup désignent cette deuxième couche comme une « machine à états distribuée ».

À quoi sert une machine à voter électronique (EVM) ?

Dans sa forme la plus rudimentaire, une machine virtuelle Ethereum est une vaste base de données servant à stocker tous les comptes et soldes d'Ethereum. Parallèlement, il s'agit également d'un état machine capable d'exécuter du code machine et de changer à chaque nouveau bloc ajouté au registre de la blockchain. Les règles spécifiques qui déterminent comment l'EVM évoluera à chaque nouveau bloc sont en réalité définies par l'EVM elle-même.

En termes plus simples, une machine virtuelle Ethereum est un moteur de traitement et une plateforme logicielle qui fonctionne comme un ordinateur décentralisé. Des applications crypto DeFi et EVM aux jeux et places de marché comme OpenSea, les développeurs utilisent la machine virtuelle Ethereum pour créer des DApps basées sur Ethereum et son langage de programmation compatible EVM, Solidity.

Plus important encore, la machine virtuelle Ethereum est la partie du réseau Ethereum responsable de l'exécution et du déploiement des contrats intelligents. C'est là que vivent et s'épanouissent les contrats intelligents et des millions d'applications décentralisées (DApps) basées sur la blockchain Ethereum.

Considérez la blockchain d'Ethereum comme une structure P2P composée de différents nœuds individuels. Chaque nœud se connecte au suivant, ce qui rend chaque nœud responsable de la sécurité et de la stabilité de l'ensemble de l'écosystème. Pour ce faire et maintenir un consensus sur l'ensemble de la blockchain Ethereum, chaque nœud utilise l'EVM.

Les EVM et leurs similitudes avec les CPU

Pour mieux comprendre le concept de l'EVM, il est utile de revenir aux fondamentaux en réfléchissant au fonctionnement des programmes informatiques. Tous leurs logiciels sont écrits dans un langage de programmation, tel que Java ou C++. Cependant, comme les processeurs ne peuvent pas lire le Java ou le C++, le code est compilé et traduit en bytecode.

Ethereum n'est pas un processeur, mais un réseau mondial distribué avec 100 processeurs exécutant simultanément la machine virtuelle Ethereum (EVM). Cependant, l'EVM fonctionne comme un processeur virtuel ou une « machine » virtuelle s'exécutant au sein du programme Go Ethereum, ou « Geth ».

À l'instar des autres logiciels, les développeurs créent des DApps et écrivent des contrats intelligents dans un langage de programmation. Au lieu de Java ou C++, le langage d'Ethereum s'appelle Solidity. Le code Solidity est compilé en bytecode et distribué à chaque ordinateur (nœud) exécutant Geth sur le réseau.

Lorsqu'un contrat intelligent est déployé, chaque nœud en reçoit une copie, exécute son bytecode et transmet le code à la personne qui a demandé le déploiement, ce qui entraîne un « changement d'état ». Cela signifie que l'état actuel de la blockchain a été modifié, ce qui ne peut se faire qu'avec le consensus de chaque nœud.

Par conséquent, une EVM est souvent qualifiée de « machine à états distribuée ». Il permet de suivre l'état de la blockchain à mesure qu'elle se transforme à chaque transaction.

Comment fonctionnent les machines à voter électroniques (EVM) ?

Si vous avez déjà téléchargé une chanson, un film ou un logiciel via BitTorrent, alors vous savez ce qu'un réseau décentralisé peut faire. Même les autorités les plus puissantes du monde ne peuvent pas le supprimer car cela nécessiterait de mettre hors service tous les ordinateurs connectés au réseau.

L'un des meilleurs moyens de faire évoluer un réseau décentralisé consiste à utiliser des machines virtuelles. Agissant comme une couche intermédiaire entre les machines et le code qu'elles exécutent, les machines virtuelles peuvent être exécutées sur divers matériels et systèmes d'exploitation depuis n'importe où dans le monde.

Les machines virtuelles comme l'EVM fonctionnent de manière similaire aux machines physiques avec des processeurs, de la mémoire et du stockage, mais elles ne fonctionnent qu'avec du code. En théorie, n'importe qui peut exécuter une machine virtuelle, ce qui lui confère la flexibilité et la portabilité dont les réseaux décentralisés ont besoin.

La machine virtuelle Ethereum utilise un réseau nodal décentralisé pour exécuter des contrats intelligents. Il s'agit d'une pile virtuelle dynamique et isolée, intégrée à chaque nœud Ethereum pour exécuter le bytecode des contrats intelligents compatibles EVM.

Contrats intelligents, nœuds et P2P

Lorsqu'on s'intéresse aux EVM et à leur rôle dans le domaine des cryptomonnaies, notamment dans le cadre des prêts DeFi, il faut garder à l'esprit que les contrats intelligents sont écrits en Solidity et dans d'autres langages de haut niveau, puis traduits en bytecode et compilés pour l'EVM. Cela signifie que le code machine est isolé du système de fichiers, des processus et du réseau de l'ordinateur hôte.

Dans le réseau Ethereum, chaque nœud doit être en accord avec le nœud suivant pour exécuter les mêmes instructions. Cela rend la machine virtuelle Ethereum Turing-complète, ce qui signifie qu'elle peut effectuer des étapes logiques pour une fonction de calcul.

À chaque instruction implémentée par l'EVM est associé un coût, permettant au système de suivre les coûts d'exécution. Le coût des transactions cryptographiques EVM et de l'exécution d'autres instructions est mesuré en unités compatibles EVM appelées « gas ».

En permettant une économie basée sur la facturation des instructions exécutées plutôt que des transactions financières exécutées, comme le Bitcoin, la complétude de Turing est atteinte. Cela signifie que la machine virtuelle Ethereum est un ordinateur pair-à-pair, connecté à l'échelle mondiale, capable de créer des contrats intelligents, des événements de financement participatif P2P, des économies de partage de fichiers et bien plus encore.

À l'instar d'Internet au début des années 1990, l'avenir est à portée de main.

Codes d'opération

À l'heure actuelle, une machine virtuelle EVM peut exécuter environ 150 opcodes différents. Alors, que sont exactement les opcodes — et pourquoi sont-ils importants pour comprendre les EVM ?

La machine virtuelle Ethereum est qualifiée de Turing-complète en grande partie en raison de sa capacité à exécuter des instructions de niveau machine appelées opcodes.

Les opcodes compatibles EVM aident l'EVM à accomplir des tâches spécifiques liées aux transactions cryptographiques ou aux contrats intelligents EVM. Cependant, les codes d'opération sont utilisés pour diverses opérations, allant de l'arithmétique et de l'enregistrement de données à la mémoire et à la récupération d'informations sur les blocs.

Cela dit, les codes d'opération ne sont pas écrits directement dans une EVM. Grâce à leur capacité à permettre aux développeurs de créer et d'interagir facilement avec des contrats intelligents, les EVM sont écrites dans le langage de programmation Solidity. Cependant, ce langage natif doit être converti en opcode pour qu'une EVM puisse l'interpréter.

Chaque code d'opération se voit attribuer un octet. Cela signifie qu'un maximum de 256 opcodes peuvent être utilisés.

Contrats intelligents

Pour comprendre ce qu'est une EVM, une connaissance de base des contrats intelligents et de leur rôle dans la crypto-monnaie EVM, la DeFi et d'autres fonctions blockchain est nécessaire.

Parfois appelés « applications de l'EVM », les contrats intelligents sont des lignes de code compatibles avec l'EVM utilisées par les parties pour effectuer des transactions entre elles sans l'intervention d'un tiers ni l'ingérence des autorités centrales.

Chaque contrat intelligent contient une liste définie d'opérations qui doivent être exécutées lorsque certaines conditions, sur ou hors chaîne, sont remplies. Ces opérations peuvent aller du transfert de fonds vers certaines adresses à la création de nouveaux contrats intelligents et à la communication entre les contrats existants. Au lieu de nécessiter l'intervention d'un tiers, n'importe qui peut envoyer des fonds à une adresse de contrat intelligent pour déclencher ces opérations.

Ethereum a repris le concept du Bitcoin et l'a considérablement amélioré en permettant aux développeurs de créer des contrats intelligents sur sa blockchain. L'étape suivante consistait à créer un environnement où les contrats intelligents pourraient exister et interagir entre eux. C’est là qu’intervient la machine virtuelle Ethereum.

L'EVM combine les ressources non pas d'un seul, mais de milliers de processeurs connectés au réseau Ethereum. En plus de vérifier les transactions, il traduit le code d'opération des contrats intelligents écrits en Solidity en bytecode, afin que les instructions puissent être lues et les opérations exécutées. Pour cette dernière étape, il vous faut de l'essence.

Gaz



Le gaz est le carburant qui alimente la machine virtuelle Ethereum. Que vous transfériez des cryptomonnaies EVM ou que vous investissiez dans un NFT, des frais de gaz sont nécessaires pour payer l'exécution de l'opération. Le gaz sert de frais de calcul nécessaires à l'exécution des contrats intelligents.



Chaque opcode se voit attribuer un coût en gaz. Plus le code d'opération est complexe, plus les frais de gaz sont élevés. Actuellement, le coût initial de chaque transaction est de 21 000 unités de gaz.

Les frais de gaz servent à rémunérer les validateurs chargés de vérifier la validité des informations de transaction et de s'assurer qu'il n'y a pas d'exceptions ou d'erreurs de la part de l'EVM.

Plus important encore, les frais de gaz contribuent à prévenir les attaques DDoS et à sécuriser le réseau. Étant donné que le déploiement à grande échelle de contrats complexes nécessiterait des calculs longs et coûteux, les attaquants sont financièrement dissuadés de toute tentative malveillante. L'attaque serait tout simplement trop coûteuse à mener.

Que sont les blockchains compatibles avec EVM ?

L'interopérabilité entre les blockchains s'est avérée être un problème important. Face aux problèmes persistants d'Ethereum — tels que les frais de gaz élevés et la lenteur des transactions —, les développeurs ont commencé à créer des DApps et des contrats intelligents basés sur d'autres blockchains sans autorisation afin d'offrir des transactions plus rapides et des frais de gaz moins élevés. Malheureusement, bon nombre de ces blockchains sont fortement limitées et manquent d'interopérabilité avec d'autres blockchains.

Les blockchains compatibles avec l'EVM se sont révélées être un moyen simple de résoudre ce problème. Plutôt que de repartir de zéro et de créer un environnement similaire à celui des EVM via l'utilisation de ponts inter-chaînes, les développeurs peuvent copier certaines parties du réseau Ethereum et créer des DApps qui permettent aux utilisateurs de transférer rapidement et facilement des actifs entre n'importe quels réseaux EVM.

Grâce à cette interopérabilité, bon nombre des blockchains les plus utilisées aujourd'hui suivent ce modèle compatible EVM. On peut citer parmi les plus grands noms de l'écosystème crypto EVM :

Binance Smart Chain

Avalanche

Fantom

Cardano

Polygon

Tron

Quelles que soient vos raisons de vouloir comprendre les EVM, il est important de savoir que toutes ces chaînes latérales sont compatibles avec les EVM.  Elles offrent tous les avantages et la portée de la blockchain Ethereum, mais avec des vitesses plus rapides, une capacité supérieure et des coûts de transaction inférieurs.

En fin de compte, lorsqu'on parle de blockchains compatibles avec l'EVM, tout se résume à l'optimisation et à la création de la meilleure expérience utilisateur décentralisée possible. Cela dit, il existe aussi d'autres avantages.

Interopérabilité de l'écosystème Ethereum

L'un des principaux avantages des EVM réside dans leur interopérabilité au sein de l'écosystème Ethereum. Ethereum est la blockchain la plus utilisée au monde. Grâce à la machine virtuelle Ethereum, les DApps basées sur la blockchain Ethereum peuvent communiquer et interagir entre elles, ce qui permet une expérience utilisateur plus rapide et plus fluide.

L'utilisation de ponts blockchain permet d'assurer l'interopérabilité entre les blockchains. Les utilisateurs peuvent envoyer librement des ressources entre les réseaux EVM, d'une application décentralisée à l'autre.

Facile pour les Dapps d'être portées

Les machines virtuelles Ethereum facilitent la migration et l'extension des DApps vers de nouvelles chaînes sans avoir à réécrire le moindre code. L'utilisation d'un autre type de machine virtuelle, comme Move-VM ou Wasm, nécessite plus de ressources et rend le portage des DApps beaucoup plus difficile.

Faible barrière à l'entrée pour les développeurs Ethereum

L'EVM offre également une entrée facile pour les développeurs Ethereum. Il n'y a pas lieu de s'inquiéter de la nature des EVM, ni de la compatibilité de leur code avec les EVM. Il n'est pas non plus nécessaire d'apprendre d'autres langages de programmation, car les développeurs peuvent utiliser des outils Ethereum familiers tels que Waffle et MetaMask.

Cas d'utilisation de l'EVM

Maintenant que nous avons passé en revue ce qu'est une EVM et comment elle fonctionne, examinons comment tous ces éléments s'articulent pour alimenter la cryptomonnaie EVM et d'autres projets basés sur Ethereum.

Jetons ERC-20

Plusieurs DApps et projets Ethereum incitent les utilisateurs avec des jetons ERC-20, spécialement conçus pour être facilement transférés entre adresses et conserver la même valeur sur l'ensemble du réseau.

Les jetons ERC-20 sont créés par des contrats intelligents suivant des structures de données définies. Cette structure de données est responsable du nommage, de la distribution et du suivi du jeton.

Ces jetons sont utilisés pour bien plus que la cryptomonnaie EVM. Nexus Mutual, qui propose des assurances sur contrats intelligents, utilise le jeton NXM ERC-20 pour permettre aux utilisateurs de faire des réclamations et de souscrire une couverture. Livepeer enest un autre exemple. Bien que ce ne soit pas exactement l'exemple le plus populaire lorsqu'on parle de machines virtuelles électroniques (EVM), ce réseau de diffusion vidéo décentralisé utilise le jeton ERC-20 Livepeer pour inciter les utilisateurs à fournir des ressources au réseau. Ce ne sont là que deux des nombreuses DApps qui gèrent les jetons ERC-20.

AMM et DEX

Les plateformes d'échange décentralisées (DEX) permettent l'échange de jetons ERC-20 grâce au déploiement de contrats intelligents. Ces contrats intelligents permettent aux utilisateurs d'accéder aux pools de liquidités des jetons sans intervention de tiers, ce qui leur confère le titre de teneurs de marché automatisés (AMM). SushiSwap, Uniswap et plusieurs autres plateformes d'échange populaires sont en réalité des applications de ce modèle AMM décentralisé.

Création de NFT

Un autre jeton très populaire est le jeton non fongible ERC-721. Les contrats intelligents utilisant ce jeton sont fréquemment utilisés pour créer des jetons non fongibles (NFT), qui sont des jetons possédant une valeur unique sur la blockchain Ethereum.

Impensable il y a quelques années, un simple bout de code a désormais le pouvoir de démocratiser l'accès virtuel aux marchés de l'art. Des jeux comme Gods Unchained et Axie Infinity utilisent également ces jetons pour les objets et les éléments à collectionner du jeu.

Prêts DeFi



AdaSwap est une plateforme d'échange décentralisée basée sur Cardano avec un AMM. Récemment, elle a annoncé une collaboration avec Milkomeda. En utilisant des solutions de couche 2 pour une chaîne latérale, Milkomeda assure la compatibilité avec les blockchains non-EVM comme Cardano EVM. Grâce à cette chaîne latérale, les utilisateurs peuvent transférer des actifs et exécuter des DApps Cardano sur Ethereum, et vice versa.



AdaSwap et Milkomeda utilisent cette collaboration pour intégrer les machines virtuelles Ethereum à l'écosystème Cardano. Plusieurs autres plateformes DeFi suivent l'exemple de Cardano.

DAO

La machine virtuelle Ethereum est gouvernée par une organisation autonome décentralisée, ou DAO. Une DAO est une entité communautaire dépourvue d'autorité centrale. Cela donne à la communauté le contrôle du réseau.

Les DAO ne sont pas seulement entièrement autonomes, elles sont également transparentes. Les contrats intelligents définissent les règles et exécutent les décisions en fonction d'instructions écrites dans le code, mais à tout moment, des votes et des propositions peuvent être faits par consensus. Le code lui-même peut même être soumis à un audit public.



En définitive, les DAO sont entièrement gouvernées par leurs membres individuels qui prennent collectivement les décisions critiques concernant le projet. Les règles d'une DAO sont établies par les membres principaux de la communauté et mises en œuvre par le biais de contrats intelligents. Comme ces éléments sont visibles, vérifiables et soumis à un audit public, chaque membre de la DAO peut comprendre le fonctionnement du protocole à chaque étape.

Limitations de l'EVM

Pour comprendre ce qu'est une machine à voter électronique (EVM), il est important de prendre en compte à la fois ses avantages et ses inconvénients. Malgré ses nombreux avantages, la technologie EVM présente également certaines limitations. Tout d'abord, l'utilisation d'une machine virtuelle Ethereum requiert un certain niveau d'expérience technique. La connaissance de Solidity, Java et d'autres langages de programmation est indispensable.

Deuxièmement, les machines à voter électroniques sont tristement célèbres pour leurs frais de gaz élevés. Aussi performante soit-elle, une machine virtuelle électronique (EVM) ne peut échapper à sa propre popularité et à la congestion des données qui en découle, ce qui entraîne des frais de transaction plus élevés que pour les autres chaînes.

Enfin, la machine virtuelle Ethereum n'est pas entièrement décentralisée. En réalité, environ 25 % des nœuds Ethereum fonctionnent sur Amazon Web Services. Si AWS subissait une panne majeure ou interrompait ses services, les EVM et les DApps qu'elles alimentent seraient sensiblement affectées.

L'avenir des machines à voter électroniques

En ce qui concerne la blockchain Ethereum et les machines virtuelles électroniques (EVM), nous n'en sommes qu'au début. Dans un avenir proche, la vitesse, la complexité et les capacités de la machine virtuelle Ethereum ne feront qu'augmenter, un peu comme les PC des années 1990 ont évolué pour devenir les centrales informatiques que nous utilisons aujourd'hui.

Cela dit, les machines à voter électroniques ne sont pas parfaites. Les difficultés liées au débit du réseau et à la vitesse des transactions continuent de constituer un problème majeur pour le système. Actuellement, ces problèmes sont au cœur des préoccupations de la communauté de développement d'Ethereum, et leur résolution constitue une feuille de route pour la pérennité et le succès d'Ethereum.

Si Ethereum veut tenir sa promesse de révolutionner notre façon d'interagir et d'effectuer des transactions, ce sera grâce aux améliorations apportées à la machine virtuelle Ethereum (EVM).

Conclusion

Dans cet article, nous avons parcouru la machine virtuelle Ethereum, exploré l'exécution des contrats intelligents et examiné comment les EVM exécutent le bytecode. Nous avons également abordé le sujet de gGas, le mécanisme de comptabilité des EVM, et expliqué comment il facilite les transactions et protège Ethereum contre les attaques DDoS. En définitive, les EVM sont le cœur et l'âme du déploiement et de l'exécution des contrats intelligents. Comprendre en profondeur la machine virtuelle Ethereum est essentiel, voire indispensable, pour quiconque souhaite développer des DApps et plonger dans notre futur monde décentralisé.

Recevez votre dose quotidienne d'informations sur les crypto et le trading.

Pas de spams. Seulement du contenu agréable et des mises à jour de l'industrie dans l'espace crypto.

    roadmap