Dans le monde de la cryptographie, tout le monde connaît Ethereum. La plupart des gens ont également entendu parler de l'Ethereum Virtual Machine (EVM), mais de quoi s'agit-il exactement ? Aujourd'hui, vous avez de la chance, car c'est exactement ce dont nous allons vous parler.
✔️ La machine virtuelle Ethereum est une entité unique maintenue par des milliers d'ordinateurs exécutant un client Ethereum.
✔️ Le protocole Ethereum possède sa propre monnaie, l'Ether (ETH), qui suit presque les mêmes règles que le Bitcoin, mais qui permet également des fonctionnalités puissantes telles que les contrats intelligents.
✔️ Toutes les implémentations de l'EVM doivent adhérer aux spécifications définies dans le livre jaune Ethereum, et des clients d'implémentation sont disponibles pour JavaScript, C++ et Python.
La machine virtuelle Ethereum est une entité unique maintenue par des milliers d'ordinateurs connectés exécutant un client Ethereum. Tout le monde peut entretenir ce réseau en devenant un nœud. Vous téléchargez un logiciel à exécuter sur votre PC et voilà. Vous n'êtes alors pas encore un valideur, ce qui ne profite qu'au réseau Ethereum, vous ne touchez aucun frais de transaction et n'êtes pas autorisé à créer de nouveaux blocs avec un nœud.
L'unique objectif du protocole Ethereum est de préserver l'efficacité continue, ininterrompue et immuable de cette "machine à état spécial". Tous les comptes Ethereum et les contrats intelligents y "vivent". Chaque bloc de la blockchain n'a qu'un seul état canonique et l'EVM définit les règles de calcul d'un nouvel état valide de bloc en bloc.
L'analogie d'un grand livre distribué est souvent utilisée pour décrire des blockchains comme le bitcoin. Elle permet à une monnaie décentralisée d'utiliser les outils fondamentaux de la cryptographie. Le grand livre conserve la trace de ce que quelqu'un peut et ne peut pas faire pour le modifier, par exemple en interdisant de dépenser plus que ce que l'on a reçu.
Ethereum a sa propre monnaie, l'Ether ou également appelé ETH, qui suit presque exactement les mêmes règles, mais permet également une fonctionnalité beaucoup plus puissante : les contrats intelligents. Avec Ethereum, vous pouvez utiliser l'analogie de l'état de la machine distribuée. L'état d'Ethereum est une grande structure de données qui contient non seulement tous les comptes et les soldes, mais aussi un état de machine qui peut changer de bloc en bloc selon un ensemble de règles prédéfinies et exécuter un code machine arbitraire. Les règles spécifiques permettant de modifier l'état d'un bloc à l'autre sont définies par l'EVM.
L'EVM se comporte comme une fonction mathématique : étant donné une entrée donnée, elle génère une sortie déterministe. Ethereum dispose d'une "fonction de transition d'état". Si vous avez un ancien état valide du réseau et un nouvel ensemble de transactions valides, la fonction de transition d'état garantit qu'un nouvel état de sortie valide est généré à partir du réseau Ethereum.
Avec son "Merkle Patricia Trie modifié", Ethereum assure une forte efficacité dans sa base de données.
L'EVM exécute une "machine à pile" avec une profondeur de 1024 entrées. Chacun de ces éléments est un mot de 256 bits choisi pour travailler avec. Les mots standard peuvent être vus dans le dessin ci-dessous, comme le stockage et le gaz.
Les "opcodes" EVM tels que AND, OR, ADD et autres sont utilisés ici pour ouvrir des possibilités mathématiques standard. En outre, des mots spécifiques à la blockchain Ethereum sont utilisés, tels que ADDRESS ou BALANCE.
Toutes les implémentations de la machine virtuelle Ethereum doivent obéir aux spécifications décrites par le livre jaune Ethereum. Des clients d'exécution Ethereum sont disponibles pour JavaScript, C++ et Python.
Les contrats intelligents pour la MVE sont généralement écrits en Solidity ou Vyper.