Définition
Calldata vs Blobs : définition
Calldata et blobs sont deux façons pour un rollup de publier ses données sur Ethereum : le calldata est stocké en permanence dans l'historique et coûte cher, tandis que les blobs, introduits par l'EIP-4844, sont moins chers et supprimés après quelques semaines.
Thème : Layer 2 et scalabilité
Un rollup exécute les transactions hors de la chaîne principale, mais doit publier les données correspondantes sur Ethereum pour que chacun puisse reconstituer son état et, le cas échéant, contester ou vérifier ses calculs. Historiquement, ces données étaient placées dans le calldata, le champ d'entrée des transactions. Le calldata est conservé indéfiniment par les nœuds et facturé au même tarif que les autres usages de gas, ce qui représentait l'essentiel du coût des rollups.
L'EIP-4844, aussi appelée proto-danksharding, a créé un nouveau type de transaction transportant des blobs, de gros paquets de données. Les blobs disposent de leur propre marché de frais, séparé du gas ordinaire, et ne sont pas accessibles à l'exécution des smart contracts : seul un engagement cryptographique (KZG) est visible. Les nœuds ne les gardent qu'une période limitée, suffisante pour que tous les intéressés aient pu les télécharger. Cette séparation a fortement réduit le coût de publication pour les rollups.
Un exemple concret
Imaginons un rollup qui regroupe des milliers de transactions toutes les quelques minutes. Avant l'EIP-4844, il les compressait et les publiait dans le calldata d'une transaction Ethereum coûteuse. Désormais, il place ces données dans un blob. Les utilisateurs du rollup paient ainsi des frais nettement inférieurs, tandis que des archiveurs indépendants peuvent conserver les blobs si un historique complet leur est utile.
Les risques à connaître
Les blobs étant supprimés après leur période de conservation, l'historique complet dépend d'archiveurs volontaires ou des opérateurs de rollups. Le prix des blobs varie selon la demande et peut augmenter si de nombreux rollups se disputent un espace limité. Certains rollups continuent d'utiliser le calldata comme solution de repli.
Questions fréquentes sur Calldata vs Blobs
Les données d'un blob sont-elles perdues après leur suppression ?
Elles ne sont plus garanties par les nœuds Ethereum, mais l'engagement cryptographique reste sur la chaîne. Toute personne les ayant téléchargées peut prouver qu'elles correspondent à cet engagement.
Pourquoi les blobs sont-ils moins chers que le calldata ?
Parce qu'ils ont leur propre marché de frais, ne sont pas conservés indéfiniment et ne sont pas lisibles par les smart contracts, ce qui allège la charge des nœuds.