{"id":10395,"date":"2023-04-20T06:18:41","date_gmt":"2023-04-20T06:18:41","guid":{"rendered":"https:\/\/www.bitnovo.com\/blog\/?p=10395"},"modified":"2022-05-17T06:01:13","modified_gmt":"2022-05-17T06:01:13","slug":"quest-ce-que-lethereum-virtual-machine","status":"publish","type":"post","link":"https:\/\/www.bitnovo.com\/blog\/fr\/quest-ce-que-lethereum-virtual-machine","title":{"rendered":"Qu&#8217;est-ce que l&#8217;Ethereum Virtual Machine?"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-transparent ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Alternar tabla de contenidos\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #ffffff;color:#ffffff\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #ffffff;color:#ffffff\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 eztoc-toggle-hide-by-default' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.bitnovo.com\/blog\/fr\/quest-ce-que-lethereum-virtual-machine\/#comment_fonctionne_une_machine_virtuelle\" >Comment fonctionne une machine virtuelle ?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.bitnovo.com\/blog\/fr\/quest-ce-que-lethereum-virtual-machine\/#comment_fonctionne_la_machine_virtuelle_ethereum\" >Comment fonctionne la machine virtuelle Ethereum?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.bitnovo.com\/blog\/fr\/quest-ce-que-lethereum-virtual-machine\/#caracteristiques_de_levm\" >Caract\u00e9ristiques de l\u2019EVM<\/a><\/li><\/ul><\/nav><\/div>\n<span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Tiempo de lectura:<\/span> <span class=\"rt-time\"> 4<\/span> <span class=\"rt-label rt-postfix\">minutos<\/span><\/span><p>Le projet Ethereum est l\u2019un des plus importants dans le monde des crypto-monnaies. Ce projet poss\u00e8de un grand tr\u00e9sor qui rend possible la plupart de ses op\u00e9rations, la\u00a0<b>Ethereum Virtual Machine<\/b>(EVM). L\u2019EVM est une machine de\u00a0<b>Turing<\/b>\u00a0virtuelle qui permet \u00e0 n\u2019importe quel utilisateur d\u2019ex\u00e9cuter des\u00a0<b>Byte-Code<\/b>\u00a0de mani\u00e8re arbitraire.<\/p>\n<p>Une machine de Turing est bas\u00e9e sur un\u00a0<b>mod\u00e8le math\u00e9matique<\/b>\u00a0informatique capable, gr\u00e2ce \u00e0 des r\u00e8gles pr\u00e9d\u00e9finies, de d\u00e9terminer des r\u00e9sultats par le biais de\u00a0<b>variables<\/b>. Cette machine joue un r\u00f4le crucial dans le m\u00e9canisme de consensus du r\u00e9seau Ethereum. En outre, il permet l\u2019ex\u00e9cution de\u00a0<b>smarts contracts<\/b>\u00a0en activant une s\u00e9rie de<b>\u00a0fonctions\u00a0<\/b>sur la blockchain Ethereum.<\/p>\n<p>Ces fonctions sont utilis\u00e9es quotidiennement par tous les utilisateurs du r\u00e9seau Ethereum. Ces fonctions permettent une grande\u00a0<b>flexibilit\u00e9<\/b>\u00a0dans les diff\u00e9rentes op\u00e9rations que les autres projets ne permettent pas. C\u2019est pourquoi, dans cet article, nous allons vous expliquer ce qu\u2019est cette machine et comment elle fonctionne.<\/p>\n<p>L\u2019EVM a commenc\u00e9 \u00e0 \u00eatre d\u00e9velopp\u00e9 en\u00a0<b>2013<\/b>\u00a0\u00e0 travers les premi\u00e8res id\u00e9es de cr\u00e9ation d\u2019une blockchain qui fonctionnait gr\u00e2ce \u00e0 un langage de Turing complet activ\u00e9 pour toutes les op\u00e9rations. Cette id\u00e9e est venue du d\u00e9veloppeur principal d\u2019Ethereum,\u00a0<b>Vitalik Buterin<\/b>, et a \u00e9t\u00e9 concr\u00e9tis\u00e9e par lui et les d\u00e9veloppeurs\u00a0<b>Gavin Wood<\/b>\u00a0et\u00a0<b>Greg Colvin<\/b>.<\/p>\n<div class=\"is-divider divider clearfix\"><\/div>\n<div class=\"is-divider divider clearfix\"><\/div>\n<h2><span class=\"ez-toc-section\" id=\"comment_fonctionne_une_machine_virtuelle\"><\/span><b>Comment fonctionne une machine virtuelle ?<\/b><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Lorsque nous parlons d\u2019une machine virtuelle, nous faisons r\u00e9f\u00e9rence \u00e0 un\u00a0<b>software d\u00e9velopp\u00e9<\/b>\u00a0pour cr\u00e9er ce que l\u2019on appelle une\u00a0<b>\u00ab\u00a0couche d\u2019\u00e9mulation\u00a0\u00bb<\/b>\u00a0d\u2019un ordinateur. La machine virtuelle est charg\u00e9e d\u2019\u00e9muler chacune des fonctions d\u2019un ordinateur. Cette machine a la capacit\u00e9 de recr\u00e9er tous les composants de l\u2019ordinateur, qu\u2019il s\u2019agisse du processeur, des cartes r\u00e9seau ou m\u00eame des\u00a0<b>disques durs.<\/b><\/p>\n<p>La machine peut ex\u00e9cuter un\u00a0<b>software sp\u00e9cifique<\/b>\u00a0en son sein, ce qui reviendrait \u00e0 avoir un ordinateur\u00a0<b>complet<\/b>\u00a0\u00e0 l\u2019int\u00e9rieur d\u2019un autre ordinateur. Ce n\u2019est pas une t\u00e2che facile. La machine virtuelle doit donc d\u2019abord isoler toutes les fonctions dans une sorte de conteneur auquel nous pouvons acc\u00e9der et avec lequel nous pouvons interagir par le biais d\u2019une interface. De cette fa\u00e7on, l\u2019ensemble du syst\u00e8me fonctionnant \u00e0 l\u2019int\u00e9rieur de la machine virtuelle est isol\u00e9 du reste du syst\u00e8me g\u00e9n\u00e9ral.<\/p>\n<p>Il peut \u00e9galement agir dans diff\u00e9rents\u00a0<b>syst\u00e8mes<\/b>\u00a0et\u00a0<b>hardware<\/b>, ce qui lui conf\u00e8re une grande portabilit\u00e9, mais aussi des\u00a0<b>niveaux de s\u00e9curit\u00e9 \u00e9lev\u00e9s<\/b>. Ces machines virtuelles sont tr\u00e8s flexibles en termes de fonctionnement, car elles offrent des services uniques qu\u2019aucun autre logiciel ne peut offrir (pour le moment).<\/p>\n<p>Tout d\u00e9veloppeur peut\u00a0<b>cr\u00e9er<\/b>\u00a0une\u00a0<b>Virtual Machine<\/b>\u00a0qui suit des instructions\u00a0<b>uniques<\/b>, \u00e0 des comportements d\u00e9finis et isole un syst\u00e8me entier. L\u2019ensemble de ce processus peut \u00eatre r\u00e9alis\u00e9 \u00e0 peu de frais et ouvre la porte \u00e0 d\u2019autres d\u00e9veloppements.<\/p>\n<div class=\"is-divider divider clearfix\"><\/div>\n<div class=\"is-divider divider clearfix\"><\/div>\n<h2><span class=\"ez-toc-section\" id=\"comment_fonctionne_la_machine_virtuelle_ethereum\"><\/span><b>Comment fonctionne la machine virtuelle Ethereum?<\/b><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Maintenant que nous savons comment fonctionne une machine virtuelle, nous pouvons appliquer ce concept au r\u00e9seau Ethereum. Cette machine virtuelle est \u00e9galement un logiciel qui suit une s\u00e9rie d\u2019instructions, mais dans ce cas \u00e0 grande \u00e9chelle, ce qui permet \u00e0 la blockchain Ethereum de fonctionner. Les instructions que la machine ex\u00e9cute permettent une grande\u00a0<b>flexibilit\u00e9<\/b>\u00a0dans la r\u00e9alisation des\u00a0<b>transactions<\/b>\u00a0au sein du r\u00e9seau.<\/p>\n<p>Pour la programmation de la machine virtuelle Ethereum, on a cr\u00e9\u00e9 Solidity, un langage sp\u00e9cialis\u00e9 qui facilite le d\u00e9veloppement de contrats intelligents. Son fonctionnement est le suivant : Solidity est transform\u00e9 en codes d\u2019op\u00e9ration connus sous le nom de\u00a0<b>OP_CODES<\/b>\u00a0et \u00e0 partir de ceux-ci, un Byte-Code est ex\u00e9cut\u00e9 par l\u2019EVM qui permettra d\u2019effectuer les op\u00e9rations dans un\u00a0<b>smart contract<\/b>.<\/p>\n<p>Gr\u00e2ce \u00e0 ces codes, nous pouvons programmer des instructions pour la machine. Les OP_CODES fonctionnent comme l\u2019interface d\u2019interaction mentionn\u00e9e ci-dessus dans le fonctionnement d\u2019une machine virtuelle. Ce sont eux qui rendent possible que tout ce qui est dans la Ethereum fonctionne en incluant m\u00eame les plus petites transactions.<\/p>\n<p>Gr\u00e2ce \u00e0 tout ce fonctionnement, l\u2019EVM peut ex\u00e9cuter des\u00a0<b>fonctions<\/b>\u00a0telles que les smart contracts \u00e9tant une machine globale d\u00e9centralis\u00e9e form\u00e9e par tous les n\u0153uds qui participent au r\u00e9seau Ethereum. Cette machine peut r\u00e9soudre pratiquement tous les\u00a0<b>probl\u00e8mes de calcul<\/b>\u00a0du r\u00e9seau.<\/p>\n<div id=\"image_1917625859\" class=\"img has-hover x md-x lg-x y md-y lg-y\">\n<div class=\"img-inner dark\"><img fetchpriority=\"high\" decoding=\"async\" class=\"attachment-large size-large\" src=\"https:\/\/www.bitnovo.com\/blog\/wp-content\/uploads\/2021\/05\/Que-es-la-Virtual-Machine-de-Ethereum.jpg\" sizes=\"(max-width: 768px) 100vw, 768px\" srcset=\"https:\/\/www.bitnovo.com\/blog\/wp-content\/uploads\/2021\/05\/Que-es-la-Virtual-Machine-de-Ethereum.jpg 768w, https:\/\/www.bitnovo.com\/blog\/wp-content\/uploads\/2021\/05\/Que-es-la-Virtual-Machine-de-Ethereum-300x205.jpg 300w\" alt=\"Qu\u00e9-es-la-Virtual-Machine-de-Ethereum\" width=\"768\" height=\"526\" \/><\/div>\n<\/div>\n<div class=\"is-divider divider clearfix\"><\/div>\n<div class=\"is-divider divider clearfix\"><\/div>\n<h2><span class=\"ez-toc-section\" id=\"caracteristiques_de_levm\"><\/span><b>Caract\u00e9ristiques de l\u2019EVM<\/b><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>La machine virtuelle Ethereum est unique gr\u00e2ce \u00e0 une myriade de caract\u00e9ristiques qui lui permettent de fonctionner. Nous verrons ci-dessous les plus importantes d\u2019entre elles :<\/p>\n<ul>\n<li aria-level=\"1\"><b>Haut niveau de s\u00e9curit\u00e9:\u00a0<\/b>l\u2019une des caract\u00e9ristiques les plus importantes est qu\u2019elle offre un haut niveau de s\u00e9curit\u00e9. S\u2019agissant d\u2019une machine virtuelle qui respecte certaines limitations dans les instructions, elle peut ex\u00e9cuter du code non fiable sans \u00eatre compromise ou compromettre le syst\u00e8me.<\/li>\n<li aria-level=\"1\"><b>Totalement d\u00e9centralis\u00e9:\u00a0<\/b>le MVE est d\u00e9centralis\u00e9 dans sa totalit\u00e9, puisqu\u2019il est conform\u00e9 par des milliers de n\u0153uds qui ex\u00e9cutent une copie exacte de la machine et agissent en m\u00eame temps en liaison avec le reste des n\u0153uds. Cela conduit \u00e0 une d\u00e9centralisation, car m\u00eame si presque tous les n\u0153uds disparaissent, la machine continuera ses instructions tant qu\u2019il y aura au moins un n\u0153ud en fonctionnement.<\/li>\n<\/ul>\n<p>En outre, cette op\u00e9ration permet d\u2019acc\u00e9der au syst\u00e8me de n\u2019importe o\u00f9 dans le monde et sans censure. Le plus important est qu\u2019il n\u2019y a pas de tiers et que ses fonctions ne peuvent pas non plus \u00eatre modifi\u00e9es ou alt\u00e9r\u00e9es.<\/p>\n<ul>\n<li aria-level=\"1\"><b>Elle permet le d\u00e9veloppement d\u2019un grand nombre d\u2019<\/b><b>applications<\/b><b>:<\/b>\u00a0appel\u00e9es dApps (decentralized apps), celles-ci peuvent \u00eatre ex\u00e9cut\u00e9es sur la m\u00eame blockchain sans affecter le reste des fonctions ex\u00e9cut\u00e9es sur celle-ci.<\/li>\n<li aria-level=\"1\">L\u2019Ethereum Virtual Machine est capable d\u2019ex\u00e9cuter des\u00a0<b>smarts contracts\u00a0<\/b>complets de<b>\u00a0Turing<\/b>. Il s\u2019agit de programmes sp\u00e9cifiques qui peuvent \u00eatre ex\u00e9cut\u00e9s automatiquement.<\/li>\n<li aria-level=\"1\">Il peut ex\u00e9cuter un ensemble de codes d\u2019op\u00e9ration appel\u00e9s\u00a0<b>OP_CODES<\/b>. Sans ces codes, la machine virtuelle Ethereum ne serait pas en mesure de fonctionner.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p><span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Tiempo de lectura:<\/span> <span class=\"rt-time\"> 4<\/span> <span class=\"rt-label rt-postfix\">minutos<\/span><\/span>Le projet Ethereum est l\u2019un des plus importants dans le monde des crypto-monnaies. Ce projet poss\u00e8de un grand tr\u00e9sor qui rend possible la plupart de ses op\u00e9rations, la\u00a0Ethereum Virtual Machine(EVM). L\u2019EVM est une machine de\u00a0Turing\u00a0virtuelle qui permet \u00e0 n\u2019importe quel utilisateur d\u2019ex\u00e9cuter des\u00a0Byte-Code\u00a0de mani\u00e8re arbitraire. Une machine de Turing est bas\u00e9e sur un\u00a0mod\u00e8le math\u00e9matique\u00a0informatique capable, [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":6814,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[198],"tags":[],"class_list":["post-10395","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blockchain-fr"],"_links":{"self":[{"href":"https:\/\/www.bitnovo.com\/blog\/wp-json\/wp\/v2\/posts\/10395","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bitnovo.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bitnovo.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bitnovo.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bitnovo.com\/blog\/wp-json\/wp\/v2\/comments?post=10395"}],"version-history":[{"count":0,"href":"https:\/\/www.bitnovo.com\/blog\/wp-json\/wp\/v2\/posts\/10395\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.bitnovo.com\/blog\/wp-json\/wp\/v2\/media\/6814"}],"wp:attachment":[{"href":"https:\/\/www.bitnovo.com\/blog\/wp-json\/wp\/v2\/media?parent=10395"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bitnovo.com\/blog\/wp-json\/wp\/v2\/categories?post=10395"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bitnovo.com\/blog\/wp-json\/wp\/v2\/tags?post=10395"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}