L’ether, le carburant d’Ethereum

Chapitre II Article g

À l'instar de celui d'une voiture, le moteur d'Ethereum, l'Ethereum Virtual Machine, a besoin de carburant pour fonctionner. Il ne s'agit cependant pas d'énergie fossile (du moins pas directement), mais d'ether, le jeton natif de la blockchain. Combien consomme la machine ? D'où viennent les ethers et combien en existe-t-il ? Nous vous présentons tous les détails de cet élément incontournable du réseau dans les lignes qui suivent.

Temps de lecture estimé : 14 minutes

Le rôle de l'ether dans l’écosystème et sa tokenomics

L'ether ou ETH

L’ether, aussi appelé par son ticker ETH, est le jeton natif de la blockchain Ethereum. À l'inverse de Bitcoin, il n'a pas été conçu dans l'optique de servir de monnaie d'échange à proprement parler. Son rôle initial est de servir au règlement des opérations sur le réseau, en plus de fournir une couche de liquidités primaire et permettre un échange efficace entre différents types d'actifs numériques.

Dans le white paper, Vitalik Buterin donne des dénominations aux fractions d'ether (qui nous serviront par la suite dans cet article) pour éviter toutes les polémiques d'appellation ayant lieu sur Bitcoin à l'époque à laquelle il écrit le livre blanc. Il décide ainsi que :

  • La plus petite fraction d'ether s'appelle le wei (en hommage à Wei Dai, l'inventeur de la b-money) et représente 10-18 ETH ;
  • 1000000000 wei est un gwei et représente 10-9 ETH ;
  • 1000000000000 wei est un szabo (en hommage à Nick Szabo auteur de travaux sur les smart contracts) et représente 10-6 ETH ;
  • 1000000000000000 wei est un finney (en hommage à Hal Finney destinataire de la toute première transaction de bitcoin de la part de Satoshi Nakamoto) et représente 10-3 ETH.

Les tokenomics de l'ether

Pour les néophytes, « tokenomics » est un anglicisme venant de la jonction des mots « token » et « économie ». Il s'agit de l'analyse de différents paramètres d'une cryptomonnaie (distribution, émission, répartition, etc.) permettant d'estimer son potentiel en termes d'investissement.

Si aujourd'hui les tokenomics des nouveaux projets peuvent faire office d'usine à gaz (à tel point qu'il existe maintenant des experts en la matière), l'équipe d'Ethereum a apparemment jugé préférable de concentrer ses efforts ailleurs.

En effet, les tokenomics de l'ether sont particulièrement simples et, même si le contexte de sa création est aujourd'hui différent, les nouveaux projets ne devraient pas hésiter à s'en inspirer.

À son lancement, 72 millions d'ETH ont été créés sur le réseau. Environ 12 millions (16,7 %) ont été répartis entre les développeurs du projet et la Fondation Ethereum. Les 60 millions restant (soit 83,3 %) ont été vendus au public lors d'une Initial Coin Offering (ICO) au prix de 0,31 dollars US par ether.

Répartition des ethers au lancement de la blockchain
Répartition des ethers au lancement de la blockchain

Lorsque la blockchain fonctionnait sous un mécanisme de preuve de travail, les mineurs qui validaient des blocs étaient récompensés par la création de nouveaux jetons, à l'instar de Bitcoin, mais sans aucune limite maximale et donc rareté.

Ainsi, de 2015 au 15 septembre 2022 (date de The Merge - passage à un mécanisme de preuve d'enjeu), la quantité de jeton en circulation est passée de 72 millions à 120,55 millions, soit une émission d'approximativement 13 000 ETH par jour.

Depuis The Merge, le rythme d'émission a diminué de 88 % pour passer à « seulement » 1 700 ETH par jour.

De plus, l'EIP-1559, déployé le 5 août 2021 lors de la mise à jour London, a introduit un mécanisme de burn. Les frais de base ne sont depuis plus reversés aux mineurs (ou validateurs aujourd'hui) mais sont brûlés, détruits.

Nombre d'ether en circulation
Nombre d'ethers en circulation

Grâce à ces deux mises à jour, l'ether qui était jusqu'alors inflationniste a très largement réduit son émission jusqu'à devenir déflationniste.

En effet, en fonction du prix du gas, le nombre d'ether brulés peut être supérieur à celui du nombre d'ether mintés. Ceci n'est cependant pas toujours le cas, comme vous pouvez le constater sur la courbe ci-dessous, et dépend de l'activité sur le réseau.

Nombre d'ethers en circulation depuis The Merge
Nombre d'ethers en circulation depuis The Merge

Au moment de l’écriture de ces lignes, le nombre d'ethers en circulation a diminué de 166 809 jetons d'après le site ultrasound.money depuis The Merge (si le réseau n'était pas passé en POS, il y aurait eu 7 826 302 ethers de plus).

Ce chiffre est cependant voué à évoluer. La tendance déflationniste s'est d'ailleurs inversée depuis avril 2024 avec pour cause la baisse d'activité sur le réseau Ethereum au profit de ses layers 2. Cette baisse d'activité provoque une baisse du prix du gas et donc du nombre d'ethers brûlés.

Le gas et ses caractéristiques

Le mot gas vient de « gasoline » en anglais qui signifie « essence » en français.

Comme nous l'avons vu dans l'article précédent, le moteur d'Ethereum est une machine virtuelle, appelée Ethereum Virtual Machine ou EVM, qui exécute les différentes opérations ayant lieu sur le réseau. Chaque opération demande de la puissance de calcul à ce moteur.

Pour fournir cette puissance, l'EVM utilise le gas comme carburant. Ce dernier ayant un coût, ceci empêche les attaques par déni de service et boucles de calcul infinies.

Le « gas cost »

Le gas est l’unité qui mesure la quantité d’efforts de calculs requis pour exécuter des opérations spécifiques sur le réseau.

Chaque opération entraîne une « consommation » en gas, fixe et connue d'avance. Ceci peut être assimilé à la consommation du moteur d'une voiture. Des listes sont disponibles pour connaître la consommation de gas associée à chaque opération. Voici quelques exemples :

  • Une addition ou une soustraction « consomment » 3 gas ;
  • Une multiplication ou une division « consomment » 5 gas ;
  • Envoyer une transaction « consomme » 21 000 gas ;
  • Créer un nouveau compte de contrat « consomme » 32 000 gas.

Pour connaître le prix à payer pour réaliser ces opérations, il faut ensuite connaître le prix du gas.

Le « gas price » et les frais de gas

Pour calculer le coût d'un trajet en voiture, il faut non seulement connaître la consommation du moteur, mais aussi le prix de l'essence. Si la consommation reste (a peu près) stable dans le temps, le prix de l'essence est quant à lui assez volatile, et peut changer en fonction de divers facteurs.

Il en va de même pour le prix du gas, qui varie en fonction de l'offre et de la demande.

Celui-ci est libellé en gwei pour gigawei soit 10-9 ETH. En d'autres termes :

1 ETH = 1 000 000 000 gwei = 1 000 000 000 000 000 000 wei

Pour calculer le coût d'une opération en ether, appelé frais de gas, il suffit de multiplier le coût en gas par le prix du gas. Par exemple, si on veut envoyer une transaction qui consomme 21 000 gas et que le prix du gas est de 100 gwei, le prix de l'opération est de :

21 000 x 100 = 2 100 000 gwei = 0,0021 ETH

Si l'ether s'échange à 2 000 dollars au moment de cette transaction, le prix de l'opération en dollars est de :

0,0021 x 2 000 = 4,2 $

Le « gas limit »

Comme nous l'avons vu précédemment, les smart contracts peuvent interagir les uns avec les autres, et il peut parfois être difficile d'anticiper combien une transaction va entraîner d'opérations et donc combien elle va consommer de gas.

L'utilisateur peut ainsi définir une limite maximum de gas qu'il est prêt à dépenser pour une transaction. Il peut ainsi se retrouver face à 3 cas :

Différents cas de figures en fonction de la limite de gas fixée par l'utilisateur
Différents cas de figures en fonction de la limite de gas fixée par l'utilisateur
  • Cas 1 : la limite de gas n'est pas atteinte. La transaction est exécutée et l'excédant de gas est remboursé à l'utilisateur (sous forme d'ether) ;
  • Cas 2 : la limite fixée correspond exactement à ce qui consommé. Le gas est consommé et la transaction est exécutée.
  • Cas 3 : la limite fixée ne suffit pas à couvrir la consommation de gas. La transaction est annulée et le gas est consommé.

Comment paramétrer le gas ?

Pour faciliter la vie des utilisateurs, les portefeuilles de type Metamask cherchent automatiquement le prix du gas sur le réseau au moment où une transaction doit être validée, ainsi que la limite de gas nécessaire.

Ces paramètres peuvent tout de même être modifiés manuellement en cas de besoin.

La répartition des frais de gas

Avant de voir comment paramétrer le prix du gas, il est important de comprendre comment sont répartis les frais de gas lorsque qu'une transaction est effectuée. Ils sont divisés en deux parties :

  • Les frais de base : ces frais sont fixés par le protocole. Il faut payer au moins ce montant pour qu'une transaction soit considérée comme valide. Les ethers qui servent à payer ces frais sont brûlés par le réseau.

    Les frais de base sont calculés à l'aide d'une formule qui compare la taille du bloc précédent (la quantité de gas utilisée pour toutes les transactions) avec la taille cible. Pour faire simple, si le réseau est très utilisé, les frais de base augmentent, dans le but de pousser les utilisateurs dont les transactions ne sont pas urgentes à les faire plus tard et ainsi éviter la congestion. Si le réseau est peu utilisé, les frais de base diminuent.
  • Les frais de priorité (pourboire) : il s'agit d'un « pourboire » (obligatoire) ajouté aux frais de base, destiné à rendre la transaction intéressante aux yeux des validateurs, afin qu’ils la sélectionne pour l’inclure dans le bloc suivant. En effet, ces derniers privilégient ceux qui payent les plus gros frais de priorité, car ces derniers atterrissent dans leurs poches.

Prenons un exemple pour illustrer nos propos. Imaginons que Paul veut envoyer 1 ETH à Jean (oui, Paul est généreux). À ce moment-là, le prix du gas est de 100 gwei et le coût en gas d'un envoi est toujours de 21 000 gwei.

Pour que sa transaction soit valide, Paul doit payer au minimum :

21 000 x 100 = 2 100 000 gwei = 0,0021 ETH

Pour rendre sa transaction plus attrayante, Paul choisit d'ajouter 2 gwei à destination du validateur. Il sait en effet qu'il y a très peu de chances pour que sa transaction soit sélectionnée par un validateur sans pourboire. Il paye donc :

21 000 x (100 + 2) = 2 142 000 gwei = 0,002142 ETH

Dans ce cas, un total de 1,002142 ETH quitte l'adresse de Paul. 1 ETH atterri sur l'adresse de Jean, 0,0021 ETH sont brûlés par le protocole et enfin, 0,000142 ETH sont envoyés à l'adresse du validateur.

Paramétrer le « gas price »

Maintenant que vous avez cette répartition en tête, il est facile de comprendre comment paramétrer le prix du gas. C'est en effet le seul critère à ajuster pour les opérations courantes. Il a un impact sur la rapidité à laquelle la requête est traitée par les validateurs.

Comme indiqué précédemment, les portefeuilles de type Metamask scannent automatiquement le réseau pour afficher un prix de gas valide pour qu'une transaction soit acceptée (incluant les frais de bases et les frais de priorité).

Dans l'exemple ci-dessous, le portefeuille (Rabby) trouve un prix de gas moyen sur le réseau et propose trois options à l'utilisateur en fonction de la rapidité qu'il souhaite :

Proposition de prix de gas par le wallet Rabby
Proposition de prix de gas par le wallet Rabby
  • 26 gwei pour une transaction effectué à vitesse standard (moins de 5 minutes) ;
  • 27 gwei pour une transaction rapide (moins de 2 minutes) ;
  • 31 gwei pour une transaction instantanée.

Le prix médian du gas payé par les 100 dernières transactions ayant eu lieu sur le réseau (27,8 gwei) est donné à titre indicatif.

Une transaction avec un prix de gas trop faible par rapport à celui du moment est considérée comme non valide par le réseau. Il est donc préférable d'attendre que le prix du gas baisse plutôt que de tenter de lancer une transaction avec un prix de gas trop inférieur à celui du marché.

Il existe de nombreux outils qui permettent de suivre le prix du gas pour réaliser vos transactions au moment les plus économiques (etherscan gas tracker, par exemple). Plusieurs bots Telegram offrent aussi la possibilité d'être alerté quand le prix qui vous convient est atteint, ce qui évite d'avoir à effectuer une veille active.

Paramétrer le « gas limit »

Les utilisateurs ne doivent régler manuellement la limite en gas que très rarement. Les portefeuilles récupèrent en effet les informations sur le gas cost, et ajustent automatiquement la limite de gas à dépenser en fonction.

Si vous devez effectuer une opération spécifique pour laquelle vous avez un doute, il est préférable de mettre une limite supérieure à ce qui est réellement nécessaire, le surplus vous étant remboursé.

Le mot de la fin

L'ether et le gas sont des composants essentiels au fonctionnement d'Ethereum. Leur rôle principal est de contribuer à la sécurité du réseau grâce aux points suivants :

  • Ils permettent d'éviter les attaques par déni de services (les attaquants devraient dépenser beaucoup d'argent pour paralyser le réseau) ;
  • Ils permettent d'éviter et les boucles infinies qui demanderaient d'avoir des fonds infinis ;
  • Ils permettent d'inciter les validateurs à sécuriser la blockchain.

      Le mécanisme n'est cependant pas parfait, même s'il tend à s'améliorer avec le temps. En effet, les frais peuvent vite atteindre des sommes astronomiques en cas de forte utilisation du réseau.

      Par ailleurs, le système de gas peut paraître complexe pour les nouveaux arrivants. Heureusement, les utilisateurs n'ont pas forcement besoin de comprendre tout ce que vous venez de lire pour utiliser le réseau.

      En effet, la plupart des portefeuilles actuels ajustent automatiquement les paramètres que nous avons évoqués plus haut allant jusqu'a annoncer un prix en dollars, et dissociant les frais de transactions du reste. Ainsi, l'utilisateur lambda doit juste savoir qu'il peut passer devant les autres en payant plus cher, et économiser en attendant le bon moment pour passer ses transactions.

      Il va de même pour le fonctionnement de la preuve d'enjeu que nous allons étudier dans le prochain article : vous n'êtes pas obligé de le connaître pour utiliser le réseau. Tout comme la majorité des usagers de la route n'ont qu'une vague idée du fonctionnement du moteur de leur véhicule, peu d'utilisateurs savent comment Ethereum arrive à un un consensus pour ajouter des blocs à la chaîne. Cela n'en reste pas moins passionnant, alors embarquez dans ce voyage avec nous !