- Retour au menu
- Retour au menuTarifs
- Retour au menuRecherche
- Retour au menuConsensus
- Retour au menu
- Retour au menu
- Retour au menu
- Retour au menuWebinaires et Événements
EVM 2.0 : dans la course au remplacement du cœur d' Ethereum
La machine virtuelle qui permet à Ethereum de tout calculer de manière décentralisée fait l'objet d'une refonte massive.
Au cœur d’ Ethereum se trouve un ordinateur virtuel.
Stockée sur des dizaines de milliers de nœuds qui composent la plateforme, la machine virtuelle Ethereum , ou EVM, est responsable de l'exécution des innombrables jetons, dapps, DAO et chatons numériques qui composent la blockchain.
Il s'agit d'un moteur sur lequel fonctionne l'intégralité d' Ethereum , et il parle dans un langage appelé « bytecode EVM » — des chaînes d'informations brutes de 256 BIT qui peuvent fournir n'importe quelle équation concevable (à condition qu'elle se situe dans la limite auto-imposée de la plateforme, GAS).
Ça a l'air puissant et important, non ? Il ne faut pas trop y toucher ?
Pourtant, cette partie intégrante de l’infrastructure d’Ethereum se prépare à une réécriture complète.
« Je dirais qu'il n'y a T eu énormément de réflexion conceptuelle au départ », a déclaré Lane Rettig, développeur Ethereum , à CoinDesk à propos de l'EVM. « C'était une sorte d'outil – un couteau suisse, je dirais – il fait plein de choses, mais pas incroyablement bien. »
Ainsi, l’EVM actuel sera remplacé par une nouvelle machine virtuelle appelée eWASM.
EWASM n'est que la version Ethereum du code WASM (qui signifie WebAssembly), créé par le World Wide Web Consortium (W3C), l'équipe de développeurs chargée de maintenir et de normaliser le Web.
« Il y a de nombreux ingénieurs très bien payés et très expérimentés, et des milliers d'heures d'ingénierie professionnelles qui ont été consacrées à la conception du jeu de construction [WASM] - par rapport à EVM », a déclaré Rettig, qui contribue au développement d'eWASM.
En effet, eWASM permettra aux développeurs de coder dans plusieurs langages de programmation — pas seulement le langage spécifique à Ethereum, Solidity — et devrait également apporter une multitude d’améliorations de performances.
Et pour donner plus de crédibilité à cette décision, Ethereum rejoindra plusieurs concurrents, dont EOS, TRON et Cardano, qui ont chacun déployé (ou prévoient de déployer) des machines virtuelles spécifiques à un projet pour gérer le calcul décentralisé à l'aide du code WASM.
Pour Ethereum, le changement devrait s'effectuer parallèlement à d'autres mises à jour désormais surnommées « Shasper », notamment la mise à l'échelle du sharding et la réécriture du minage Casper, au cours des prochaines années. Bien que le calendrier exact du changement ne soit pas T fixé, le développement d'eWASM progresse rapidement et se prépare au lancement de son réseau de test lors de la Devcon 4, la conférence des développeurs Ethereum , à Prague en octobre.
S'exprimant sur la décision de remplacer la machine existante, Rettig a résumé :
«Ethereum est à un point où il passe d'un travail de construction personnalisé et maladroit que nous avons conduit dans notre FARM à une véritable voiture de course que nous pouvons emmener sur l'autoroute et ouvrir. »
Une voie « verruqueuse »
Ce changement est motivé par la prise de conscience que, même si l'EVM est une Technologies innovante — qui fournit pour la première fois une solution au calcul décentralisé résistant aux attaques — elle n'est pas aussi propre qu'elle pourrait l'être.
Par exemple, la plupart des développeurs d'applications décentralisées programment dans Solidity d'Ethereum, un langage de programmation de haut niveau qui se compile automatiquement dans un format compatible avec le bytecode EVM.
Étant donné que l'EVM s'appuie sur des « instructions très larges et très volumineuses », a déclaré Rettig, même les plus petits types de calculs, tels que l'arithmétique de base, devraient être convertis en chaînes de 256 BIT – un processus complexe pour des mathématiques simples – pour que l'EVM puisse les traiter.
Il ne s'agit là que ONEune des nombreuses opérations intégrées au code système qui, selon Rettig, ne devraient T exister. Parmi elles, on trouve la célèbre fonction de hachage SHA-3.
C'est pour cette raison que Rettig décrit l'EVM comme « verruqueux ».
Et Nick Johnson, un développeur CORE Ethereum , a accepté, déclarant à CoinDesk que lorsqu'il a rejoint Ethereum, il était immédiatement évident pour lui que l'EVM avait été construit par des développeurs ayant une compréhension approfondie de l'informatique, mais sans beaucoup d'expérience dans la création de produits largement utilisables.
En tant qu'outil, a souligné Johnson, l'EVM a été « optimisé pour la pureté théorique, plutôt que pour une utilisation pratique ».
« Il a ces énormes registres, mais ils sont tous les mêmes, et il est très cohérent en interne et ainsi de suite », a-t-il déclaré, « mais il n'est pas construit avec une mise en œuvre dans le monde réel à l'esprit. »
« Plus près du métal »
Le code WASM, en revanche, a été conçu dans un souci de production.
D' une ONE, a déclaré Rettig, il est construit « plus près du métal », ce qui signifie que le code qu'il exécute est proche des instructions matérielles réelles, il y a donc moins d'efforts consacrés à la traduction de différentes logiques de codage.
« Les instructions reproduisent fidèlement les instructions matérielles réelles », poursuit Rettig. « Ces instructions peuvent correspondre directement aux instructions exécutées par les appareils, ce qui permet, en théorie, d'obtenir des améliorations de performances très intéressantes. »
Par exemple, les développeurs qui construisent sur Ethereum pourront coder en utilisant plusieurs langages – celui avec lequel ils sont le plus à l'aise – y compris ceux offrant des avantages de sécurité supplémentaires.
Un autre avantage clé — que Rettig a déclaré que certains développeurs citent comme la « motivation clé derrière eWASM » — est qu’il supprime potentiellement ce qu’on appelle une « précompilation ».
L'EVM étant composé de code complexe, certaines opérations doivent être intégrées au système, faute de quoi elles dépasseraient les coûts de GAS associés. Pour rendre ces opérations disponibles sur un réseau, appelées précompilations, une mise à niveau à l'échelle du système, ou hard fork, est nécessaire ; ces mises à niveau se sont avérées risquées et complexes à orchestrer.
Cependant, avec eWASM, les développeurs maintiennent que les opérations peuvent simplement être écrites sous forme de contrats intelligents et déployées, évitant ainsi le scénario de hard fork.
« Avec eWASM, il est suffisamment efficace pour effectuer des calculs, de sorte que la plupart de ces précompilations pourraient être supprimées et remplacées par de simples contrats eWASM », a déclaré Johnson.
Coeur brisé
Cependant, comme tout changement substantiel dans un écosystème décentralisé, la volonté de déprécier l’EVM n’est pas sans susciter des critiques.
D' une ONE, le développeur Ethereum CORE, Greg Colvin, qui se consacre à la maintenance de l'EVM depuis des années, est réticent à abandonner l'ancien code.
Colvin avait lui-même conçu une version améliorée du code EVM, baptisée EVM 1.5, initialement destinée à représenter l'avenir de la machine virtuelle Ethereum . Cependant, son financement a été interrompu sans préavis par la Fondation Ethereum , une organisation à but non lucratif.
« J'étais énervé », a déclaré Colvin, qui a contribué à former leConseil des magiciens Ethereum, un groupe de discussion dédié au développement des compétences techniques d' Ethereum, a déclaré à CoinDesk après l'expérience : « Attendez une minute, vous ne me paierez T 8,40 $ de l'heure alors que vous avez déjà réduit mes heures de 35 à 20 %, alors pourquoi faire ça ? Et puis, pour le reste de l'année, je n'aurais plus les moyens de faire du bénévolat. »
Cependant, la raison pour laquelle Colvin s’oppose à l’aWASM n’est T seulement la fierté.
Selon lui, eWASM présente également des problèmes techniques. Par exemple, comme eWASM prend en charge plusieurs langues, le code repose fortement sur ce que l'on appelle des « compilateurs », ce qui, selon Colvin, pourrait constituer un point de défaillance unique pour les attaquants.
Il n’est pas non plus convaincu que les contrats intelligents eWASM pourraient remplacer le besoin de précompilations.
De plus, Colvin formule d'autres critiques orientées design, que même Rettig approuve. Selon les deux développeurs, pour une raison inconnue, les technologies les plus inefficaces l'emportent généralement. Prenons l'exemple de Javascript, l' un des langages de programmation les plus utilisés, mais réputé pour être particulièrement laid.
« Il semble y avoir un modèle dans la Technologies et l'informatique où les choses les mieux conçues, non seulement ne WIN pas nécessairement, mais ne semblent pas très bien fonctionner », a soutenu Rettig.
Sans compter que, selon Colvin, malgré tout le travail de développement derrière WASM, le code est encore relativement peu testé dans la nature.
Colvin a déclaré à CoinDesk:
« Je ne comprenais T pourquoi nous voulions être parmi les premiers à adopter une expérience, alors que nous étions déjà parmi les premiers à adopter notre propre expérience. »
Imprévisibilité
Mis à part les conflits, eWASM gagne du terrain parmi de nombreux développeurs Ethereum .
En effet, le plan prévoit de le déployer en tant que réseau de test avant la conférence des développeurs Ethereum , Devcon4, en novembre.
Cependant, cela ne signifie T que la nouvelle machine virtuelle sera déployée de sitôt.
Étant donné qu'eWASM sera d'abord déployé sur un shard, ou une sidechain, avant de remplacer l'EVM elle-même, son déploiement est étroitement lié à la mise à niveau de Shasper. En termes de calendrier, cela signifie que les développeurs devront se concentrer sur les recherches qui sous-tendent ces changements avant de passer à eWASM.
Malheureusement, les progrès de telles recherches peuvent être imprévisibles.
En effet, l’ambiguïté liée aux mises à niveau de code de ce type a été une source de confusion pour un large groupe de développeurs Ethereum construisant sur la plateforme.
« Si vous êtes en train de créer un nouveau client, la confusion est grande : dois-je créer eWASM ? EVM ? Les deux ? Autre chose », a déclaré Rettig à CoinDesk.
Le manque de clarté a été ONEune des principales frustrations de Colvin, car en ce qui concerne l'EVM actuel, il existe certains problèmes de performances qui seraient faciles à améliorer, mais ceux-ci ont été mis de côté par le changement soudain de la feuille de route.
« Cela a été une source de frustration pour moi pendant un certain temps : l'eWASM était clairement en vue, mais sans trop de ressources, l'EVM 1.5 était NEAR . Et maintenant, c'est encore faisable, mais le projet a été repoussé, une année entière a été gaspillée », a déclaré Colvin à CoinDesk.
Plus on est de fous, plus on rit ?
Pourtant, Rettig et Colvin admettent tous deux que cette incertitude n’est qu’une partie de la contribution à un projet open source sans aucun leadership central.
« L'aspect communautaire est essentiel. Si c'était une entreprise, je serais parti depuis longtemps », a déclaré Colvin à CoinDesk.
De plus, Rettig a QUICK fait valoir que lorsqu'il s'agit d'améliorer Ethereum , il n'y a pas de travail inutile.
En effet, a-t-il poursuivi, en raison de la nature de la mise à niveau du sharding - qui divise Ethereum en morceaux plus petits et plus faciles à gérer - plusieurs machines virtuelles pourraient éventuellement être prises en charge sur Ethereum.
À propos d' Ethereum mis à jour, Rettig a déclaré : « Il n'y a pas Ethereum unique, il n'y a pas de feuille de route unique, il n'y a pas d'autorité unique, c'est une communauté, c'est une famille de technologies, et je ne crois pas que l'avenir soit juste une chaîne pour les gouverner toutes. »
Dans cette optique, eWASM permettra également d'atteindre de nouveaux niveaux d'interopérabilité. D' une ONE, il est conçu dans un langage standardisé pour le Web ; l'ajout d'un support intégré au navigateur pour un client léger Ethereum serait donc trivial.
Et cela pourrait également ouvrir la voie à une interopérabilité inconnue entre différentes blockchains.
« Peut-être avez-vous un sharding quadratique ici, et du Plasma ici, et peut-être qu'ils se chevauchent par endroits, et peut-être avons-nous une chaîne Dfinity qui communique avec une chaîne Ethereum qui communique avec Bitcoin via Cosmos et Polkadot», a déclaré Rettig, suggérant :
« Nous ne le savons tout simplement T , alors ne vous laissez T trop emporter par la feuille de route canonique officielle, quelle qu'elle soit. »
Coeur en papierimage via Shutterstock
Rachel-Rose O'Leary
Rachel-Rose O'Leary est codeuse et rédactrice chez Dark Renaissance Technologies. Elle a été rédactrice technique principale pour CoinDesk de 2017 à 2018, couvrant les technologies de Politique de confidentialité et Ethereum. Elle a une formation en art numérique et en philosophie et écrit sur les Crypto depuis 2015.
