Le gas et les frais de transaction

Pourquoi les transactions sont payantes, comment fonctionne le gas sur Ethereum, ce que sont le gwei et les frais de base brûlés, et les frais sur Bitcoin.

5 min · 920 motsMis à jour: #bases#frais#gas#ethereum

Presque chaque action sur une blockchain publique entraîne de petits frais. Envoyer des pièces, échanger des jetons, minter un NFT : chacune de ces opérations est une transaction, et quelqu'un doit payer pour que le réseau la traite. Sur Ethereum et les réseaux similaires, ces frais s'expriment en gas. Sur Bitcoin, on parle simplement de frais de transaction. Cet article explique pourquoi les frais existent et comment ils sont calculés.

Pourquoi les blockchains font payer des frais

Les frais règlent deux problèmes à la fois.

  • Financer la sécurité : les mineurs ou les validateurs fournissent un vrai travail pour faire tourner le réseau, et les frais font partie de leur récompense.
  • Empêcher le spam : l'espace dans chaque bloc est limité. Si les transactions étaient gratuites, n'importe qui pourrait inonder le réseau de transactions inutiles. Les frais rendent cela coûteux et permettent au réseau de décider quelles transactions passent en premier quand la demande est forte.

Comme l'espace dans les blocs est limité, les frais se comportent comme un marché. Quand beaucoup de gens veulent effectuer des transactions au même moment, ils se disputent l'espace et les frais montent. Quand le réseau est calme, ils baissent.

Le gas sur Ethereum

Sur Ethereum, chaque opération effectuée par une transaction a un coût fixe, mesuré en unités de gas. Un simple transfert d'ether consomme une petite quantité fixe de gas. Interagir avec un contrat intelligent, par exemple pour un échange sur une plateforme d'échange décentralisée, en demande généralement davantage, car le réseau doit effectuer plus de calculs et stocker plus de données.

Il est utile de distinguer deux notions :

  • Le gas consommé : la quantité de travail nécessaire à la transaction. Elle dépend de ce que fait la transaction.
  • Le prix du gas : ce que vous payez par unité de gas. Il dépend de l'encombrement du réseau.

Les frais totaux correspondent à peu près au gas consommé multiplié par le prix du gas.

Qu'est-ce que le gwei

Le prix du gas s'exprime en gwei, une petite unité d'ether. Un gwei équivaut à un milliardième d'ether, soit 10^-9 ETH. Le gwei évite d'écrire des prix avec de longues suites de zéros.

La limite de gas

Quand vous envoyez une transaction, votre portefeuille fixe une limite de gas (gas limit) : la quantité maximale de gas que vous autorisez la transaction à consommer. Si elle en exige davantage, elle échoue, et le gas déjà consommé reste dû, puisque le réseau a effectué le travail. Les portefeuilles estiment généralement une limite adaptée de façon automatique.

EIP-1559 : frais de base et frais de priorité

En août 2021, la mise à jour London a introduit l'EIP-1559, qui a modifié le fonctionnement des frais sur Ethereum. Depuis, les frais par unité de gas se composent de deux parties :

  • Les frais de base (base fee) : fixés par le protocole pour chaque bloc, ils augmentent quand les blocs sont plus remplis que la cible et diminuent quand ils le sont moins. Les frais de base sont brûlés, c'est-à-dire définitivement retirés de la circulation au lieu d'être versés à quelqu'un.
  • Les frais de priorité (priority fee), souvent appelés pourboire (tip) : un montant supplémentaire versé au validateur pour l'inciter à inclure votre transaction plus tôt.

Les utilisateurs fixent aussi des frais maximaux (max fee), le plafond qu'ils acceptent de payer par unité de gas. Si les frais de base plus le pourboire s'avèrent inférieurs, la différence n'est pas prélevée. Ce mécanisme a rendu les frais plus faciles à estimer pour les portefeuilles, sans pour autant les rendre bon marché quand la demande est forte.

Les frais sur Bitcoin

Bitcoin n'utilise pas de gas. Les frais d'une transaction Bitcoin dépendent principalement de sa taille en données, et non de la quantité de bitcoins envoyée. Une transaction qui dépense de nombreuses petites entrées occupe plus de place et coûte plus cher qu'une transaction à entrée unique, même si le montant est identique. Les frais s'expriment généralement en satoshis par octet virtuel.

Les mineurs choisissent les transactions à inclure et privilégient en général celles qui paient le plus par octet. Les transactions en attente de confirmation patientent dans une file appelée mempool. Si vous payez trop peu en période d'affluence, votre transaction risque d'attendre longtemps.

Les frais Bitcoin reviennent au mineur qui inclut la transaction. Comme la subvention de bloc diminue à chaque halving, les frais devraient prendre une place croissante dans les revenus des mineurs.

Pourquoi les frais varient autant

  • La demande : des événements très suivis, la volatilité du marché ou le lancement d'un nouveau jeton peuvent remplir rapidement les blocs.
  • Le type de transaction : sur Ethereum, les appels de contrats complexes consomment plus de gas que les simples transferts.
  • Le choix du réseau : chaque blockchain a sa propre capacité et ses propres règles de frais.

Comment réduire ses frais

  • Envoyer ses transactions quand le réseau est moins chargé
  • Utiliser des réseaux de Layer 2, qui regroupent de nombreuses transactions et les publient ensemble sur la chaîne principale
  • Sur Bitcoin, regrouper les petites entrées quand les frais sont bas

Les frais des plateformes d'échange sont une autre affaire. Une plateforme d'échange centralisée facture ses propres frais de trading et de retrait, fixés par l'entreprise et non par la blockchain.

Points clés

  • Les frais financent la sécurité du réseau et protègent contre le spam.
  • Sur Ethereum, les frais égalent le gas consommé multiplié par le prix du gas, exprimé en gwei.
  • Depuis l'EIP-1559, les frais de base sont brûlés et le pourboire revient au validateur.
  • Les frais Bitcoin dépendent de la taille de la transaction, et non du montant envoyé.