Optimisation de l'efficacité du gaz Ethereum avec EIP-1559 multidimensionnel

Avancé2/25/2025, 7:33:00 AM
Découvrez comment l'EIP-1559 multidimensionnel optimise l'efficacité du gaz d'Ethereum en séparant les coûts des ressources, en améliorant la scalabilité et en améliorant l'utilisation du réseau.

Introduction

Le protocole EIP-1559 multidimensionnel a émergé en tant que sujet de recherche après avoir été introduit par Vitalik Buterin dans un Publication EthResearchen janvier 2022. Bien qu'il n'ait pas reçu autant d'attention que d'autres sujets de recherche comme les rollups, MEV ou les solutions de disponibilité des données, c'est un domaine d'étude actif. Des articles de recherche récemment publiés par Guillermo AngerisetThéo Diamandis Explorez les fondements théoriques et la robustesse des marchés multidimensionnels et proposez comment ils devraient être construits.

En fait, les marchés de frais multidimensionnels sont déjà utilisés aujourd'hui. Avec l'adoption de l'EIP-4844 en mars 2024, Ethereum a introduit le gas blob, créant un marché de frais séparé pour les transactions de blob. Cela a marqué un passage d'un modèle de gas unidimensionnel à un marché de frais bidimensionnel.

Cependant, il est encore nécessaire d'augmenter le nombre de dimensions des ressources pour optimiser l'utilisation des ressources de transaction. L'expansion des marchés de frais multidimensionnels est une solution d'évolutivité pour améliorer la capacité d'Ethereum à gérer plus efficacement des ressources diverses.

Cet article explore l'importance et le fonctionnement des marchés de frais de gaz multidimensionnels, expliquant comment ils améliorent la scalabilité d'Ethereum et l'allocation des ressources.

Commençons par examiner ce qu'est exactement la tarification du gaz multidimensionnelle.

Qu'est-ce que la tarification du gaz multidimensionnelle ?

La tarification du gaz multidimensionnelle est une solution d'échelle L1, comme augmenter la limite de gazrécemmentimplémenté sur Ethereum. Bien qu’il n’augmente pas directement la capacité totale de transaction d’Ethereum, il maximise l’utilisation des ressources dans les limites existantes. Cela permet à des applications plus décentralisées (DApps) et à des utilisateurs d’effectuer des transactions sur la couche de base d’Ethereum sans congestion inutile.

Ethereum regroupe actuellement tous les coûts des ressources, tels que le calcul, le stockage et la bande passante, dans une seule unité de gaz. Au lieu de cela, la tarification multidimensionnelle du gaz sépare ces ressources, optimisant leur allocation tout en maintenant la sécurité et la décentralisation d'Ethereum.

Pour comprendre pourquoi c'est bénéfique, considérons une analogie du monde réel.

Le club de fitness comme analogie

Imaginez un club de fitness avec diverses installations, telles que des tapis de course pour le cardio, des racks de squat pour l'entraînement en force et des haltères pour un usage général. Les membres ont des préférences différentes : certains utilisent exclusivement les tapis de course, d'autres se concentrent sur les racks de squat, et quelques-uns alternent entre les deux.

Dans un système où la salle de sport facture des frais d'entrée fixes basés sur le nombre total de membres, des inefficacités se produisent. Les jours où les tapis de course sont surchargés mais les racks de squat sont sous-utilisés, les frais fixes grimpent pour tout le monde, obligeant les entraîneurs de poids à payer pour la congestion qu'ils n'ont pas causée. De même, lorsque les racks de squat sont très demandés, mais que les tapis de course sont vides, les utilisateurs de cardio supportent des coûts inutiles. Cette tarification unidimensionnelle lie la capacité de la salle de sport à sa ressource la plus congestionnée, créant une sous-utilisation des autres installations. Cela peut être considéré comme un modèle de tarification unidimensionnel.

Maintenant, imaginez que la salle de sport introduise un modèle de tarification multidimensionnel. Au lieu d'un tarif fixe, elle facture séparément les tapis de course et les racks de squat. Les utilisateurs de cardio et les entraîneurs de poids ne sont plus affectés par l'utilisation de l'autre, et la salle de sport peut optimiser sa capacité en gérant ces ressources de manière indépendante. Avec une utilisation plus équilibrée, la salle de sport peut accueillir plus d'utilisateurs sans augmenter la congestion globale.

Cette approche illustre l'essence de la tarification multidimensionnelle : diviser les ressources en marchés distincts pour améliorer l'équité et l'efficacité. Cependant, une granularité excessive, telle que des tarifs séparés pour chaque équipement, peut introduire une complexité inutile et rendre le système plus difficile à utiliser. C'est pourquoi, en pratique, les clubs de fitness ont principalement un prix fixe pour les frais d'entrée et insistent sur un modèle de tarification unidimensionnel.

De la même manière que des frais séparés pour les tapis de course et les racks de squat peuvent réduire la congestion, Ethereum peut utiliser des marchés séparés pour les ressources, telles que la computation et l'utilisation des données.

Comment cela s'applique à Ethereum

Avant l’EIP-4844, Ethereum utilisait un modèle de tarification du gaz unidimensionnel, où toutes les ressources de transaction, y compris le calcul, le stockage et la bande passante, étaient regroupées dans une seule mesure : le gaz. Ce modèle conduit intrinsèquement à des inefficacités, similaires à l’analogie du club de fitness :

  • Si une ressource, telle que le calcul, est fortement utilisée, les frais augmentent pour tous les utilisateurs, même si d’autres ressources restent sous-utilisées.
  • Si certaines ressources ont une capacité excédentaire, elles restent inutilisées en raison de la limite rigide de gas.

Un exemple clé de cette inefficacité est la façon dont les cumuls stockaient auparavant les données de transaction. Avant l’EIP-4844, les rollups affichaient leurs données de transaction dans le champ calldata d’Ethereum et payaient des frais de gaz en fonction de la tarification calldata. Cependant, avec l’adoption de l’EIP-4844 en mars 2024, les cumuls utilisent désormais une unité distincte appelée gaz blob, qui leur permet de stocker des données dans des structures dédiées appelées blobs.

Bien que l'EIP-4844 ait introduit une deuxième dimension de gaz (gaz blob) pour les données de rollup, elle reste limitée dans sa portée : le gaz blob s'applique uniquement aux transactions de blob. D'autres composants de transaction, y compris l'exécution de l'EVM, les données d'appel et le stockage, sont toujours tarifés selon un modèle de gaz unique. Les transactions Ethereum consomment toujours de multiples ressources indépendantes, mais toutes sont tarifées en gaz, ce qui entraîne des scénarios inefficaces dans le pire des cas.

Par exemple, supposons qu'une seule transaction consomme la limite de gaz entière (actuellement 36M) lors de l'exécution de l'EVM. Même si les nœuds Ethereum pouvaient gérer en toute sécurité des tailles de données plus importantes, la transaction ne peut pas propager de données supplémentaires car le gaz est traité comme une contrainte unique plutôt que comme plusieurs limites indépendantes.

Ce problème devient encore plus évident lorsqu'on regarde la distribution de la taille des blocs d'Ethereum. De juillet 2024 à décembre 2024, la taille moyenne des blocs a été d'environ 73 Ko, la plupart des blocs étant bien en dessous de 100 Ko. Cependant, dans le bloc #21419230, la taille maximale des blocs a atteint 1,48 Mo, soit 20 fois plus que la moyenne.

La tarification multidimensionnelle du gaz aborde ce problème en traitant chaque ressource de manière indépendante : la computation, le stockage et la bande passante bénéficient d'une tarification et de limites distinctes. Cette séparation évite les goulots d'étranglement où une ressource domine les coûts de gaz et optimise la capacité sans accroître les risques de sécurité.

Les articles de Vitalik Buterin proposent plusieurs types de ressources clés pour la séparation. Explorons ces ressources candidates et pourquoi les séparer pourrait améliorer la scalabilité d'Ethereum.

Quelles ressources peuvent être séparées grâce à une tarification du gaz multidimensionnelle ?

Lors de la conception d'un marché des frais multidimensionnel, l'indépendance des ressources est l'un des facteurs les plus critiques. Si deux ressources hautement interdépendantes sont placées sur des marchés des frais distincts, cela peut entraîner des inefficacités, des erreurs de prix et une complexité inutile. Par exemple, si le calcul (cycles CPU) et l'utilisation de la mémoire (RAM) sont tarifés séparément, mais que l'un dépend de l'autre, les utilisateurs pourraient manipuler le système en transférant les coûts entre eux, ce qui entraînerait une tarification sous-optimale.

Ainsi, avant de classer les ressources d'Ethereum sur des marchés du gaz séparés, nous devons d'abord identifier quelles ressources sont suffisamment indépendantes pour être tarifées séparément sans fausser l'économie du réseau.

Au cœur de son fonctionnement, un nœud Ethereum est un ordinateur gérant de multiples ressources en parallèle. Les ressources matérielles traditionnelles sont catégorisées en composants distincts pouvant être optimisés indépendamment:

  • Calcul (CPU) - Exécution d'opérations telles que ADD, MULTIPLY et exécution de contrats intelligents.
  • Entrée/sortie de mémoire (RAM) – La lecture/écriture de données temporaires, affectant la vitesse d'exécution.
  • Stockage E/S (Lecture/Écriture SSD/HDD) – Accès à l'état persistant, impactant l'efficacité du stockage à long terme.
  • Croissance du stockage (augmentation de l'espace disque) - L'expansion des données stockées, affectant la durabilité du nœud.
  • Bande passante (transfert de données réseau) - La capacité de transmettre des transactions et des données de bloc.

Le principe clé ici est la parallélisation : si un système peut traiter ces ressources de manière indépendante, les séparer pour la tarification a du sens. En appliquant cela à Ethereum, nous devrions chercher à classer les ressources d'Ethereum d'une manière qui permet aux nœuds Ethereum de fonctionner aussi efficacement que possible sans dépendances inutiles.

Contrairement aux ordinateurs, les opérations Ethereum ne rentrent pas parfaitement dans une seule catégorie. De nombreuses opérations consomment simultanément plusieurs ressources, ce qui rend difficile de les séparer parfaitement. Par exemple,

  • Les données d’appel de transaction consomment principalement de la bande passante car elles doivent être transmises sur le réseau., elles contribuent également à la croissance du stockage car elles restent en permanence dans la blockchain.
  • SLOAD (Storage Read) utilise des E/S de stockage, mais si un nœud est sans état, il a également besoin de bande passante pour récupérer les preuves d’état à partir d’un nœud complet.
  • Les écritures de stockage (SSTORE) sont plus coûteuses que les lectures car elles augmentent l'état persistant d'Ethereum, contribuant à l'encombrement du stockage à long terme.

Ces interdépendances rendent impraticable la séparation de chaque ressource en son propre marché de tarification. Au lieu de cela, nous devrions nous concentrer sur les goulots d'étranglement les plus importants ayant un impact direct sur la scalabilité d'Ethereum.

Bien que les opérations d’Ethereum impliquent de multiples ressources, les candidats à la tarification multidimensionnelle actuellement discutés sont les suivants :

  • Calcul (exécution EVM) – Des opérations simples telles que ADD et MULTIPLY sont des tâches CPU pures.
  • E/S de stockage (SSTORE/SLOAD) - Lectures et écritures persistantes qui affectent l'expansion de l'état d'Ethereum.
  • Transaction Calldata - Utilise principalement la bande passante mais contribue également au stockage.
  • Les données de témoin - affectent la bande passante et les E/S de stockage, en particulier pour les clients sans état.

En alignant ces catégories sur la façon dont les systèmes informatiques gèrent les ressources, nous pouvons rendre la structure tarifaire d'Ethereum plus intuitive et efficace.

Alors qu’en théorie, nous pourrions subdiviser les ressources Ethereum en catégories encore plus granulaires, cela augmenterait la complexité sans avantages proportionnés. Au lieu de cela, nous devrions nous concentrer sur les principaux goulots d’étranglement qui limitent les performances d’Ethereum aujourd’hui.

Par exemple, la taille des données d’appel de transaction détermine directement la taille maximale du bloc, ce qui en fait un goulot d’étranglement crucial pour la couche de consensus d’Ethereum. En outre, la croissance du stockage doit être contrôlée pour éviter que les nœuds complets ne deviennent trop coûteux à exécuter, ce qui maintient la décentralisation.

Ainsi, plutôt que d’introduire trop de dimensions, il est pratique de se concentrer sur quelques ressources clés qui dominent l’efficacité d’Ethereum.

Avec ces ressources primaires identifiées, nous pouvons explorer deux façons distinctes de réaliser une tarification multidimensionnelle : des marchés de frais séparés ou une unité de gaz unique modifiée.

Mise en œuvre de la tarification multidimensionnelle du gaz 1: Marchés distincts pour chaque ressource

Une approche pour mettre en œuvre une tarification multidimensionnelle du gaz consiste à créer des marchés indépendants pour chaque ressource, garantissant une allocation plus efficace. Cette méthode a déjà été partiellement mise en œuvre grâce à l'EIP-4844, qui a introduit le gaz blob comme une unité distincte pour le stockage des données de rollup.

Ce concept peut être étendu à d'autres ressources, telles que la croissance de l'état ou la taille du témoin, permettant à Ethereum de gérer les limites de chaque ressource séparément au lieu de regrouper tous les coûts sous une seule mesure de gaz.

Pour formaliser cette approche, définissons bi comme étant le tarif de base pour la ressource i, gi comme étant la consommation de la ressource i dans une transaction, et ki​ comme étant la limite pour la ressource i dans un seul bloc.

Le montant total des frais de transaction serait calculé comme ibi*gi​, et un bloc doit satisfaire la contrainte de tous les txbi ki , pour tous les i pour toutes les ressources i. Comme le modèle actuel EIP-1559, bi est ajusté dynamiquement en fonction de l'utilisation du bloc précédent. Ethereum pourrait adopter des modèles de tarification exponentielle (comme ceux utilisés pour blob gas) ou un autre mécanisme de mise à jour des frais pour réguler la consommation de ressources.

Le modèle de marché des frais séparés offre des avantages clés. Il permet un contrôle précis de chaque ressource en autorisant un plafonnement indépendant, ce qui aide à éviter les estimations inefficaces au pire des cas dans le cadre du modèle gazier actuel. Il empêche également les congestions inutiles, garantissant que la forte demande pour une ressource ne fait pas augmenter de manière disproportionnée les frais pour des opérations sans rapport. De plus, cette approche optimise l'utilisation du réseau en permettant des limites directes sur des facteurs tels que la propagation des données, en les plafonnant à 1 Mo par exemple, ou la croissance de l'état, plutôt que de compter sur des ajustements indirects des prix du gaz pour réguler la consommation de ressources.

Bien que les marchés tarifaires séparés offrent une allocation améliorée des ressources, subdiviser les ressources trop finement introduit une complexité significative. Créer des marchés indépendants pour chaque type de ressource nécessiterait des modifications majeures du protocole, ce qui pourrait potentiellement déstabiliser la couche de base d'Ethereum. Les DApps et les portefeuilles seraient également confrontés à des défis supplémentaires, car ils devraient suivre plusieurs marchés tarifaires et prévoir les fluctuations des frais de base pour chaque ressource, rendant l'inclusion de transactions rentable et opportune plus difficile.

Un autre problème survient lorsqu'une ressource connaît une hausse de prix imprévisible. Même si un portefeuille optimise les frais pour toutes les autres ressources, une augmentation soudaine sur un seul marché des frais pourrait empêcher une transaction d'être incluse dans un bloc, entraînant de l'incertitude et des inefficacités pour les utilisateurs.

Les validateurs sont confrontés à des défis similaires, car leur objectif est de maximiser leurs gains tout en respectant les contraintes de chaque limite de ressource. Avec l'augmentation du nombre de marchés de ressources indépendants, cette situation devient un problème d'optimisation complexe, ressemblant à un problème de sac à dos multidimensionnel où la sélection des transactions les plus rentables devient de plus en plus difficile.

Certains soutiennent que cette complexité peut ne pas être un problème majeur, car les gains de la Valeur Maximale Extrayable (MEV) contribuent de manière significative aux bénéfices des validateurs, rendant les frais de priorité moins critiques dans leur processus décisionnel. Cependant, la faisabilité globale de la mise en œuvre de marchés de frais entièrement séparés pour chaque ressource reste une question de recherche ouverte, nécessitant une exploration approfondie des compromis entre efficacité, utilisabilité et stabilité du réseau.

Mise en œuvre de la tarification du gaz multidimensionnelle 2: Garder le gaz comme unité principale

Une alternative plus simple pour séparer complètement les marchés des frais est de conserver le gaz comme unité principale tout en ajustant la manière dont les frais sont calculés. Au lieu d'introduire de nouvelles unités pour chaque ressource, les frais totaux de transaction sont déterminés par la ressource qui consomme le plus de gaz.

Définissons le coût en gaz pour la ressource i comme ci et la quantité de ressource utilisée comme gi. Les frais de transaction sont alors déterminés par :

(c1g1 , c2g2 , c3*g3,...)

Au lieu de faire la somme de l'utilisation du gaz pour toutes les ressources, une transaction est facturée uniquement en fonction de la ressource la plus coûteuse qu'elle consomme.

Prenons l’exemple d’une transaction qui consomme 50 000 gaz pour l’exécution de l’EVM et 200 000 gaz pour les données d’appel. Dans ce modèle, les frais de transaction sont de 200 000 gaz, car les données d’appel sont la ressource dominante et le coût d’exécution est effectivement ignoré.

Bien que cette méthode simplifie la tarification, elle introduit des problèmes potentiels :

  • Problèmes d’équité : une transaction qui utilise 200 000 000 $ de gaz pour les données d’appel et 50 000 $ pour l’exécution paie les mêmes frais qu’une transaction qui utilise 200 000 000 $ de gaz pour les données d’appel et 150 000 $ pour l’exécution. Cela encourage le regroupement, où plusieurs transactions sont stratégiquement combinées pour exploiter les avantages en termes de coûts. Par conséquent, les optimiseurs sophistiqués peuvent en bénéficier, ce qui rend les coûts de transaction moins prévisibles pour les utilisateurs réguliers et les DApps.
  • Inefficacité des ressources : Comme seule la ressource la plus consommatrice compte, les utilisateurs peuvent délibérément surutiliser d'autres ressources sans frais supplémentaires. Dans l'exemple précédent, l'exécution de l'EVM jusqu'à 150K de gaz ne coûte aucun frais supplémentaire, créant des transactions gaspilleuses qui encombrent le réseau sans augmenter les coûts.

Malgré ces préoccupations, le principal avantage de cette approche est sa simplicité. En conservant le gaz comme unité de tarification universelle, Ethereum évite la complexité de la gestion de plusieurs unités de ressources tout en faisant la différence entre les différents types d’utilisation des ressources.

Réf. EIP-7623, qui sera mis en œuvre dans le Mise à niveau de Pectra, suit une approche similaire mais légèrement modifiée. Il introduit un mécanisme de double tarification pour les transactions à forte utilisation de données d'appel, garantissant que les transactions avec une utilisation disproportionnée de données d'appel paient des frais plus élevés. Bien qu'il ne s'agisse pas d'un modèle de tarification du gaz pleinement multidimensionnel, il représente une avancée vers une meilleure différenciation des ressources sans refonte de la structure de gaz d'Ethereum.

Comment EIP-7623 est-il lié à la tarification multidimensionnelle du gaz?

EIP-7623 introduit des frais plus élevés pour les transactions de disponibilité des données (DA), en particulier lorsque l'utilisation des données d'appel dépasse significativement l'utilisation du gaz d'exécution. Ce mécanisme garantit que les transactions consommant des données d'appel excessives paient des frais plus élevés, décourageant le stockage de données inutiles sans nécessiter de nouvelles unités de tarification.

Une version simplifiée du calcul du gaz de l'EIP-7623 est la suivante :

total_gas_used max(4tokens_in_calldata + evm_gas_used, 10*tokens_in_calldata)

Ce qui se simplifie encore en :

total_gas_used 4tokens_in_calldata + max(evm_gas_used, 6*tokens_in_calldata)

Cette formule détermine l'utilisation totale du gaz en prenant le maximum entre le gaz d'exécution et le gaz de données d'appel. Si une transaction utilise principalement les données d'appel, des frais plus élevés seront facturés pour les données d'appel plutôt que d'être subventionnés par des coûts d'exécution plus bas. Cela décourage le stockage excessif de données tout en garantissant que les transactions gourmandes en calcul ne sont pas pénalisées de manière injuste.

EIP-7623 est une version simplifiée de la tarification du gaz multidimensionnelle car elle introduit une distinction implicite entre le gaz d'exécution et le gaz de données d'appel, encourageant une allocation plus équilibrée des ressources réseau.

Conclusion

Bien que la tarification du gaz multidimensionnelle soit souvent perçue comme une amélioration économique ou UI/UX, il s'agit d'une amélioration fondamentale de la scalabilité qui permet une allocation optimisée des ressources. Cependant, sa mise en œuvre est confrontée à des défis importants, principalement en raison des modifications substantielles requises au niveau du protocole et de la difficulté de séparer pleinement les types de ressources. Par conséquent, il est peu probable que la tarification du gaz multidimensionnelle soit adoptée prochainement.

Malgré ces défis, la tarification multidimensionnelle du gaz offre des avantages substantiels, notamment une meilleure utilisation des ressources, une sécurité réseau renforcée et un fonctionnement durable des nœuds. Permettre une utilisation plus efficace de la capacité de calcul et de stockage d'Ethereum présente un chemin viable pour qu'Ethereum puisse se développer tout en préservant la décentralisation et la sécurité.

Avertissement :

  1. Cet article est reproduit à partir de [Recherche 2077]. Tous les droits d'auteur appartiennent à l'auteur original [Seongwan Park]. Si vous avez des objections à cette réimpression, veuillez contacter le Porte d’apprentissage et ils s’en occuperont rapidement.
  2. Clause de non-responsabilité : Les points de vue et opinions exprimés dans cet article sont uniquement ceux de l’auteur et ne constituent pas un conseil en investissement.
  3. L'équipe Learn de gate effectue des traductions de l'article dans d'autres langues. Copier, distribuer ou plagier les articles traduits est interdit sauf mention contraire.

Optimisation de l'efficacité du gaz Ethereum avec EIP-1559 multidimensionnel

Avancé2/25/2025, 7:33:00 AM
Découvrez comment l'EIP-1559 multidimensionnel optimise l'efficacité du gaz d'Ethereum en séparant les coûts des ressources, en améliorant la scalabilité et en améliorant l'utilisation du réseau.

Introduction

Le protocole EIP-1559 multidimensionnel a émergé en tant que sujet de recherche après avoir été introduit par Vitalik Buterin dans un Publication EthResearchen janvier 2022. Bien qu'il n'ait pas reçu autant d'attention que d'autres sujets de recherche comme les rollups, MEV ou les solutions de disponibilité des données, c'est un domaine d'étude actif. Des articles de recherche récemment publiés par Guillermo AngerisetThéo Diamandis Explorez les fondements théoriques et la robustesse des marchés multidimensionnels et proposez comment ils devraient être construits.

En fait, les marchés de frais multidimensionnels sont déjà utilisés aujourd'hui. Avec l'adoption de l'EIP-4844 en mars 2024, Ethereum a introduit le gas blob, créant un marché de frais séparé pour les transactions de blob. Cela a marqué un passage d'un modèle de gas unidimensionnel à un marché de frais bidimensionnel.

Cependant, il est encore nécessaire d'augmenter le nombre de dimensions des ressources pour optimiser l'utilisation des ressources de transaction. L'expansion des marchés de frais multidimensionnels est une solution d'évolutivité pour améliorer la capacité d'Ethereum à gérer plus efficacement des ressources diverses.

Cet article explore l'importance et le fonctionnement des marchés de frais de gaz multidimensionnels, expliquant comment ils améliorent la scalabilité d'Ethereum et l'allocation des ressources.

Commençons par examiner ce qu'est exactement la tarification du gaz multidimensionnelle.

Qu'est-ce que la tarification du gaz multidimensionnelle ?

La tarification du gaz multidimensionnelle est une solution d'échelle L1, comme augmenter la limite de gazrécemmentimplémenté sur Ethereum. Bien qu’il n’augmente pas directement la capacité totale de transaction d’Ethereum, il maximise l’utilisation des ressources dans les limites existantes. Cela permet à des applications plus décentralisées (DApps) et à des utilisateurs d’effectuer des transactions sur la couche de base d’Ethereum sans congestion inutile.

Ethereum regroupe actuellement tous les coûts des ressources, tels que le calcul, le stockage et la bande passante, dans une seule unité de gaz. Au lieu de cela, la tarification multidimensionnelle du gaz sépare ces ressources, optimisant leur allocation tout en maintenant la sécurité et la décentralisation d'Ethereum.

Pour comprendre pourquoi c'est bénéfique, considérons une analogie du monde réel.

Le club de fitness comme analogie

Imaginez un club de fitness avec diverses installations, telles que des tapis de course pour le cardio, des racks de squat pour l'entraînement en force et des haltères pour un usage général. Les membres ont des préférences différentes : certains utilisent exclusivement les tapis de course, d'autres se concentrent sur les racks de squat, et quelques-uns alternent entre les deux.

Dans un système où la salle de sport facture des frais d'entrée fixes basés sur le nombre total de membres, des inefficacités se produisent. Les jours où les tapis de course sont surchargés mais les racks de squat sont sous-utilisés, les frais fixes grimpent pour tout le monde, obligeant les entraîneurs de poids à payer pour la congestion qu'ils n'ont pas causée. De même, lorsque les racks de squat sont très demandés, mais que les tapis de course sont vides, les utilisateurs de cardio supportent des coûts inutiles. Cette tarification unidimensionnelle lie la capacité de la salle de sport à sa ressource la plus congestionnée, créant une sous-utilisation des autres installations. Cela peut être considéré comme un modèle de tarification unidimensionnel.

Maintenant, imaginez que la salle de sport introduise un modèle de tarification multidimensionnel. Au lieu d'un tarif fixe, elle facture séparément les tapis de course et les racks de squat. Les utilisateurs de cardio et les entraîneurs de poids ne sont plus affectés par l'utilisation de l'autre, et la salle de sport peut optimiser sa capacité en gérant ces ressources de manière indépendante. Avec une utilisation plus équilibrée, la salle de sport peut accueillir plus d'utilisateurs sans augmenter la congestion globale.

Cette approche illustre l'essence de la tarification multidimensionnelle : diviser les ressources en marchés distincts pour améliorer l'équité et l'efficacité. Cependant, une granularité excessive, telle que des tarifs séparés pour chaque équipement, peut introduire une complexité inutile et rendre le système plus difficile à utiliser. C'est pourquoi, en pratique, les clubs de fitness ont principalement un prix fixe pour les frais d'entrée et insistent sur un modèle de tarification unidimensionnel.

De la même manière que des frais séparés pour les tapis de course et les racks de squat peuvent réduire la congestion, Ethereum peut utiliser des marchés séparés pour les ressources, telles que la computation et l'utilisation des données.

Comment cela s'applique à Ethereum

Avant l’EIP-4844, Ethereum utilisait un modèle de tarification du gaz unidimensionnel, où toutes les ressources de transaction, y compris le calcul, le stockage et la bande passante, étaient regroupées dans une seule mesure : le gaz. Ce modèle conduit intrinsèquement à des inefficacités, similaires à l’analogie du club de fitness :

  • Si une ressource, telle que le calcul, est fortement utilisée, les frais augmentent pour tous les utilisateurs, même si d’autres ressources restent sous-utilisées.
  • Si certaines ressources ont une capacité excédentaire, elles restent inutilisées en raison de la limite rigide de gas.

Un exemple clé de cette inefficacité est la façon dont les cumuls stockaient auparavant les données de transaction. Avant l’EIP-4844, les rollups affichaient leurs données de transaction dans le champ calldata d’Ethereum et payaient des frais de gaz en fonction de la tarification calldata. Cependant, avec l’adoption de l’EIP-4844 en mars 2024, les cumuls utilisent désormais une unité distincte appelée gaz blob, qui leur permet de stocker des données dans des structures dédiées appelées blobs.

Bien que l'EIP-4844 ait introduit une deuxième dimension de gaz (gaz blob) pour les données de rollup, elle reste limitée dans sa portée : le gaz blob s'applique uniquement aux transactions de blob. D'autres composants de transaction, y compris l'exécution de l'EVM, les données d'appel et le stockage, sont toujours tarifés selon un modèle de gaz unique. Les transactions Ethereum consomment toujours de multiples ressources indépendantes, mais toutes sont tarifées en gaz, ce qui entraîne des scénarios inefficaces dans le pire des cas.

Par exemple, supposons qu'une seule transaction consomme la limite de gaz entière (actuellement 36M) lors de l'exécution de l'EVM. Même si les nœuds Ethereum pouvaient gérer en toute sécurité des tailles de données plus importantes, la transaction ne peut pas propager de données supplémentaires car le gaz est traité comme une contrainte unique plutôt que comme plusieurs limites indépendantes.

Ce problème devient encore plus évident lorsqu'on regarde la distribution de la taille des blocs d'Ethereum. De juillet 2024 à décembre 2024, la taille moyenne des blocs a été d'environ 73 Ko, la plupart des blocs étant bien en dessous de 100 Ko. Cependant, dans le bloc #21419230, la taille maximale des blocs a atteint 1,48 Mo, soit 20 fois plus que la moyenne.

La tarification multidimensionnelle du gaz aborde ce problème en traitant chaque ressource de manière indépendante : la computation, le stockage et la bande passante bénéficient d'une tarification et de limites distinctes. Cette séparation évite les goulots d'étranglement où une ressource domine les coûts de gaz et optimise la capacité sans accroître les risques de sécurité.

Les articles de Vitalik Buterin proposent plusieurs types de ressources clés pour la séparation. Explorons ces ressources candidates et pourquoi les séparer pourrait améliorer la scalabilité d'Ethereum.

Quelles ressources peuvent être séparées grâce à une tarification du gaz multidimensionnelle ?

Lors de la conception d'un marché des frais multidimensionnel, l'indépendance des ressources est l'un des facteurs les plus critiques. Si deux ressources hautement interdépendantes sont placées sur des marchés des frais distincts, cela peut entraîner des inefficacités, des erreurs de prix et une complexité inutile. Par exemple, si le calcul (cycles CPU) et l'utilisation de la mémoire (RAM) sont tarifés séparément, mais que l'un dépend de l'autre, les utilisateurs pourraient manipuler le système en transférant les coûts entre eux, ce qui entraînerait une tarification sous-optimale.

Ainsi, avant de classer les ressources d'Ethereum sur des marchés du gaz séparés, nous devons d'abord identifier quelles ressources sont suffisamment indépendantes pour être tarifées séparément sans fausser l'économie du réseau.

Au cœur de son fonctionnement, un nœud Ethereum est un ordinateur gérant de multiples ressources en parallèle. Les ressources matérielles traditionnelles sont catégorisées en composants distincts pouvant être optimisés indépendamment:

  • Calcul (CPU) - Exécution d'opérations telles que ADD, MULTIPLY et exécution de contrats intelligents.
  • Entrée/sortie de mémoire (RAM) – La lecture/écriture de données temporaires, affectant la vitesse d'exécution.
  • Stockage E/S (Lecture/Écriture SSD/HDD) – Accès à l'état persistant, impactant l'efficacité du stockage à long terme.
  • Croissance du stockage (augmentation de l'espace disque) - L'expansion des données stockées, affectant la durabilité du nœud.
  • Bande passante (transfert de données réseau) - La capacité de transmettre des transactions et des données de bloc.

Le principe clé ici est la parallélisation : si un système peut traiter ces ressources de manière indépendante, les séparer pour la tarification a du sens. En appliquant cela à Ethereum, nous devrions chercher à classer les ressources d'Ethereum d'une manière qui permet aux nœuds Ethereum de fonctionner aussi efficacement que possible sans dépendances inutiles.

Contrairement aux ordinateurs, les opérations Ethereum ne rentrent pas parfaitement dans une seule catégorie. De nombreuses opérations consomment simultanément plusieurs ressources, ce qui rend difficile de les séparer parfaitement. Par exemple,

  • Les données d’appel de transaction consomment principalement de la bande passante car elles doivent être transmises sur le réseau., elles contribuent également à la croissance du stockage car elles restent en permanence dans la blockchain.
  • SLOAD (Storage Read) utilise des E/S de stockage, mais si un nœud est sans état, il a également besoin de bande passante pour récupérer les preuves d’état à partir d’un nœud complet.
  • Les écritures de stockage (SSTORE) sont plus coûteuses que les lectures car elles augmentent l'état persistant d'Ethereum, contribuant à l'encombrement du stockage à long terme.

Ces interdépendances rendent impraticable la séparation de chaque ressource en son propre marché de tarification. Au lieu de cela, nous devrions nous concentrer sur les goulots d'étranglement les plus importants ayant un impact direct sur la scalabilité d'Ethereum.

Bien que les opérations d’Ethereum impliquent de multiples ressources, les candidats à la tarification multidimensionnelle actuellement discutés sont les suivants :

  • Calcul (exécution EVM) – Des opérations simples telles que ADD et MULTIPLY sont des tâches CPU pures.
  • E/S de stockage (SSTORE/SLOAD) - Lectures et écritures persistantes qui affectent l'expansion de l'état d'Ethereum.
  • Transaction Calldata - Utilise principalement la bande passante mais contribue également au stockage.
  • Les données de témoin - affectent la bande passante et les E/S de stockage, en particulier pour les clients sans état.

En alignant ces catégories sur la façon dont les systèmes informatiques gèrent les ressources, nous pouvons rendre la structure tarifaire d'Ethereum plus intuitive et efficace.

Alors qu’en théorie, nous pourrions subdiviser les ressources Ethereum en catégories encore plus granulaires, cela augmenterait la complexité sans avantages proportionnés. Au lieu de cela, nous devrions nous concentrer sur les principaux goulots d’étranglement qui limitent les performances d’Ethereum aujourd’hui.

Par exemple, la taille des données d’appel de transaction détermine directement la taille maximale du bloc, ce qui en fait un goulot d’étranglement crucial pour la couche de consensus d’Ethereum. En outre, la croissance du stockage doit être contrôlée pour éviter que les nœuds complets ne deviennent trop coûteux à exécuter, ce qui maintient la décentralisation.

Ainsi, plutôt que d’introduire trop de dimensions, il est pratique de se concentrer sur quelques ressources clés qui dominent l’efficacité d’Ethereum.

Avec ces ressources primaires identifiées, nous pouvons explorer deux façons distinctes de réaliser une tarification multidimensionnelle : des marchés de frais séparés ou une unité de gaz unique modifiée.

Mise en œuvre de la tarification multidimensionnelle du gaz 1: Marchés distincts pour chaque ressource

Une approche pour mettre en œuvre une tarification multidimensionnelle du gaz consiste à créer des marchés indépendants pour chaque ressource, garantissant une allocation plus efficace. Cette méthode a déjà été partiellement mise en œuvre grâce à l'EIP-4844, qui a introduit le gaz blob comme une unité distincte pour le stockage des données de rollup.

Ce concept peut être étendu à d'autres ressources, telles que la croissance de l'état ou la taille du témoin, permettant à Ethereum de gérer les limites de chaque ressource séparément au lieu de regrouper tous les coûts sous une seule mesure de gaz.

Pour formaliser cette approche, définissons bi comme étant le tarif de base pour la ressource i, gi comme étant la consommation de la ressource i dans une transaction, et ki​ comme étant la limite pour la ressource i dans un seul bloc.

Le montant total des frais de transaction serait calculé comme ibi*gi​, et un bloc doit satisfaire la contrainte de tous les txbi ki , pour tous les i pour toutes les ressources i. Comme le modèle actuel EIP-1559, bi est ajusté dynamiquement en fonction de l'utilisation du bloc précédent. Ethereum pourrait adopter des modèles de tarification exponentielle (comme ceux utilisés pour blob gas) ou un autre mécanisme de mise à jour des frais pour réguler la consommation de ressources.

Le modèle de marché des frais séparés offre des avantages clés. Il permet un contrôle précis de chaque ressource en autorisant un plafonnement indépendant, ce qui aide à éviter les estimations inefficaces au pire des cas dans le cadre du modèle gazier actuel. Il empêche également les congestions inutiles, garantissant que la forte demande pour une ressource ne fait pas augmenter de manière disproportionnée les frais pour des opérations sans rapport. De plus, cette approche optimise l'utilisation du réseau en permettant des limites directes sur des facteurs tels que la propagation des données, en les plafonnant à 1 Mo par exemple, ou la croissance de l'état, plutôt que de compter sur des ajustements indirects des prix du gaz pour réguler la consommation de ressources.

Bien que les marchés tarifaires séparés offrent une allocation améliorée des ressources, subdiviser les ressources trop finement introduit une complexité significative. Créer des marchés indépendants pour chaque type de ressource nécessiterait des modifications majeures du protocole, ce qui pourrait potentiellement déstabiliser la couche de base d'Ethereum. Les DApps et les portefeuilles seraient également confrontés à des défis supplémentaires, car ils devraient suivre plusieurs marchés tarifaires et prévoir les fluctuations des frais de base pour chaque ressource, rendant l'inclusion de transactions rentable et opportune plus difficile.

Un autre problème survient lorsqu'une ressource connaît une hausse de prix imprévisible. Même si un portefeuille optimise les frais pour toutes les autres ressources, une augmentation soudaine sur un seul marché des frais pourrait empêcher une transaction d'être incluse dans un bloc, entraînant de l'incertitude et des inefficacités pour les utilisateurs.

Les validateurs sont confrontés à des défis similaires, car leur objectif est de maximiser leurs gains tout en respectant les contraintes de chaque limite de ressource. Avec l'augmentation du nombre de marchés de ressources indépendants, cette situation devient un problème d'optimisation complexe, ressemblant à un problème de sac à dos multidimensionnel où la sélection des transactions les plus rentables devient de plus en plus difficile.

Certains soutiennent que cette complexité peut ne pas être un problème majeur, car les gains de la Valeur Maximale Extrayable (MEV) contribuent de manière significative aux bénéfices des validateurs, rendant les frais de priorité moins critiques dans leur processus décisionnel. Cependant, la faisabilité globale de la mise en œuvre de marchés de frais entièrement séparés pour chaque ressource reste une question de recherche ouverte, nécessitant une exploration approfondie des compromis entre efficacité, utilisabilité et stabilité du réseau.

Mise en œuvre de la tarification du gaz multidimensionnelle 2: Garder le gaz comme unité principale

Une alternative plus simple pour séparer complètement les marchés des frais est de conserver le gaz comme unité principale tout en ajustant la manière dont les frais sont calculés. Au lieu d'introduire de nouvelles unités pour chaque ressource, les frais totaux de transaction sont déterminés par la ressource qui consomme le plus de gaz.

Définissons le coût en gaz pour la ressource i comme ci et la quantité de ressource utilisée comme gi. Les frais de transaction sont alors déterminés par :

(c1g1 , c2g2 , c3*g3,...)

Au lieu de faire la somme de l'utilisation du gaz pour toutes les ressources, une transaction est facturée uniquement en fonction de la ressource la plus coûteuse qu'elle consomme.

Prenons l’exemple d’une transaction qui consomme 50 000 gaz pour l’exécution de l’EVM et 200 000 gaz pour les données d’appel. Dans ce modèle, les frais de transaction sont de 200 000 gaz, car les données d’appel sont la ressource dominante et le coût d’exécution est effectivement ignoré.

Bien que cette méthode simplifie la tarification, elle introduit des problèmes potentiels :

  • Problèmes d’équité : une transaction qui utilise 200 000 000 $ de gaz pour les données d’appel et 50 000 $ pour l’exécution paie les mêmes frais qu’une transaction qui utilise 200 000 000 $ de gaz pour les données d’appel et 150 000 $ pour l’exécution. Cela encourage le regroupement, où plusieurs transactions sont stratégiquement combinées pour exploiter les avantages en termes de coûts. Par conséquent, les optimiseurs sophistiqués peuvent en bénéficier, ce qui rend les coûts de transaction moins prévisibles pour les utilisateurs réguliers et les DApps.
  • Inefficacité des ressources : Comme seule la ressource la plus consommatrice compte, les utilisateurs peuvent délibérément surutiliser d'autres ressources sans frais supplémentaires. Dans l'exemple précédent, l'exécution de l'EVM jusqu'à 150K de gaz ne coûte aucun frais supplémentaire, créant des transactions gaspilleuses qui encombrent le réseau sans augmenter les coûts.

Malgré ces préoccupations, le principal avantage de cette approche est sa simplicité. En conservant le gaz comme unité de tarification universelle, Ethereum évite la complexité de la gestion de plusieurs unités de ressources tout en faisant la différence entre les différents types d’utilisation des ressources.

Réf. EIP-7623, qui sera mis en œuvre dans le Mise à niveau de Pectra, suit une approche similaire mais légèrement modifiée. Il introduit un mécanisme de double tarification pour les transactions à forte utilisation de données d'appel, garantissant que les transactions avec une utilisation disproportionnée de données d'appel paient des frais plus élevés. Bien qu'il ne s'agisse pas d'un modèle de tarification du gaz pleinement multidimensionnel, il représente une avancée vers une meilleure différenciation des ressources sans refonte de la structure de gaz d'Ethereum.

Comment EIP-7623 est-il lié à la tarification multidimensionnelle du gaz?

EIP-7623 introduit des frais plus élevés pour les transactions de disponibilité des données (DA), en particulier lorsque l'utilisation des données d'appel dépasse significativement l'utilisation du gaz d'exécution. Ce mécanisme garantit que les transactions consommant des données d'appel excessives paient des frais plus élevés, décourageant le stockage de données inutiles sans nécessiter de nouvelles unités de tarification.

Une version simplifiée du calcul du gaz de l'EIP-7623 est la suivante :

total_gas_used max(4tokens_in_calldata + evm_gas_used, 10*tokens_in_calldata)

Ce qui se simplifie encore en :

total_gas_used 4tokens_in_calldata + max(evm_gas_used, 6*tokens_in_calldata)

Cette formule détermine l'utilisation totale du gaz en prenant le maximum entre le gaz d'exécution et le gaz de données d'appel. Si une transaction utilise principalement les données d'appel, des frais plus élevés seront facturés pour les données d'appel plutôt que d'être subventionnés par des coûts d'exécution plus bas. Cela décourage le stockage excessif de données tout en garantissant que les transactions gourmandes en calcul ne sont pas pénalisées de manière injuste.

EIP-7623 est une version simplifiée de la tarification du gaz multidimensionnelle car elle introduit une distinction implicite entre le gaz d'exécution et le gaz de données d'appel, encourageant une allocation plus équilibrée des ressources réseau.

Conclusion

Bien que la tarification du gaz multidimensionnelle soit souvent perçue comme une amélioration économique ou UI/UX, il s'agit d'une amélioration fondamentale de la scalabilité qui permet une allocation optimisée des ressources. Cependant, sa mise en œuvre est confrontée à des défis importants, principalement en raison des modifications substantielles requises au niveau du protocole et de la difficulté de séparer pleinement les types de ressources. Par conséquent, il est peu probable que la tarification du gaz multidimensionnelle soit adoptée prochainement.

Malgré ces défis, la tarification multidimensionnelle du gaz offre des avantages substantiels, notamment une meilleure utilisation des ressources, une sécurité réseau renforcée et un fonctionnement durable des nœuds. Permettre une utilisation plus efficace de la capacité de calcul et de stockage d'Ethereum présente un chemin viable pour qu'Ethereum puisse se développer tout en préservant la décentralisation et la sécurité.

Avertissement :

  1. Cet article est reproduit à partir de [Recherche 2077]. Tous les droits d'auteur appartiennent à l'auteur original [Seongwan Park]. Si vous avez des objections à cette réimpression, veuillez contacter le Porte d’apprentissage et ils s’en occuperont rapidement.
  2. Clause de non-responsabilité : Les points de vue et opinions exprimés dans cet article sont uniquement ceux de l’auteur et ne constituent pas un conseil en investissement.
  3. L'équipe Learn de gate effectue des traductions de l'article dans d'autres langues. Copier, distribuer ou plagier les articles traduits est interdit sauf mention contraire.
Lancez-vous
Inscrivez-vous et obtenez un bon de
100$
!