
Paradigm : les défis et solutions liés à la croissance de l'état d'Ethereum
TechFlow SélectionTechFlow Sélection

Paradigm : les défis et solutions liés à la croissance de l'état d'Ethereum
Ethereum peut maintenir son niveau actuel de croissance pendant plusieurs années.
Rédaction : Storm Slivkoff, Georgios Konstantopoulos
Traduction : Luffy, Foresight News
La croissance de l'état d'Ethereum et sa relation avec la limite de gaz sont largement mal comprises. On pense couramment que la croissance de l'état constitue le principal goulot d'étranglement du passage à l'échelle d'Ethereum. Cependant, les discussions sur cette croissance sont souvent entravées par un manque de précision terminologique et par l'absence de preuves quantitatives détaillées.
L'adoption d'une approche fondée sur les données peut clarifier la question de la croissance de l'état. Dans cet article, nous utilisons un jeu de données haute résolution pour comprendre la taille et la forme de cette croissance. Ce faisant, nous arrivons à une conclusion surprenante : le matériel informatique grand public actuel peut soutenir le taux actuel de croissance de l'état pendant au moins dix ans. En outre, compte tenu des améliorations continues du logiciel et du matériel, cette période pourrait être prolongée indéfiniment.
Nous pensons qu'Ethereum dispose d'une feuille de route claire : 1) éliminer complètement la croissance de l'état comme goulot d'étranglement du passage à l'échelle ; 2) augmenter la limite de gaz jusqu'à un niveau permettant de soutenir un système financier décentralisé à l'échelle mondiale. L'objectif de cette série d'articles est de développer une méthode scientifique pour comprendre et définir cette feuille de route d'extension.
Cet article est la première partie d'une série consacrée au passage à l'échelle d'Ethereum. Il traite principalement de la croissance de l'état. La deuxième partie portera sur la croissance historique, la troisième sur l'accès à l'état, et la quatrième sur la limite de gaz.
Qu'est-ce que la croissance de l'état ?
Le terme « croissance de l'état » est souvent utilisé de manière générique pour désigner tout goulot d'étranglement du passage à l'échelle d'Ethereum, c’est-à-dire lorsque la taille des données dépasse la capacité matérielle des nœuds Ethereum. Toutefois, il ne faut pas concevoir la croissance de l'état de façon aussi monolithique. Les données d'Ethereum existent sous plusieurs formes, chacune ayant une relation unique avec les composants matériels sous-jacents du nœud. Il est donc crucial d'utiliser des termes précis pour expliquer chaque goulot d'étranglement différent.
L’état est l’ensemble des données nécessaires à la construction et à la validation de nouveaux blocs Ethereum. Il comprend le bytecode des contrats, le stockage des contrats, les soldes des comptes et les nonces des comptes. L’historique est l’ensemble des données dont un nœud a besoin pour se synchroniser depuis le bloc genesis jusqu’au dernier bloc. Il est constitué des blocs et des transactions. L’état et l’historique sont deux ensembles de données distincts. À partir de ces définitions, au moins trois phénomènes différents exercent une pression importante sur le matériel des nœuds :
-
Croissance de l’état : accumulation de nouveaux comptes, nouveaux bytecodes de contrat et nouveaux stockages contractuels.
-
Croissance de l’historique : accumulation de nouveaux blocs et nouvelles transactions.
-
Accès à l’état : ensemble des opérations de lecture et d’écriture utilisées pour construire et valider les blocs.
Chaque goulot d’étranglement entretient une relation particulière avec les limites matérielles du nœud. Les quatre contraintes matérielles les plus pertinentes sont :
-
IO réseau : vitesse de téléchargement et d’envoi que le nœud doit maintenir pour atteindre un consensus stable avec ses pairs.
-
Taille du stockage : volume de données que le nœud doit conserver en mémoire permanente pour construire, valider et diffuser les blocs.
-
Taille de la mémoire : volume de données que le nœud doit mettre en cache en mémoire vive afin de rester synchronisé avec la pointe de la blockchain.
-
IO du stockage : nombre d’opérations de lecture/écriture par seconde que le nœud doit effectuer pour rester synchronisé avec la pointe de la blockchain.
La figure 1 illustre les relations entre ces goulots d’étranglement et les contraintes matérielles.

Figure 1 : Goulots d’étranglement du passage à l’échelle d’Ethereum
En partant du haut du schéma, chaque fois qu’une transaction est exécutée sur Ethereum, toutes les ressources utilisées par cette transaction sont tarifées en gaz. Ainsi, la limite de gaz d’Ethereum est une grandeur unidimensionnelle qui limite tous les types d’activités en chaîne. En aval de cette limite se trouvent la taille des blocs et le nombre d’opérations par bloc. Plus un bloc contient d’octets, plus rapidement l’historique croît. Plus un bloc comporte d’opérations IO, plus le taux d’accès à l’état augmente, et généralement, plus la croissance de l’état est élevée.
Ainsi, les goulots d’étranglement liés aux contraintes matérielles des nœuds sont les suivants :
-
Pour supporter une forte croissance de l’état, le nœud doit disposer d’un espace de stockage et de mémoire suffisant. Si l’état devient trop volumineux, il risque de ne plus tenir dans le stockage, ou bien sa partie fréquemment accédée ne pourra plus tenir en mémoire, ce qui réduira les performances.
-
Pour supporter une forte croissance de l’historique, le nœud doit disposer d’une bande passante réseau suffisante pour partager de grandes quantités de données de blocs, ainsi que d’une capacité de stockage adéquate pour conserver ces données.
-
Pour supporter un fort taux d’accès à l’état, le nœud doit disposer d’une grande quantité de mémoire pour mettre en cache l’état « chaud », ainsi que d’un haut débit d’IO de stockage pour assurer suffisamment d’opérations de lecture/écriture.
Concernant spécifiquement la croissance de l’état, le défi principal consiste à s’assurer que la taille de l’état n’augmente pas plus vite que les progrès continus du matériel grand public. La mémoire et le stockage des nœuds étant des ressources limitées, elles finiront par atteindre un seuil critique, sauf si la croissance de l’état cesse ou si le matériel est régulièrement mis à niveau. Heureusement, les composants mémoire et stockage ont connu des améliorations constantes au fil des années. Néanmoins, les prévisions précises concernant ces améliorations restent incertaines, et on ne peut supposer qu’elles se poursuivront indéfiniment à un rythme élevé.
Notez que la future mise en œuvre de l’EIP-4844 introduira des modifications notables à ces dynamiques d’extension. Après l’EIP-4844, on s’attend à ce que l’historique accumulé sur disque soit nettement réduit, tandis que l’IO réseau pourrait augmenter significativement lors du transfert de grandes quantités de données blob.
Dans cet article, nous nous concentrerons principalement sur la taille de l’état et son taux de croissance, plutôt que sur la taille de la mémoire ou les motifs d’accès à l’état. Nous étudierons ces autres sujets dans des travaux futurs.
Composition de l’état d’Ethereum
La prochaine étape pour comprendre la croissance de l’état consiste à examiner la taille totale de l’état ainsi que la contribution de chacun de ses éléments. Actuellement, les données d’état d’Ethereum représentent environ 245,5 Go. Ce chiffre a été mesuré à l’aide d’un nœud reth, mais les valeurs sont comparables entre différents clients de nœuds, comme le montre ce tableau. Les comptes, le bytecode des contrats et le stockage des contrats représentent respectivement 14,1 %, 4,3 % et 81,7 % de l’état.
La figure 2 illustre la part de l’état occupée par divers protocoles de contrats intelligents. Sur ce graphique, la taille de chaque catégorie de contrat correspond au nombre d’octets utilisés par ses emplacements de stockage et son bytecode.

Figure 2 : Répartition de l’état d’Ethereum
Les chiffres de la figure 2 représentent le nombre total d’octets que les clients de nœuds doivent stocker sur disque. Cela inclut les données utilisées pour l’indexation et d’autres formes de surcoût de stockage. La taille moyenne de stockage par compte et par emplacement de stockage est respectivement de 133,6 octets et 191,3 octets.
Voici quelques-unes des informations les plus importantes tirées de la figure 2 :
-
Les jetons constituent la plus grande part de l’état. Les principaux contributeurs à l’état d’Ethereum sont les jetons ERC-20 et ERC-721, qui représentent respectivement 27,2 % et 21,6 % de l’état. Ces jetons occupent tant d’espace car le solde de chaque utilisateur pour chaque jeton doit être stocké séparément dans un emplacement de stockage de 32 octets. Ainsi, la moitié de la taille de l’état d’Ethereum est proportionnelle au nombre total d’utilisateurs d’Ethereum et au nombre total de jetons détenus par utilisateur.
-
Au moins 7,4 % de l’état d’Ethereum est inactif. Certains des plus grands contrats de l’état d’Ethereum ne sont plus actifs. Ces protocoles ont été lancés à une époque où l’espace bloc et l’espace d’état étaient bien moins chers qu’aujourd’hui, notamment des jeux, des applications de pari et des escroqueries, ainsi que de nombreux DEX inactifs comme IDEX, Etherdelta et Oasis. Ensemble, ces protocoles représentent au moins 7,4 % de l’état d’Ethereum. Le niveau réel d’inactivité est encore plus élevé, car il inclut également la longue traîne de projets ERC-20, ERC-721 et d'autres catégories.
-
Les ponts L2 occupent moins de 2 % de l’état d’Ethereum. Grâce à des techniques telles que la compression, les preuves ZK et un codage amélioré, les transactions L2 utilisent l’état de manière plus efficace que celles de la chaîne principale. Bien que les L2 ne représentent que 2 % de l’état de la chaîne principale, leur volume total de transactions par seconde dépasse celui de la chaîne principale de cinq fois.
À quelle vitesse l’état d’Ethereum croît-il ?
L’aspect le plus important de la croissance de l’état est son évolution au fil du temps. Ce taux révèle la gravité du problème de l’état et sa tendance.
La figure 3 montre la croissance de l’état depuis le lancement d’Ethereum en 2015. Ces taux sont calculés en additionnant le bytecode des contrats et le stockage contractuel pour chaque catégorie de contrat.


Figure 3 : Croissance de l’état d’Ethereum dans le temps
Voici quelques-unes des informations les plus importantes tirées de la figure 3 :
-
Actuellement, l’état croît d’environ 2,62 Go par mois, ce qui est inférieur au pic de 5,99 Go par mois. Selon ces chiffres, la taille totale de l’état devrait se situer entre 396 Go et 606 Go dans cinq ans. Bien que l’on puisse qualifier la croissance actuelle d’environ 12,8 % par an, le taux absolu de croissance diminue alors même que l’état continue de croître, rendant un modèle de croissance exponentielle simple inapproprié.
-
La baisse récente de la croissance de l’état est principalement due à la diminution de l’activité NFT. Bien qu’on puisse s’attendre à une certaine corrélation entre différents types d’activités réseau, les contributions à l’état montrent une indépendance surprenante. Par exemple, bien que le taux global de croissance de l’état ait baissé ces dernières années, le taux de croissance de l’état ERC-20 a augmenté chaque année depuis 2020.
-
La croissance de l’état atteint son niveau le plus bas depuis 2021. Cette baisse est assez surprenante, mais elle est compréhensible étant donné que l’état est principalement proportionnel aux nouveaux soldes de jetons. Si la croissance de l’état continue de ralentir, on pourrait penser qu’Ethereum est capable de supporter une limite de gaz plus élevée. Cela pourrait être vrai, mais il est important de garder à l’esprit : 1) rien, dans le modèle actuel de tarification du gaz, n’empêche une nouvelle flambée du taux de croissance ; 2) l’état n’est pas le seul goulot d’étranglement en aval de la limite de gaz.
Quelle est une valeur acceptable de croissance de l’état ?
Nous connaissons désormais la 1) taille, 2) composition et 3) taux de croissance de l’état d’Ethereum. Comment déterminer une fourchette de valeurs acceptables pour la croissance de l’état ? Cette question est complexe, car elle dépend à la fois de forces de marché imprévisibles et de choix philosophiques concernant les compromis qu’Ethereum devrait faire.
Commençons par le modèle le plus simple : supposons qu’il n’y ait aucune amélioration future du matériel, et demandons-nous combien de temps le niveau actuel de croissance de l’état reste durable sur du matériel grand public. Comme le montre la figure 3, la croissance annuelle de l’état a varié ces dernières années entre 31 Go/an et 72 Go/an. Actuellement, le matériel grand public courant offre une capacité de stockage maximale d’environ 4 To et une mémoire vive d’environ 64 Go. Nous pouvons donc créer un modèle simple de prévision des besoins en stockage et en mémoire :
-
Stockage : un nœud a actuellement besoin d’environ 1 To de données d’état. En pratique, cela signifie que de nombreux nœuds utilisent des disques d’au moins 2 To. Pour simplifier, ignorons la croissance future de l’historique, comme si nous étions dans un monde post-EIP-4444. Nous pouvons alors calculer la durée de fonctionnement future selon : (capacité de stockage restante) / (taux de croissance de l’état), comme indiqué dans ce tableau. Ainsi, le matériel de stockage des nœuds peut supporter le taux actuel de croissance de l’état pendant plus de dix ans sans épuiser un disque de 2 To. Avec un taux de croissance actuel, un disque de 4 To suffirait pour près d’un demi-siècle.
-
Mémoire : des utilisateurs d’Ethereum-on-arm rapportent qu’environ 16 Go de RAM constituent le minimum viable pour exécuter un nœud Ethereum. Si nous supposons que la demande en mémoire croît proportionnellement à la taille de l’état, alors une croissance annuelle de 30 à 72 Go se traduirait par un besoin supplémentaire de 2 à 4,7 Go de RAM par an. Ainsi, avec le taux actuel de gaz, 32 Go de RAM devraient suffire entre 3 et 8 ans. 64 Go devraient suffire entre 10 et 23 ans.
Il s’agit d’un modèle simplifié comportant de nombreuses hypothèses. Ses extensions possibles incluent : 1) la croissance de l’historique, 2) une expansion non linéaire des besoins en mémoire, 3) la baisse des coûts du matériel, 4) l’augmentation de la limite de gaz, 5) la revalorisation des opcodes de gaz, et 6) des améliorations futures de l’architecture d’Ethereum. Chacun de ces facteurs peut interagir de manière non linéaire et évoluer dans le temps. Nous explorerons ces extensions dans nos travaux futurs.
Il est essentiel de souligner que la durabilité à long terme est une bonne chose. Même si le matériel moderne peut supporter des années de fonctionnement, il ne faut pas négliger la nécessité de prévoir une marge de sécurité. Toute stratégie visant à accélérer la croissance de l’état devrait inclure une marge substantielle pour faire face à des changements imprévus de l’environnement matériel ou logiciel.
Comment résoudre le problème de croissance de l’état ?
De nombreuses solutions différentes ont été proposées pour résoudre le problème de croissance de l’état. Trois améliorations architecturales d’Ethereum se distinguent particulièrement : les Rollups, les arbres de Verkle et l’expiration de l’état. Ensemble, elles forment une feuille de route complète pour traiter les problèmes de croissance de l’état à court, moyen et long terme.
Court terme : les Rollups ne résolvent pas directement le problème de croissance de l’état, mais allègent effectivement la charge du réseau. Comme le montrent les figures 2 et 3, les Rollups utilisent l’état de manière plus efficace que la chaîne principale. Transférer l’activité vers la couche 2 implique certes de stocker une certaine quantité d’état sur la chaîne principale pour permettre les retraits des utilisateurs. Toutefois, l’empreinte étatique des transactions L2 est bien inférieure à celle des transactions sur la chaîne principale. Ainsi, les Rollups permettent d’augmenter de façon plus durable l’activité totale de l’écosystème. Avec la prochaine mise en œuvre de l’EIP-4844, l’adoption des Rollups devrait s’accroître, les blobs rendant les Rollups encore moins coûteux.
Moyen terme : les arbres de Verkle visent à résoudre le problème de croissance de l’état pour les nœuds validateurs, mais pas pour les nœuds qui doivent construire de nouvelles transactions. Les arbres de Verkle sont une nouvelle structure de données pour l’état d’Ethereum. Ils permettent des clients légers plus efficaces et des nœuds « sans état ». Ces nœuds pourront valider de nouveaux blocs sans connaître les valeurs actuelles de l’état. Cela élimine le problème de croissance de l’état pour les validateurs. La construction de nouvelles transactions nécessitera toujours de stocker et d’accéder à l’état, mais cela restera plus durable qu’aujourd’hui, car la création de transactions est une tâche facilement distribuable sur de nombreuses machines. En termes d’ampleur, les arbres de Verkle représentent un projet d’ingénierie majeur susceptible de prendre plusieurs années à être mis en œuvre.
Long terme : l’expiration de l’état résout le problème de croissance de l’état pour tous les nœuds, mais nécessite des infrastructures supplémentaires. L’expiration permet aux nœuds de supprimer les parties inactives de l’état, comme illustré dans la figure 2. Notez que le terme « mise en sommeil de l’état » pourrait être plus approprié, car la plupart des propositions permettent de restaurer l’état « expiré » via des preuves. Les craintes liées à la perte progressive de l’état expiré sont infondées tant que l’historique (blocs et données de transactions) reste disponible, car l’état peut alors être reconstruit. Ainsi, toute solution développée pour la conservation de l’historique dans le cadre de l’EIP-4444 résoudra également la préservation de l’état. Toutefois, si les arbres de Verkle atteignent leurs objectifs, l’expiration de l’état pourrait devenir inutile.
D’autres solutions existent également pour la croissance de l’état, notamment la location d’état et le sharding, mais historiquement, celles-ci ont pu avoir un impact sur l’expérience utilisateur ou la robustesse. Pour atteindre une solution finale dans un avenir lointain, il pourrait être nécessaire de combiner ces approches avec d’autres.
Conclusion
Bien que la croissance de l’état constitue un défi clé pour le passage à l’échelle d’Ethereum, nous sommes convaincus qu’il s’agit d’un problème soluble. Selon notre analyse des données, Ethereum peut maintenir son niveau actuel de croissance de l’état pendant de nombreuses années, offrant ainsi une marge confortable pour les mises à niveau architecturales.
Nous pensons qu’une approche empirique est cruciale pour définir la limite de gaz d’Ethereum et guider la blockchain vers sa solution finale d’extension. Cet article n’est qu’une étape vers cet objectif. Il existe d’autres types de données — au-delà de l’état — qui exercent chacun une pression sur les nœuds Ethereum et sur la limite de gaz. Nous espérons explorer ces autres goulots d’étranglement dans nos travaux futurs.
Bienvenue dans la communauté officielle TechFlow
Groupe Telegram :https://t.me/TechFlowDaily
Compte Twitter officiel :https://x.com/TechFlowPost
Compte Twitter anglais :https://x.com/BlockFlow_News














