Dans le cadre du M2 MFCA de l'Université de Lille, il nous a été demandé de soumettre une question technique à ChatGPT, puis d'analyser sa réponse de façon critique. Voici mon travail sur le gas Ethereum.
Mon prompt ChatGPT :
Tu es un expert en blockchain et en protocoles décentralisés. Je suis étudiant en master de maths appliquées à la finance et je travaille sur le fonctionnement économique d'Ethereum. Réponds de manière structurée et précise à la question suivante : « La blockchain Ethereum permet l'exécution de programmes sur ses nœuds. Pour éviter qu'un programme mal écrit ne bloque le réseau, l'exécution consomme une ressource. Comment s'appelle cette ressource, comment son prix est-il déterminé, et comment les utilisateurs l'obtiennent-ils ? » Dans ta réponse, j'attends :
- Le nom de la ressource et son rôle précis dans la machine virtuelle d'Ethereum
- Les modalités concrètes par lesquelles un utilisateur l'acquiert et la consomme
- Si c'est pertinent, une brève mise en perspective quantitative ou économique
La réponse de ChatGPT :
La ressource s’appelle le gas.
1. Nom de la ressource et rôle dans l’EVM
Sur Ethereum, chaque opération exécutée par la machine virtuelle Ethereum — l’EVM, pour Ethereum Virtual Machine — consomme une certaine quantité de gas.
Le gas joue le rôle d’une unité de coût computationnel. Il mesure les ressources nécessaires pour exécuter une transaction ou un smart contract : calcul, stockage, lecture de données, écriture dans l’état de la blockchain, etc. Ethereum précise que le gas sert à payer les ressources de calcul utilisées par les transactions et à protéger le réseau contre le spam ou les boucles infinies.
Concrètement, chaque instruction de l’EVM a un coût en gas. Par exemple :
| Action | Coût relatif |
|---|---|
| Simple transfert d'ETH | faible |
| Calcul arithmétique simple | faible |
| Lecture de stockage | moyen |
| Ecriture dans le stockage blockchain | élevé |
| Déploiement d'un smart contract | très élevé |
L’idée centrale est la suivante : un programme mal écrit ne peut pas tourner indéfiniment, car l’utilisateur fixe une quantité maximale de gas qu’il accepte de dépenser, appelée gas limit. Si l’exécution dépasse cette limite, elle s’arrête avec une erreur de type out of gas. L’état est alors annulé, mais le gas déjà consommé est tout de même payé, car les validateurs ont effectivement exécuté le calcul.
2. Comment le prix du gas est déterminé
Le gas est une quantité technique, mais son prix est payé en ETH, plus précisément souvent exprimé en gwei.
La formule économique simplifiée est :
Frais payé = Gas utilisé * Prix effectif du gas
Depuis EIP-1559, le prix du gas n’est plus seulement une enchère libre classique. Il est composé principalement de deux éléments :
Prix effectif du gas = base fee + priority fee
La base fee est déterminée automatiquement par le protocole Ethereum en fonction de la congestion du réseau. Quand les blocs sont très demandés, elle augmente ; quand l’activité baisse, elle diminue. Cette base fee est brûlée, c’est-à-dire retirée de la circulation.
La priority fee, ou pourboire, est ajoutée par l’utilisateur pour inciter un validateur à inclure plus rapidement sa transaction dans un bloc. Elle revient au validateur.
L’utilisateur définit aussi souvent une max fee per gas, c’est-à-dire le prix maximal qu’il accepte de payer par unité de gas. Si la base fee effective est inférieure à ce maximum, l’excédent non utilisé est remboursé.
3. Comment les utilisateurs l’obtiennent et le consomment
Un utilisateur ne va pas acheter du gas comme un jeton séparé. Il doit simplement posséder de l’ether, c’est-à-dire de l’ETH, dans son portefeuille.
Le processus concret est le suivant :
1. L’utilisateur achète ou reçoit de l’ETH.
2. Il envoie une transaction via un wallet comme MetaMask, Rabby, Coinbase Wallet, Ledger, etc.
3. Le wallet estime le gas nécessaire et propose des frais.
4. L’utilisateur valide la transaction.
5. Lors de l’exécution, l’EVM consomme du gas instruction par instruction.
6. Les frais sont déduits du solde en ETH de l’utilisateur.
Donc, techniquement, l’utilisateur obtient la capacité de consommer du gas en détenant de l’ETH. Le gas est l’unité de mesure de l’exécution, mais le paiement se fait en ETH.
Exemple simple :
Frais = 21000 × 20 gwei
Un transfert simple d’ETH consomme typiquement 21 000 gas. Si le prix effectif est de 20 gwei, alors :
21000 × 20 = 420000 gwei
Comme :
1 ETH = 10^9 gwei
cela donne :
420000 gwei = 0,00042 ETH
4. Mise en perspective économique
Le gas est à la fois :
- une barrière anti-spam, car chaque calcul a un coût ;
- un mécanisme d’allocation de ressources rares, car l’espace dans les blocs Ethereum est limité ;
- un prix de marché de la demande d’exécution, car les utilisateurs paient davantage lorsque le réseau est congestionné ;
- un mécanisme monétaire, depuis EIP-1559, car une partie des frais — la base fee — est brûlée, ce qui peut réduire l’offre nette d’ETH dans certaines périodes d’activité intense.
En résumé : Ethereum ne fait pas payer directement “un programme”, mais la quantité de calcul et de stockage qu’il impose au réseau. Cette ressource s’appelle le *gas, elle est consommée par l’EVM, son prix dépend de la congestion via la base fee et de la priorité choisie via la priority fee, et l’utilisateur la paie avec de l’ETH.
Mon analyse critique de la réponse de ChatGPT
Ce que ChatGPT a bien fait
La réponse est globalement solide et bien structurée. Le cœur du sujet est correctement traité : le gas est présenté comme une unité de coût computationnel, son rôle dans l'EVM est expliqué avec un bon niveau de détail, et le mécanisme EIP-1559 est décrit de façon pédagogique. La distinction base fee / priority fee est juste, et le fait de mentionner que la base fee est brûlée est une précision importante souvent passée sous silence. L'exemple numérique à la fin est bienvenu : il ancre une notion abstraite dans quelque chose de concret, ce qui est la marque d'une bonne réponse technique.
Ce qui est incomplet ou approximatif
Là où ça se complique, c'est sur la question "comment son prix est-il déterminé". ChatGPT explique le mécanisme EIP-1559 correctement en surface, mais sans vraiment rentrer dans la mécanique sous-jacente. La base fee n'est pas juste une fonction floue de "la congestion" : elle suit une règle précise et algorithmique. Si le bloc précédent était rempli à plus de 50 % de sa capacité cible, la base fee augmente de 12,5 % au maximum. Si le bloc était en dessous, elle diminue dans les mêmes proportions. C'est un ajustement automatique et borné, pas un marché libre, ce que ChatGPT n'a pas mentionné.
Par ailleurs, la réponse survole complètement la notion de gas limit au niveau du bloc (distinct du gas limit fixé par l'utilisateur). Chaque bloc a une capacité maximale en gas, actuellement autour de 30 millions d'unités avec une cible de 15 millions. C'est cette contrainte qui crée la rareté, et donc la pression sur les prix. Ne pas le mentionner, c'est comme expliquer pourquoi les billets d'avion sont chers sans mentionner que l'avion a un nombre de sièges limité.
Ce que ChatGPT n'a pas "vu"
Le point le plus intéressant que la réponse effleure à peine, c'est la dimension stratégique du gas pour l'utilisateur. Dans un contexte de congestion, la question n'est pas seulement "combien je paie ?" mais "comment j'optimise mon gas limit pour ne pas gaspiller ni me faire rejeter ?". Les développeurs de smart contracts passent beaucoup de temps à optimiser le gas de leur code. Certaines opérations sont délibérément réécrites pour consommer moins d'unités. ChatGPT traite l'utilisateur uniquement comme un consommateur passif, alors qu'il peut aussi être un acteur stratégique.
En résumé
ChatGPT donne une réponse correcte et pédagogique, honnêtement au-dessus de la moyenne pour une question de ce type. Mais elle reste descriptive là où on pourrait être analytique : le mécanisme d'ajustement de la base fee est sous-expliqué, la rareté structurelle créée par le gas limit de bloc est ignorée, et la dimension stratégique, pour l'utilisateur comme pour le développeur, est absente. Pour un cours de maths appliquées à la finance (précisé dans le prompt), c'est précisément sur ces angles que la réponse devrait s'orienter.