EIP-4844 expliqué : Blobs, frais et autres
Résumé : EIP-4844, ou Proto-Danksharding, a été introduit dans la mise à jour Dencun le 13 mars 2024, afin de réduire les frais de transaction de la couche 2 et d'améliorer l'évolutivité d'Ethereum. La mise à jour s'appuie sur les transactions blob, qui stockent temporairement des données dans le nœud de balise.
La mise à jour a entraîné une augmentation de l'activité de la couche 2, et les discussions se concentrent désormais sur l'augmentation de la cible de blob par bloc dans les futures mises à jour. L'EIP-4844 est une étape cruciale vers le Danksharding complet, qui renforce les plans d'évolutivité à long terme d'Ethereum.
Qu'est-ce que l'EIP-4844 ?
EIP-4844, également connu sous le nom de "Proto-Danksharding", est une mise à jour majeure introduite dans la mise à jour de Dencun le 13 mars 2024. Elle permet aux rollups de couche 2 d'utiliser des transactions blob, qui stockent temporairement les données dans le nœud de la balise. Cette fonctionnalité réduit considérablement les frais de transaction, les ramenant dans certains cas à moins de 0,01 $.
Chaque bloc Ethereum peut accueillir jusqu'à six blobs, avec un objectif moyen de trois blobs par bloc pour maintenir des frais cohérents et équilibrer la demande du réseau. Cette mise à niveau allège la charge de données d'Ethereum, ce qui rend la mise à l'échelle plus efficace. Les blobs ont une durée de vie courte et sont élagués après environ 18 jours, ce qui réduit les besoins de stockage à long terme.
L'EIP-4844 jette également les bases du Danksharding, une future mise à jour visant à accroître l'évolutivité d'Ethereum en divisant les données en morceaux plus petits et plus faciles à manipuler, appelés "shards".
Qu'est-ce qu'une transaction Blob ?
Les transactions Blob, introduites par l'EIP-4844, permettent aux Layer 2 de stocker temporairement des données sur le réseau principal Ethereum et de les supprimer une fois qu'elles ne sont plus nécessaires. Voici comment elles fonctionnent :
- Blob comme conteneur temporaire: Un blob stocke les données pendant 18 jours (environ 4 096 époques), contrairement à L1 calldata où les données sont stockées de manière permanente.
- Taille des blobs et capacité des blocs: Chaque blob peut contenir jusqu'à 128 Ko de données, et un bloc peut comprendre entre 1 et 6 blobs.
- Validation des données: Le réseau principal Ethereum n'a besoin des données du blob qu'une seule fois pour la validation. Après la validation, les données ne sont plus nécessaires et sont donc supprimées.
- Stockage efficace des données: Auparavant, les données d'appel (transactions de type 2) consommaient jusqu'à 85 % de l'espace des blocs. Désormais, les blobs (transactions de type 3) déchargent cette demande de stockage grâce aux engagements cryptographiques KZG.
Les blobs agissent essentiellement comme un "sidecar" pour les transactions régulières. Une fois qu'Ethereum a traité et validé les données, le "sidecar" (blob) est éliminé, ce qui en fait une méthode plus efficace de gestion des données sur le réseau.
Pourquoi l'EIP-4844 a-t-il été introduit ?
L'EIP-4844 a été introduit pour remédier aux frais élevés que les rollups de la couche 2 payaient pour stocker les données de transaction sur Ethereum, ce qui rendait la mise à l'échelle plus coûteuse que prévu. La communauté Ethereum et les développeurs de la couche 2 ont réalisé que le stockage permanent des données des rollups sur la chaîne n'était pas viable, ce qui entraînait une augmentation des coûts de gaz sur le réseau principal et les L2.
Le plan initial prévoyait l'utilisation de la méthode Danksharding, mais sa complexité l'a rendue irréalisable à court terme. À la place, la proto-hardélisation a été proposée comme une étape plus petite et plus facile à gérer, ce qui a conduit au développement de l'EIP-4844.
Qu'est-ce que le Blobspace et le marché du Blob Gas ?
Le blobspace est une zone dédiée dans les blocs d'Ethereum, conçue pour que les blockchains de couche 2 puissent afficher des données temporaires (blobs) à des coûts inférieurs à ceux des calldata. Le marché du blob gas gère la tarification de l'utilisation des blobs, ce qui permet de maintenir les frais prévisibles pendant que le réseau évolue.
- Cible Blob: Ethereum limite l'espace blobs à 6 blobs par bloc, avec un objectif de 3 blobs. Si plus de 3 blobs sont utilisés dans un bloc, les frais augmentent d'environ 12 % par bloc pour gérer la demande.
- Coûts: Les coûts de soumission des blobs sont généralement compris entre 0,10 et 3,00 dollars par blob, en fonction des conditions du réseau.
- Comportement lors des pics de demande: Pendant les périodes de forte demande (comme lors du largage de LayerZero), les L2 étalent leurs envois ou reviennent à calldata pour éviter des frais plus élevés.
- Évolution future: Les développeurs envisagent d'augmenter la cible des blobs, ce qui permettrait d'accroître la capacité et d'éviter les hausses de tarifs pendant les périodes de forte demande.
Actuellement, les blobs atteignent presque leur objectif, comme le montre le tableau de bord de Dune ci-dessous. La mise à niveau de Pectra, attendue dès l'année prochaine, pourrait multiplier par 2 ou 3 la capacité des blobs, afin que la demande de blobs ne dépasse pas l'offre, ce qui permettrait de maintenir des tarifs bas à mesure que l'utilisation de la couche 2 augmentera.
EIP-4844 Impact sur Ethereum et les couches 2
La mise en œuvre de l'EIP-4844 a déjà eu un impact sur Ethereum et les réseaux de couche 2 dans plusieurs facteurs économiques. Jetons-y un coup d'œil.
Taxes sur le gaz
L'introduction des transactions blob dans le cadre de l'EIP-4844 a permis de réduire considérablement les frais de gaz sur les réseaux de niveau 2. Par exemple, Arbitrum a vu les frais de gaz passer de 0,37 $ à 0,012 $, tandis qu'Optimism a connu une baisse similaire de 0,32 $ à 0,009 $.
Même le réseau principal d'Ethereum a connu une réduction des frais de gaz médians de 6,60 $ à 4,30 $.
Utilisation du réseau
L'EIP-4844 a entraîné une augmentation de l'activité du réseau de niveau 2. Base, par exemple, a vu ses transactions quotidiennes augmenter de 319,3 % depuis la mise à niveau, Arbitrum de 45,7 % et Optimism de 29,8 %.
Parallèlement, le volume quotidien de transactions d'Ethereum est en baisse de 30,8 %, ce qui indique que l'activité se déplace vers les solutions de couche 2, comme on s'y attendait.
Performance du prix du token
Malgré les améliorations apportées à l'évolutivité et aux coûts de transaction, les tokens de la couche 2 ont connu des baisses de prix significatives. Arbitrum a baissé de 71,7 %, Optimism de 61,2 % et StarkNet de 83,4 %.
L'Ethereum a également connu une baisse de 33,5 %, qui pourrait être attribuée à des conditions de marché plus larges plutôt qu'aux seuls effets de l'EIP-4844.
Calendrier de la mise à niveau de l'EIP-4844
EIP-4844 a été développé dans le cadre des efforts de mise à l'échelle à long terme d'Ethereum, avec des discussions initiales commençant en 2022 et des tests approfondis tout au long de 2023. Proto-Danksharding a été mis en service le 13 mars 2024 dans le cadre de la mise à niveau de Dencun, après un retard par rapport à l'objectif initial du quatrième trimestre 2023.
Suite à sa mise en œuvre réussie, plusieurs nouvelles propositions sont actuellement à l'étude :
- EIP-7623: Augmentation du coût en gaz des données d'appel pour réduire la taille maximale des blocs, ce qui est désormais possible puisque les rollups utilisent des blobs.
- EIP-7762: Propose une taxe de base minimale pour les blobs (~0,01 $) afin d'accélérer la découverte des prix en cas d'augmentation de la demande.
- EIP-7742: Découplage de la gestion du nombre de blobs entre la couche de consensus (CL) et la couche d'exécution (EL).
- EIP-7691: suggère d'augmenter l'objectif de blob de 3 à 4 par bloc, tout en maintenant le maximum à 6, afin d'améliorer le contrôle des frais.
Pourquoi l'appelle-t-on Proto-Danksharding ?
Proto-Danksharding est nommé d'après les chercheurs Proto Lambda et Dankrad Feist(@dankrad), qui ont dirigé le développement de cette première solution de sharding pour Ethereum. Dank fait référence à l'idée de Feist de Danksharding, une méthode de division des données en plus petits morceaux (appelés shards), pour permettre à Ethereum de gérer plus de transactions.
Cependant, il n'est pas encore possible d'effectuer un Danksharding complet. Le sharding est une pratique qui consiste à répartir les données sur plusieurs unités plus petites afin d'en améliorer l'évolutivité. Proto reflète à la fois l'implication de Proto Lambda(@protolambda) et la nature "prototype" de cette mise à jour, permettant aux développeurs d'implémenter progressivement les fonctionnalités clés.
Résultat final
L'EIP-4844 a considérablement réduit les frais de transaction de la couche 2 en introduisant les transactions blob, rendant Ethereum plus évolutif et plus efficace. Nous espérons qu'après avoir lu cet article, vous pourrez expliquer le Proto-Danksharding et son fonctionnement, même à vos amis non-crypteurs.
Si la mise à niveau a déjà stimulé l'activité onchain, son impact se fera pleinement sentir à mesure que la demande de blobspace augmentera. Avec les futures mises à jour comme Pectra, l'évolutivité d'Ethereum devrait encore s'améliorer au fur et à mesure que la demande continuera de croître.