En bref : la congestion de la blockchain survient lorsque le nombre de transactions envoyées au réseau dépasse la capacité d'accueil du bloc suivant. Chaque chaîne dispose d’une limite quant à la quantité de calculs ou de données qu’elle peut traiter par bloc. Lorsque la demande dépasse cette limite, un arriéré s’accumule dans le mempool, la zone d’attente des transactions non confirmées. La congestion entraîne une hausse des frais, les utilisateurs se disputant un espace limité dans les blocs, un ralentissement des confirmations et une expérience utilisateur moins satisfaisante. Les causes profondes sont la capacité fixe des blocs, les pics de demande liés à des événements populaires, la dynamique du marché des frais, ainsi que des choix de conception qui privilégient la sécurité et la décentralisation au détriment du débit brut.
L'explication simple
Une blockchain traite les transactions par lots appelés « blocs ». Chaque bloc a une capacité maximale :
Ethereum: une limite de gaz, qui s'élève actuellement à environ 30 millions de gaz par bloc
Bitcoin: une limite de poids fixée à 4 millions d'unités de poids par bloc
Solana: une combinaison d'unités de calcul et de verrouillages de compte par emplacement
Quel que soit le mécanisme, chaque chaîne a une limite quant à la quantité de travail pouvant être intégrée dans un bloc.
Lorsque le nombre de transactions reçues est inférieur à la capacité d'un bloc, tout se passe sans encombre. Les transactions sont intégrées au bloc suivant, les frais sont faibles et la confirmation est rapide.
Lorsque le nombre de transactions dépasse la capacité d'un bloc, une file d'attente se forme. Cette file d'attente est le « mempool » : une zone de stockage sur chaque nœud où les transactions valides mais non confirmées attendent d'être intégrées dans un futur bloc.
Le mempool ne fonctionne pas selon le principe du « premier arrivé, premier servi ». Il s'agit d'une file d'attente prioritaire triée en fonction des frais. Les producteurs de blocs (mineurs ou validateurs) sélectionnent les transactions qui rapportent le plus, car ce sont celles qui leur rapportent le plus.
Lorsque le mempool est plein, les utilisateurs qui souhaitent obtenir une confirmation rapide doivent surenchérir sur tous les autres en proposant des frais plus élevés. C'est cette guerre des enchères qui provoque la flambée des prix du gaz en période de congestion. Les utilisateurs qui ne peuvent pas ou ne veulent pas payer ces frais plus élevés voient leurs transactions rester bloquées dans le mempool pendant plusieurs minutes, plusieurs heures, voire plusieurs jours.
Pics de demande
La cause la plus évidente des encombrements est une hausse soudaine de la demande d'espace de bloc. Ces pics sont généralement déclenchés par des événements spécifiques :
Émissions de NFT : une émission très prisée peut générer des dizaines de milliers de transactions en quelques minutes, les collectionneurs se précipitant pour acquérir ces jetons en édition limitée.
Lancements et airdrops : le lancement d'un nouveau protocole DeFi ou d'une campagne d'airdrop attire d'un seul coup un afflux massif d'utilisateurs vers de nouveaux contrats intelligents.
Krach boursier : une chute brutale déclenche une vague de liquidations, de clôtures de positions et de ventes paniques, tandis que les utilisateurs de la DeFi s'empressent de s'adapter.
Certains des pires bouchons d'Ethereum étaient dus à des applications isolées :
L'engouement pour les CryptoKitties en décembre 2017 a saturé le réseau pendant plusieurs jours.
La frappe des NFT « Otherside » de Yuga Labs en mai 2022 a fait grimper les prix du gaz au-delà de 8 000 gwei. Certains utilisateurs ont déboursé des milliers de dollars en frais pour des transactions qui ont malgré tout échoué.
Les demandes de distribution gratuite des tokens UNI d'Uniswap et ARB d'Arbitrum ont provoqué une congestion qui a duré plusieurs heures, des millions de portefeuilles éligibles s'étant précipités pour en bénéficier.
Le trading de jetons « meme » provoque des encombrements récurrents sur des chaînes telles que Solana et Base, où un lancement viral peut générer des millions d'échanges en quelques heures. Dans le cas d'événements planifiés, les utilisateurs savent au moins que l'encombrement est à prévoir. Les pics d'activité liés aux jetons « meme » sont imprévisibles et peuvent saturer un réseau sans crier gare.
Capacité et cadence de production fixes par bloc
La cause profonde réside dans le fait que la capacité et la fréquence des blocs sont fixées par le protocole, alors que la demande fluctue, parfois de manière très importante.
Ethereum génère un bloc toutes les 12 secondes avec une limite de gaz d'environ 30 millions. Coûts habituels :
Un simple transfert d'ETH : 21 000 gas
Un échange sur Uniswap : 150 000 à 300 000 gas
Une transaction DeFi complexe : 500 000 gas ou plus
Dans des conditions idéales, cela correspond à environ 15 à 30 transactions par seconde, selon leur complexité. Lorsque des milliers d’utilisateurs tentent simultanément de créer un NFT, d’échanger un token ou de réclamer un airdrop, un débit de 15 à 30 TPS est loin d’être suffisan near .
Bitcoin présente la même contrainte, mais avec des limites encore plus strictes. Il produit un bloc toutes les 10 minutes, et chaque bloc contient environ 2 000 à 3 000 transactions. Cela correspond à environ 5 à 7 TPS. Lorsque la demande est forte, le mempool d’ Bitcoin peut se remplir de centaines de milliers de transactions non confirmées, et celles dont les frais sont faibles peuvent rester en attente pendant plusieurs jours.
Ces limites ne sont pas arbitraires. Elles protègent la décentralisation. Si les blocs étaient plus volumineux ou plus rapides, moins de nœuds seraient en mesure de suivre le rythme des données, et le réseau se centraliserait autour d’opérateurs disposant d’un matériel coûteux. Ce compromis entre débit et décentralisation est au cœur de la conception de la blockchain. On parle souvent du « trilemme de la blockchain » : la difficulté de concilier à la fois évolutivité, sécurité et décentralisation.
MEV et enchères prioritaires de gaz
La « valeur maximale extractible » (MEV) contribue à la congestion d'une manière moins évidente. La MEV correspond au profit que les producteurs de blocs et les « chercheurs » peuvent réaliser en réorganisant, en insérant ou en censurant des transactions dans un bloc.
Lorsqu'une opportunité de MEV rentable se présente, comme un arbitrage entre deux DEX, plusieurs « chercheurs » se précipitent pour en tirer profit en envoyant des transactions avec des frais de plus en plus élevés. Cette « enchère de gaz » prioritaire accapare de l'espace dans les blocs et fait grimper les frais pour tout le monde, même pour les utilisateurs dont les transactions n'ont rien à voir avec cela.
Les « attaques en sandwich » constituent un modèle d'exploitation de la valeur extra-monétaire (MEV) qui touche directement les utilisateurs lambda. Un utilisateur repère un échange important dans le mempool. Il passe alors un ordre d'achat juste avant celui-ci (front-running) et un ordre de vente juste après (back-running), tirant ainsi profit de la fluctuation de prix provoquée par l'échange de la victime. Ces transactions supplémentaires occupent de l'espace dans les blocs et augmentent la congestion au-delà de la demande normale des utilisateurs.
Solutions de couche 2 et réduction de la congestion
Les réseaux de couche 2 tels que Arbitrum, Base, Optimism et zkSync ont été créés en partie pour réduire la congestion sur la couche 1 (L1) de Ethereum . Ils traitent les transactions sur une chaîne distincte et renvoient des résumés compressés vers Ethereum, ce qui augmente considérablement le débit total. Une transaction qui coûte 5 $ en frais de gaz sur une couche 1 (L1) encombrée de Ethereum peut ne coûter que 0,01 $ sur une couche 2 (L2). Les réseaux de couche 2 peuvent toutefois encore être saturés lors de pics de trafic extrêmes, et ils héritent de certaines limites de la couche 1 (L1) vers laquelle ils effectuent le règlement.
Solana gère la congestion différemment, grâce à des marchés de frais locaux. Au lieu d’un marché mondial unique où toutes les transactions se disputent le même espace, « Solana » tente d’isoler la congestion à certains comptes « très sollicités ». Les transactions qui concernent un contrat très sollicité, comme un pool DEX populaire, paient des frais plus élevés. Les transactions qui concernent des contrats sans rapport avec celui-ci ne sont pas affectées. Cela limite les répercussions des pics de congestion, sans toutefois les éliminer.
Combien de temps dure la congestion de la blockchain ?
Cela dépend de la cause.
Les événements programmés, comme une importante émission de NFT ou une distribution gratuite, provoquent généralement un pic brutal qui s'estompe en quelques minutes ou quelques heures, une fois que l'affluence s'est calmée.
Une congestion persistante, c'est autre chose. Lorsqu'une chaîne fonctionne au-delà de sa capacit near e pendant une longue période, par exemple lors d'un marché haussier prolongé ou d'un cycle viral de jetons « mèmes », les frais élevés et la lenteur des confirmations peuvent durer plusieurs jours.
Bitcoin La congestion se résorbe généralement plus lentement que celle d'Ethereum. Son temps de bloc de 10 minutes signifie que le mempool se vide par paliers plus importants et moins fréquents. Le signe le plus évident d'un désengorgement est la diminution du mempool, accompagnée d'une baisse des frais de priorité.
La congestion est étroitement liée aux raisons pour lesquelles les blockchains ralentissent en général, mais il ne s'agit pas d'une panne. Si un réseau cesse complètement de produire des blocs, il s'agit d'un arrêt de la chaîne, et non d'une congestion.
En quoi les limites de blocs diffèrent-elles d'une blockchain à l'autre ?
Chaque chaîne fixe une limite au volume de travail pouvant être traité dans un bloc ; par conséquent, l'espace disponible sur chaque réseau avant l'apparition d'une congestion varie considérablement. Le tableau ci-dessous présente les limites approximatives qui déterminent la vitesse à laquelle chaque réseau s'engorge sous la charge.
Blockchain | Durée du bloc | Indicateur de capacité | Débit approx. |
|---|---|---|---|
Bitcoin | environ 10 minutes | 4 millions d'unités de poids | 5 à 7 TPS |
Ethereum L1 | environ 12 secondes | environ 30 millions de gaz par bloc | 15 à 30 TPS |
Solana |
Les chaînes à débit plus élevé et les solutions de couche 2 absorbent mieux les pics de demande, mais aucune architecture n'est à l'abri. Pour en savoir plus sur le lien entre vitesse et capacité, consultez les articles « Débit vs latence » et « Qu'est-ce qu'une blockchain de couche 2? ».
Quelle est la différence entre une congestion et un arrêt en chaîne ?
Pour un utilisateur, la congestion et l'arrêt de la chaîne peuvent tous deux donner l'impression que « le réseau ne fonctionne plus ». Il s'agit pourtant de problèmes distincts, dont les causes et les solutions diffèrent. En cas de congestion, la chaîne continue de produire des blocs ; ceux-ci sont simplement pleins et coûteux. Lors d'un arrêt de la chaîne, la production de blocs cesse complètement.
Aspect | Embouteillages | Arrêt de chaîne |
|---|---|---|
Production par blocs | Se poursuit normalement | Arrêté |
Transactions | Confirmation lente, frais élevés | Ne pas confirmer du tout |
Cause première | La demande dépasse la capacité du bloc | Échec du consensus ou bug côté client |
En résumé, la congestion est un problème de tarification et de capacité, tandis qu’un blocage de la chaîne est un problème de disponibilité. Les activités liées au MEV, telles que les enchères prioritaires de gaz, peuvent aggraver la congestion. Comprendre ce qu’est le MEV permet d’expliquer pourquoi les frais augmentent plus rapidement que ne le laisserait supposer la seule demande des utilisateurs.
Comment les promoteurs immobiliers peuvent-ils réduire l'impact des embouteillages ?
Les applications ne peuvent pas empêcher la congestion, mais elles peuvent continuer à fonctionner de manière fiable malgré celle-ci :
Utilisez une estimation dynamique des frais plutôt que des prix du gaz fixes.
Ajouter une logique de nouvelle tentative avec une gestion appropriée des nonces.
Mettez en file d'attente les opérations non urgentes pour les périodes de moindre affluence.
Pour les données, privilégiez la transmission par « push » plutôt que des boucles d'interrogation serrées, afin que l'ingestion suive le rythme à mesure que les blocs grossissent.
Comprendre le fonctionnement des requêtes RPC, privilégier le streaming plutôt que le polling et prévoir une limitation du débit RPC côté fournisseur permettent tous de réduire le risque que la congestion entraîne une perte de données ou l'échec des transactions.
Foire aux questions
Pourquoi les frais de transaction augmentent-ils en période de congestion ?
L'espace disponible dans un bloc est limité, et le mempool fonctionne comme une file d'attente prioritaire basée sur les frais. Lorsque le nombre de transactions en concurrence dépasse la capacité d'un bloc, les utilisateurs proposent des frais plus élevés pour que leur transaction soit traitée en priorité. Cette surenchère fait grimper le prix du gaz jusqu'à ce que la demande redescende en dessous de la capacité du bloc.
Une congestion signifie-t-elle que la blockchain est hors service ?
Non. En cas d'engorgement, la chaîne continue de produire des blocs et de valider les transactions ; ces opérations sont simplement plus lentes et plus coûteuses. Un réseau qui cesse de produire des blocs subit un arrêt de la chaîne, ce qui constitue un problème distinct.
Les réseaux de couche 2 peuvent-ils eux aussi être saturés ?
Oui. Les réseaux de couche 2 offrent un débit bien supérieur à celui d’une couche 1 de type « Ethereum », ce qui leur permet de supporter des pics de trafic plus importants ; toutefois, une demande extrême peut tout de même saturer leur capacité et faire grimper les frais de transaction. Ils héritent également de certaines contraintes de la couche 1 sur laquelle ils effectuent le règlement.
Comment savoir si la congestion s'atténue ?
Surveillez la taille du mempool et les frais de priorité. Une diminution du nombre de transactions en attente de confirmation, associée à une baisse des frais de priorité, est le signe le plus évident que la demande est retombée en dessous de la capacité du bloc.
Pourquoi les blockchains ne se contentent-elles pas d'augmenter la taille des blocs ?
Des blocs plus volumineux ou plus rapides augmentent le coût matériel lié à l'exploitation d'un nœud, ce qui évince les petits opérateurs et favorise la centralisation du réseau. Les limites de capacité constituent un compromis délibéré visant à préserver la décentralisation, une tension souvent qualifiée de « trilemme de la blockchain ».
L'impact de la congestion sur les promoteurs immobiliers qui construisent sur Quicknode
La congestion a une incidence à la fois sur la manière dont les développeurs envoient les transactions et sur la manière dont ils collectent les données.
Du côté de l'expéditeur, les transactions dont les frais sont trop faibles restent bloquées dans le mempool ou sont rejetées. Les applications ont besoin d'une estimation fiable des frais, d'une logique de réessai et d'une gestion des nonces pour bien gérer la congestion. L'API Core de Quicknode assure la transmission fiable des transactions avec des performances stables, même en période de forte congestion. Des méthodes API améliorées aident les applications à estimer le prix du gaz adapté aux conditions actuelles du réseau.
Du point de vue des données, la congestion se traduit par un nombre accru de transactions par bloc, des blocs plus volumineux, davantage d'événements et un volume de données plus important. Les systèmes basés sur l'interrogation rencontrent des difficultés dans ce contexte. Chaque bloc contient davantage de données alors que l'intervalle d'interrogation reste inchangé, ce qui entraîne une accumulation de retards.
Quicknode Streams gère efficacement la congestion grâce à son architecture de type « push », qui s'adapte à la taille des blocs. Qu'un bloc contienne 100 ou 1 000 transactions, Streams transmet l'intégralité des données à leur destination en garantissant le même niveau de fiabilité de livraison et d'ordre. Les fonctionnalités configurables de regroupement et de compression permettent de gérer le volume supplémentaire de données lors de longues périodes de congestion.
Pour en savoir plus
Qu'est-ce qu'un « mempool » ? - Guide « Quicknode »
Guide pour des requêtes RPC efficaces - Quicknode
Premiers pas avec Streams - Documentation d'Quicknode