Cet article est le 300ème publié par Anthony Sassano dans le cadre de sa newsletter The Daily Gwei ! Comme beaucoup d’autres, il a été re-publié en français par nos amis de The Daily Gwei FR, créée par Jon Otherbright. Nous sommes heureux de publier à notre tour sur Ethereum-France cette synthèse d’EIP-1559. Pour ceux qui veulent creuser le sujet, nous recommandons la FAQ EIP-1559 de Vitalik Buterin, traduite par Jean Zundel.

Aujourd’hui est un jour spécial car nous célébrons la 300ème édition de la newsletter The Daily Gwei ! Pour marquer l’événement, j’ai fait équipe avec mon ami Nader afin de proposer un article explicatif d’EIP-1559. C’est la première fois que je co-écris un article pour la newsletter et je suis particulièrement heureux de le faire à propos de l’un des upgrades les plus importants de l’histoire d’Ethereum. Nader et moi souhaitons aussi remercier Tim Beiko et Trent Van Epps pour leur relecture et leurs retours sur cet article.


On a beaucoup parlé d’EIP-1559 dans la communauté Ethereum depuis qu’il a été proposé en Avril 2019. Alors qu’EIP-1559 est sur le point d’être déployé en production à l’occasion de l’upgrade London, Nader et moi avons écrit cet article afin de vous proposer un tour d’horizon d’EIP-1559 et des bénéfices attendus, au-delà de la destruction d’une partie du montant des frais.

Source: MetaMask

Bénéfices essentiels de EIP-1559

  1. Meilleure estimation des frais de transaction
  2. Relation symbiotique entre ETH, le réseau Ethereum et ses utilisateurs
  3. Plus grande fiabilité de l’inclusion des transactions

Ce que EIP-1559 ne fait pas

  1. Ne réduit pas le prix du gas sur le long terme
  2. Ne rend pas l’ETH déflationniste par défaut

Avant de plonger dans EIP-1559, il est important de clarifier quelques aspects souvent mal compris. Tout d’abord, EIP-1559 ne conduit pas en soi à des transactions moins coûteuses à long terme. Les prix du gas fluctuent en fonction de la demande d’émission de transactions relativement à l’espace disponible dans chaque bloc. Cette EIP contribue à lisser les prix du gas en permettant une augmentation modeste de la taille des blocs pendant les pics de demande. Elle n’améliore pas fondamentalement la scalabilité de la chaine, et n’est donc pas la solution finale pour réduire le prix du gas.

D’autre part, même si une certaine quantité d’ETH est brûlée lors de chaque transaction, on ne peut en conclure que cette diminution va compenser ou même excéder le taux d’émission du protocole. Pour que cela se produise, un taux de base de ~150 gwei est nécessaire pour compenser l’émission sur eth1 (Proof of Work) et un taux de base de ~20 gwei pour celle d’eth2 (Proof of Stake).

Mécanisme actuel des enchères pour le prix du gas

Actuellement, Ethereum utilise une système d’enchères pour définir le prix des transactions, ce qui signifie que les utilisateurs proposant les prix les plus hauts sont ceux qui ont le plus de chance d’avoir leurs transactions incluses en premier. Le problème majeur avec ce mécanisme, c’est que les prix peuvent fluctuer de façon très brutale en fonction des pics soudains de demande pour l’espace libre limité des blocs d’Ethereum. Les utilisateurs sont toujours dans l’incertitude quant au bon niveau de prix quand ils soumettent une transaction et doivent souvent sur-payer pour être sûrs que celle-ci sera incluse dans le prochain bloc. De façon générale, EIP-1559 cherche à offrir une meilleure expérience utilisateur en modifiant le mode d’estimation des frais de transaction et la façon dont le réseau traite les pics d’utilisation.

Modifications importantes apportées par EIP-1559

  1. Frais de base (Base Fee), Frais de priorité (Priority Fee), et frais maximum (Max Fee)
  2. Taille de bloc variable
  3. Destruction du montant des frais de base

Frais de Base, Frais de Priorité et frais Maximum

  • Frais de Base (Base Fee) – Le prix de gas minimum requis pour qu’une transaction soit incluse dans un bloc. Cette valeur est fixée par le protocole. Elle est variable, fait partie de l’entête du bloc, et correspond à la partie des frais de transaction qui est détruite.
  • Frais de Priorité (Priority Fee) – Le prix du gas que l’utilisateur est prêt à payer au mineur pour qu’il traite la transaction. Il est défini par l’utilisateur, fait partie de la transaction et est payé au mineur (il est attendu que ce fee sera par défaut de 2 gwei).
  • Frais Maximum (Max Fee) – Le prix du gas le plus élevé que l’utilisateur est prêt à payer pour sa transaction. Il est défini par l’utilisateur et fait partie de la transaction.

Une fois EIP-1559 mise en oeuvre, une transaction sera valide seulement si Max Fee est supérieur à Base Fee plus Priority Fee. Tout excédent sera remboursé à l’utilisateur.

Refund = Max Fee - (Base Fee + Priority Fee)

Le résultat est que les utilisateurs seront beaucoup plus confiants en soumettant une transaction, car ils auront uniquement besoin de provisionner assez pour les frais de base et des frais de priorité modestes pour s’assurer de l’inclusion de leur transaction dans un bloc. L’utilisateur n’a plus à se soucier de surenchérir sur les prix de gas parce que l’excédent lui est retourné plutôt que d’être payé au mineur (ou au validateur).

Avec la création du nouveau type de transaction 1559, les wallets et autres fournisseurs de service et d’infrastructure devront upgrader leurs offres pour être compatible. Le format de transaction actuel continuera cependant à être traité. Le réseau interprétera les frais de priorité comme étant la différence entre le prix du gas aujourd’hui défini par l’utilisateur et les frais de base du bloc courant. Le seul inconvénient est que ces transactions ne donneront pas lieu à un remboursement de l’utilisateur s’il y a un excédent.

Priority Fee = Legacy Gas Price - Base Fee


Un exemple de deux transactions incluse dans le même bloc avec des frais de base à 15 gwei

Taille de bloc variable

Actuellement, Ethereum a une limite inflexible de 15 millions de gas par bloc. Vous pouvez vous représenter la limite du gas comme la taille du bloc qui limite le nombre de transactions qui peuvent être incluses dans un seul bloc. Lorsqu’il y a un pic de demande, les prix du gas montent en flèche car les blocs sont pleins et aucun dépassement n’est possible.

EIP-1559 autorise une augmentation temporaire de la taille de bloc afin de traiter un afflux soudain de transactions. Ceci est rendu possible au moyen de deux paramètres de bloc : la limite et la cible. La cible correspond à 50% de la limite, ce qui signifie que si la cible est de 15 millions de gas, la limite est de 30 millions. Idéalement, la taille de chaque bloc devrait être proche de la cible (50% de la capacité maximum). Pour s’assurer que les blocs restent proches de la cible, Ethereum réduira les frais de base lorsque les blocs sont plus petits que la cible, et les augmentera quand ils dépasseront la cible. Il convient aussi de noter que dans ce scénario, les frais de base augmentent très vite : 12.5% pour chaque bloc plein. Ce nombre peut ne pas paraître élevé, mais il signifie que les frais de base décupleront en ~20 blocs (~260 secondes), seront multipliés par 100 en 40 blocs (~520 secondes), et auraient théoriquement consommé tous les ETH existant après ~170 blocs (~2210 secondes). Vous pouvez vous amuser avec cette feuille de calcul de Trent Van Epps pour vous faire une meilleure idée du fonctionnement de ce système.

Pour résumer : les tailles de bloc variables lissent les prix du gas en permettant une augmentation temporaire de l’espace des blocs. Il en résulte à court terme une modération de l’augmentation des prix du gas entre les blocs.

Destruction des frais de base

Comme indiqué précédemment, les frais de priorité sont envoyés au mineur, mais les frais de base sont détruits et retirés de la circulation de façon permanente. La raison première de ce mécanisme est que si ces frais étaient payés aux mineurs, ceux-ci seraient incités à les maintenir à un niveau élevé afin de maximiser leur profit (et ils pourraient même encombrer le réseau avec des frais de transaction élevés, dont ils seraient remboursés en minant un bloc). La destruction des frais de base garantit que leur niveau est indifférent aux mineurs

La destruction des frais de base fait de l’ETH une partie inhérente au protocole Ethereum. Aujourd’hui, tout crypto-actif ou même une monnaie fiat pourrait techniquement être utilisé pour payer le coût de traitement d’une transaction sur Ethereum. Un utilisateur peut soumettre une transaction sans frais et faire affaire avec un mineur en dehors du protocole (c’est ce que permettent les Flashbots). Avec EIP-1559, il devient nécessaire d’inclure un petit montant en ETH en tant que frais de base pour que le réseau accepte la transaction comme valide, ce qui assainit la relation entre le crypto-actif ETH et le réseau Ethereum.

Conclusion

Comme vous pouvez le voir, EIP-1559 va grandement améliorer l’expérience utilisateur en matière de traitement des transactions sur Ethereum. Bien sûr, la plupart des gens se concentrent sur le mécanisme de destruction des frais de base (et nous n’y échappons pas), mais les bénéfices globaux d’EIP-1559 vont bien au-delà et auront un impact positif sur les utilisateurs finaux. Si vous souhaitez étudier plus en profondeur EIP-1559, vous pouvez consulter cette compilation de ressources de Tim Beiko.

Passez une excellente soirée et à demain,
Anthony Sassano


Traduction par PhilH, relecture par Charles 53300 et Noé Curtz, édition sur The Daily Gwei par CookingCryptos.