La machine virtuelle Ethereum, ou EVM, est une machine à états distribuée qui permet aux utilisateurs d'encombrer l'exécution de code au traitement d'une transaction. Cela permet aux utilisateurs de définir des conditions de dépenses complexes et des interactions utilisateur qui n'auraient pas été possibles dans un simple réseau de paiement. L'EVM est ce qui active et exécute les contrats intelligents sur Ethereum, et est maintenu par les nœuds Ethereum.

Chaque nœud Ethereum conserve sa propre copie de l'EVM, et l'état canonique ou « correct » de l'EVM est généralement déterminé par consensus majoritaire entre les nœuds. Cette construction conserve la nature décentralisée des blockchains tout en ouvrant la porte à des activités sur la chaîne beaucoup plus complexes que de simples transactions peer-to-peer.

Bien que l'EVM ne soit pas le seul mécanisme pouvant créer une blockchain programmable, il a dominé le monde des contrats intelligents depuis sa création. Lors de la sortie d'Ethereum, le langage de contrat intelligent Solidity a été créé pour fournir un langage plus lisible et auditable pour les développeurs afin d'écrire des contrats EVM. Ne pas utiliser un langage de niveau supérieur comme Solidity forcerait les développeurs à construire manuellement des contrats à partir de bytecode, ce qui est plus sujet aux erreurs et plus difficile à auditer. Malgré la création d'une multitude de nouveaux outils et compilateurs utilisés pour interagir avec l'EVM, Solidity reste le langage le plus largement utilisé pour écrire des contrats EVM.

Que signifie être compatible avec l'EVM ?

Bien qu'Ethereum ait été la première blockchain à introduire l'EVM, il existe maintenant de nombreuses autres blockchains qui utilisent le VM d'Ethereum pour implémenter le support des contrats intelligents.

Une VM de blockchain est considérée comme compatible avec l'EVM si elle contient les mêmes opcodes que l'EVM. Si tous les opcodes de l'EVM peuvent être exécutés, alors tout langage qui n'utilise que les opcodes de l'EVM peut également être utilisé pour créer des contrats intelligents et interagir avec toute autre blockchain compatible avec l'EVM.

En pratique, cela signifie que les mêmes applications peuvent être déployées sur n'importe quelle chaîne compatible avec l'EVM, sans modifications excessives (ou souvent aucune) du flux ou du code. Certaines chaînes compatibles avec l'EVM, comme Quai Network, utilisent plusieurs EVM interconnectés et fonctionnant simultanément pour offrir des interactions de contrat à moindre coût et des modifications d'état.

Fait intéressant, une blockchain ne doit pas nécessairement être compatible avec l'EVM pour être compatible avec Solidity. Une VM qui prend en charge l'ensemble des instructions de l'EVM sans modification est compatible avec l'EVM, mais une VM qui n'est pas compatible avec l'EVM peut quand même être ciblée par Solidity. Une machine virtuelle basée sur Web Assembly (WASM), par exemple, peut être compatible avec Solidity tant qu'elle offre un mécanisme pour compiler Solidity dans le bytecode de la nouvelle VM. La distinction entre compatibilité EVM et non-compatibilité EVM peut être vue dans le bytecode — le bytecode brut des contrats peut être copié-collé entre des chaînes compatibles avec l'EVM et être utilisable, tandis que le même code serait inutilisable dans une chaîne non compatible avec l'EVM.

Certaines alternatives à l'EVM incluent l'LLVM (utilisé pour compiler en bytecode Solana) et l'IELE (utilisé par Cardano), qui ont cultivé de jeunes communautés de développeurs mais sont encore éclipsées par la popularité de l'EVM.

Quels sont les avantages d'être compatible avec l'EVM ?

Les blockchains et les Layer 2 compatibles avec l'EVM maintiennent les plus grandes communautés de développeurs et d'utilisateurs actifs. En raison de la popularité existante de l'EVM et de son ensemble d'opcodes diversifié, la grande majorité des contrats intelligents et des applications décentralisées sont écrits pour et déployés sur une chaîne compatible avec l'EVM.

Avec une communauté de développeurs aussi robuste, le processus de construction pour l'EVM a été largement documenté et affiné par un ensemble d'individus distribués et très divers. Une longue histoire d'applications EVM réussies (et non réussies) a jeté les bases d'un environnement de développement sécurisé et bien compris.

Les langages utilisés pour développer sur l'EVM peuvent être complexes, mais compensent cette complexité par leur capacité à satisfaire presque toutes les demandes imaginables en raison de la complétude de Turing de l'EVM. Les VMs complètes de Turing présentent cependant le risque de boucles infinies, qui peuvent être évitées grâce à un audit minutieux et à une vérification du code des contrats intelligents.

L'aspect le plus précieux de l'EVM est sa communauté et sa documentation. Des milliers de ressources, y compris l'expérience pratique des développeurs Solidity, sont disponibles pour les bâtisseurs aspirants.

Bien que la compatibilité avec l'EVM présente de nombreux avantages, il existe certains points faibles de l'EVM, tels que sa complexité et sa tarification en gaz. En tant que première incursion du monde de la blockchain dans les contrats intelligents, l'EVM privilégie la fonctionnalité au détriment de la simplicité. Alors que des langages comme Solidity sont notoirement compliqués, les outils qui ont été développés pour compléter les développeurs basés sur l'EVM ces dernières années ont considérablement amélioré l'environnement et l'expérience des développeurs, tout en conservant la pleine fonctionnalité complète de Turing de l'EVM.

L'EVM a également des problèmes existants avec la tarification en gaz, en particulier concernant le loyer d'état qui bloque le réseau :

« La chose dont Ethereum souffre vraiment, c'est qu'il n'a pas de loyer d'état. Ainsi, la taille de l'état a gonflé au point où ils sont fortement contraints par les opérations d'entrée/sortie. Ce n'est donc pas nécessairement un problème inhérent à l'EVM, c'est le fait de transporter de grandes quantités d'état sans avoir de mécanisme de paiement pour cela. Ils n'ont pas coûté quelque chose qui est clairement une externalité. La façon dont nous le résolvons est — tout comme le sharding de l'état permet une propagation plus efficace des transactions, cela permet également une taille d'état plus petite dans un contexte donné. Et l'autre chose que nous faisons est d'ajouter un loyer d'état, afin que nous puissions limiter le gonflement de l'état, ce qui nous permettra de traiter beaucoup plus de transactions. »

-Dr K, Co-fondateur de Quai Network

Quels sont certains des tokens EVM les plus populaires ?

Le token le plus populaire utilisant la machine virtuelle Ethereum est, sans surprise, Ethereum. En tant que premier protocole à prendre en charge les capacités des contrats intelligents dans une certaine mesure, Ethereum a bénéficié d'un puissant avantage de premier arrivé et s'est enraciné comme la plateforme de référence pour DeFi, NFTs, et plus encore. Cependant, les frais élevés qu'Ethereum subit fréquemment pendant les périodes de forte demande ont poussé les utilisateurs à rechercher des protocoles alternatifs offrant une sécurité, une décentralisation et une fonctionnalité comparables à Ethereum sans le coût élevé d'utilisation.

Il existe également une pléthore de projets, tels que BSC, Tron et EOS, qui offrent une compatibilité EVM à bas frais aux dépens de la décentralisation et/ou de la sécurité. Aucun de ces projets, cependant, n'a pu maintenir des frais bas tout en conservant une décentralisation, une sécurité et une fonctionnalité comparables à Ethereum.

En revanche, Quai Network est un réseau de blockchains pré-Mainnet utilisant le minage fusionné et le sharding pour offrir la fonctionnalité de l'EVM à un coût bas, sans faire de compromis sur la décentralisation ou la sécurité. Grâce à l'utilisation de nombreuses blockchains entrelacées produisant des blocs de manière asynchrone, chacune exécutant un EVM indépendant, Quai Network fait évoluer à la fois la décentralisation et les contrats intelligents à des niveaux sans précédent.

Conclusion

L'EVM, en tant que première méthode d'implémentation des contrats intelligents sur une blockchain, a prospéré au cours de la dernière décennie avec une explosion de nouvelles activités de développement et d'outils. Cependant, malgré cette grande avance, de nombreuses améliorations peuvent être apportées à l'EVM qui ont le potentiel de raffiner davantage les incitations et d'améliorer l'état actuel des contrats intelligents.

Quai Network est un réseau blockchain open-source basé sur un consensus de preuve de travail utilisant les capacités du minage fusionné pour augmenter le débit et la sécurité. Les utilisateurs de Quai Network profiteront de temps de transaction rapides sans compromettre la décentralisation et la sécurité. Les mineurs auront des opportunités de minage compétitives à travers les nombreuses blockchains au sein du réseau.

Capable de milliers de transactions par seconde, le Quai Network est une solution de preuve de travail pour la scalabilité qui sera bientôt prête pour la sortie Mainnet.

Avertissement

Les opinions, idées et déclarations partagées dans cette mise à jour sont fournies avec de nombreuses hypothèses, risques et incertitudes qui peuvent changer avec le temps. Il existe plusieurs facteurs de risque, notamment ceux liés à la blockchain, aux systèmes cryptographiques et aux technologies en général, ainsi qu'aux activités commerciales de Quai, à ses opérations et à ses résultats opérationnels, qui pourraient entraîner un écart entre les résultats réels et les développements anticipés, ou même si ces résultats sont substantiellement réalisés, échouer à atteindre tous ou certains des avantages qui pourraient en être attendus. Nous nous réservons le droit de modifier unilatéralement, complètement ou partiellement les plans, attentes et intentions énoncés ici à tout moment et pour toute raison, à notre seule et entière discrétion, et nous ne nous engageons à aucune obligation de mettre à jour publiquement ou de réviser toute déclaration prospective, que ce soit en raison de nouvelles informations, de développements futurs ou autrement.

Les vues, opinions et déclarations faites dans cette mise à jour sont celles d'un auteur individuel et non celles d'une institution, d'une université ou d'une entité légale opérant dans la juridiction des États-Unis ou au-delà. Il n'y a aucune association entre ces vues, opinions et déclarations et toute entité à but lucratif ou non lucratif, en particulier avec des universités, des fondations et d'autres agences situées aux États-Unis. Toute perception d'une telle association est purement accidentelle et sera rectifiée immédiatement si elle est portée à notre attention par le lecteur.