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.
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.
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.
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.
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:
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,
Bien que les opérations d’Ethereum impliquent de multiples ressources, les candidats à la tarification multidimensionnelle actuellement discutés sont les suivants :

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.
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.
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 :
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.
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.
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é.





