Réponses>En savoir plus sur l'évolutivité et les performances>Débit de la blockchain vs latence
Débit de la blockchain par rapport à la latence
// Tags
débit de la blockchainTPS de la blockchain
En bref : le débit et la latence sont deux mesures distinctes des performances d’une blockchain qui sont souvent confondues. Le débit correspond à la capacité : le nombre de transactions que le réseau peut traiter par seconde (TPS). La latence correspond à la vitesse : le temps nécessaire pour qu’une transaction individuelle soit confirmée et finalisée. Une analogie avec une autoroute permet de clarifier cette distinction. Le débit correspond au nombre de voitures que l’autoroute peut accueillir par heure. La latence correspond au temps nécessaire à une voiture pour parcourir la distance entre l’entrée et la sortie. Une autoroute peut présenter un débit élevé (nombreuses voitures) mais une latence élevée (vitesse réduite en raison des embouteillages), ou un faible débit (peu de voitures) mais une faible latence (chaque voiture roule vite). Les meilleures blockchains optimisent ces deux aspects, mais des compromis sont inévitables.
L'explication simple
Lorsque les gens demandent « quelle blockchain est la plus rapide ? », ils font généralement référence à la latence : en combien de temps ma transaction est-elle validée ? Or, les supports marketing de la plupart des projets de blockchain mettent l'accent sur le débit : le nombre de transactions par seconde que le réseau est capable de traiter. Il s'agit là de deux indicateurs liés mais distincts, et les confondre conduit à de mauvaises décisions architecturales et à des attentes irréalistes en matière de performances.
Le débit, mesuré en transactions par seconde (TPS), indique la charge de travail totale que le réseau est capable de traiter. Ethereum traite environ 15 à 30 TPS. Solana traite, dans la pratique, des centaines, voire des milliers de TPS. Bitcoin traite entre 5 et 7 TPS. Ces chiffres représentent la capacité globale du réseau, c'est-à-dire le nombre total de transactions provenant de tous les utilisateurs pouvant être incluses dans des blocs par seconde.
La latence, mesurée en secondes ou en minutes, indique le temps nécessaire à une transaction individuelle entre son envoi et sa finalisation. Sur Ethereum, une transaction est généralement incluse dans un bloc en 12 à 24 secondes, mais n'est considérée comme définitive qu'au bout d'environ 12 à 13 minutes (deux époques de finalité). Sur Bitcoin, une transaction apparaît généralement dans un bloc en 10 à 60 minutes et est considérée comme définitivement validée après six confirmations (environ 60 minutes). Sur Solana, une transaction est généralement confirmée en 400 millisecondes à quelques secondes.
Une blockchain peut présenter un débit élevé mais une latence importante (elle traite de nombreuses transactions par seconde, mais chacune d'entre elles met beaucoup de temps à être finalisée), ou un faible débit mais une faible latence (elle traite peu de transactions par seconde, mais chacune d'entre elles est finalisée rapidement). L'idéal est d'allier un débit élevé et une faible latence, mais parvenir à concilier ces deux aspects sans compromettre la décentralisation ni la sécurité constitue le principal défi technique de la conception d'une blockchain.
Pourquoi cette distinction est-elle importante pour les développeurs ?
La distinction entre débit et latence a des implications pratiques directes pour la conception des applications. Si votre application est un système de paiement, la latence est la principale préoccupation. Les utilisateurs qui attendent à une caisse se soucient de la rapidité avec laquelle leur paiement individuel est validé, et non du nombre d’autres paiements que le réseau traite simultanément. Une blockchain offrant 100 TPS et une finalité en 2 secondes offre une meilleure expérience de paiement qu’une autre proposant 10 000 TPS et une finalité en 60 secondes.
Si votre application est une plateforme traitant de grands volumes de données (comme un agrégateur DEX, un backend de jeux vidéo ou un service d’analyse), le débit revêt une importance particulière. Vous avez besoin que le réseau puisse gérer un grand nombre d'opérations simultanées sans que le système ne soit saturé et que les performances ne s'en trouvent dégradées pour tous les utilisateurs. Une blockchain offrant 10 000 TPS et une finalité en 10 secondes peut être préférable à une autre offrant 100 TPS et une finalité en 1 seconde si votre application génère des milliers de transactions par seconde.
Pour les fournisseurs d’infrastructure et les opérateurs de nœuds, cette distinction a une incidence sur la manière dont ils conçoivent leurs systèmes. Les chaînes à haut débit génèrent davantage de données par seconde, ce qui exige davantage de bande passante, de stockage et de puissance de calcul de la part des nœuds. Les chaînes à forte latence, avec une finalité probabiliste, nécessitent une gestion plus sophistiquée des réorganisations dans les pipelines de données. La compréhension du profil de débit et de latence de chaque chaîne que vous prenez en charge détermine vos besoins en matériel, la conception de vos pipelines de données et votre modèle de coûts.
Quels sont les facteurs qui influencent le débit ?
Le débit est principalement déterminé par trois paramètres du protocole : la taille des blocs (ou limite de gaz), la durée des blocs et la complexité des transactions.
La taille d'un bloc définit la quantité maximale de données ou de calculs pouvant tenir dans un seul bloc. La limite de gaz (gas limit) de Ethereum plafonne le volume total de calculs par bloc. La limite de poids (weight limit) de Bitcoin plafonne le volume total de données par bloc. Des blocs plus volumineux peuvent contenir davantage de transactions, ce qui augmente le débit, mais leur propagation sur le réseau prend également plus de temps (ce qui accroît le risque de bifurcations) et ils sollicitent davantage de ressources de la part des nœuds (ce qui peut réduire la décentralisation).
Le temps de bloc correspond à la fréquence à laquelle de nouveaux blocs sont générés. Ethereum génère des blocs toutes les 12 secondes. Bitcoin toutes les 10 minutes. Solana toutes les 400 millisecondes. Des temps de bloc plus courts augmentent le débit, car le réseau traite les blocs plus fréquemment, mais ils augmentent également la charge de communication entre les nœuds et peuvent poser des problèmes de stabilité.
La complexité des transactions varie selon la chaîne et le type de transaction. Un simple transfert d'ETH utilise 21 000 gas, tandis qu'une interaction DeFi complexe peut en utiliser 500 000, voire plus. Les chaînes qui traitent des transactions plus simples (ou qui optimisent l'exécution grâce au parallélisme, comme le font Solana, Sui et Monad ) peuvent atteindre un TPS plus élevé pour une taille de bloc et un temps de bloc donnés.
La surcharge liée au mécanisme de consensus a également un impact sur le débit. Les systèmes de « preuve de travail » (proof-of-work), comme Bitcoin , consacrent des ressources importantes au minage, ce qui limite la vitesse à laquelle les blocs peuvent être produits en toute sécurité. Les systèmes de « preuve d’enjeu » (proof-of-stake) réduisent cette surcharge, mais nécessitent tout de même des cycles de communication entre les validateurs. Le consensus de type BFT (utilisé par des chaînes telles que Cosmos, Aptos et Sui) permet d’atteindre une finalité plus rapide, mais nécessite généralement un ensemble de validateurs plus restreint, ce qui a des implications en termes de décentralisation.
Quels sont les facteurs qui influencent la latence ?
La latence d'une transaction individuelle comporte plusieurs éléments : le temps d'attente dans le mempool (durée pendant laquelle la transaction reste dans la file d'attente avant d'être sélectionnée pour un bloc), le temps de production des blocs (fréquence à laquelle de nouveaux blocs sont créés), le temps de propagation (temps nécessaire au nouveau bloc pour atteindre tous les nœuds) et le temps de finalité (nombre de blocs ou d'époques supplémentaires qui doivent s'écouler avant que la transaction ne soit considérée comme irréversible).
Dans des conditions normales, le temps d'attente dans le mempool est minime, car la capacité des blocs dépasse la demande. En cas de congestion, le temps d'attente dans le mempool devient le principal facteur de latence, les transactions se disputant un espace limité dans les blocs. Les transactions dont les frais sont les plus élevés sont sélectionnées plus rapidement ; celles dont les frais sont moins élevés peuvent devoir attendre plusieurs cycles de production de blocs.
Le modèle de finalité est le principal facteur de différenciation en matière de latence entre les chaînes. Les chaînes à finalité instantanée (déterministe), comme celles utilisant un consensus basé sur Tendermint, confirment les transactions en un seul cycle de consensus, sans possibilité de réversion. Les chaînes à finalité probabiliste, comme Bitcoin et Ethereum, nécessitent plusieurs confirmations avant qu’une transaction ne soit considérée comme finalisée. La différence est considérable : une transaction sur une chaîne Tendermint est définitive en quelques secondes, tandis qu’une transaction sur Bitcoin n’est pas définitivement validée avant une heure.
Les réseaux de couche 2 ajoutent une couche de complexité au tableau de la latence. Une transaction effectuée sur Arbitrum ou Base est confirmée rapidement sur la couche 2 (en moins d’une seconde ou en quelques secondes), mais les données sous-jacentes ne sont pas réglées sur la couche 1 de Ethereum tant que le rollup n’a pas publié sa preuve ou son lot, ce qui peut prendre de quelques minutes à plusieurs heures. En fonction des exigences de sécurité de l’application, la latence pertinente peut correspondre au temps de confirmation de la couche 2 (rapide) ou au temps de règlement de la couche 1 (lent).
Quelle est la différence entre le débit et la latence ?
Il est facile de confondre le débit et la latence, car ces deux notions décrivent la vitesse, mais elles répondent à des questions différentes. Le débit concerne le volume : le nombre de transactions que l'ensemble du réseau peut traiter par seconde. La latence concerne une transaction individuelle : le temps nécessaire pour qu'une transaction passe de l'état « soumise » à l'état « finalisée ». Ces deux paramètres peuvent évoluer indépendamment l'un de l'autre, c'est pourquoi les équipes chargées de l'infrastructure les surveillent souvent séparément, parallèlement à la latence RPC. Le tableau ci-dessous met en évidence ces différences.
Aspect
Débit
Latence
Ce qu'il mesure
Capacité totale du réseau
Vitesse d'une transaction unique
Unité
Transactions par seconde (TPS)
Secondes ou minutes
Analogie avec l'autoroute
Nombre de véhicules par heure circulant sur cette route
Temps nécessaire pour qu'une voiture traverse
Ce qui compte le plus pour
Plateformes de traitement de grands volumes de données
Paiements et applications interactives
Amélioré par
Des blocs plus volumineux, des durées de bloc plus courtes, une exécution parallèle
Une finalité plus rapide et moins d'engorgement
Risque majeur
Ressources des nœuds et pression en faveur de la décentralisation
Longs délais d'attente pour les confirmations
Comment se comparent le débit et la latence d'une blockchain à l'autre ?
Les différentes chaînes se situent à des niveaux très variés sur l'échelle du débit et de la latence, principalement en raison de leurs modèles de consensus et de finalité. Le tableau ci-dessous présente des chiffres approximatifs pour plusieurs réseaux largement utilisés. Considérez-les comme des indications générales, car les chiffres réels varient en fonction des conditions du réseau et des mises à jour du protocole.
Blockchain
Débit (TPS)
Durée du bloc
Délai de validité définitive
Bitcoin
de 5 à 7
Environ 10 minutes
Environ 60 minutes
Ethereum
15 à 30
Environ 12 secondes
Environ 12 à 13 minutes
Solana
Des milliers
Environ 400 ms
Secondes
Arbitrum
Des milliers
Environ 250 ms
Quelques secondes sur L2, un peu plus longtemps pour se stabiliser sur L1
BNB Smart Chain
De quelques dizaines à quelques centaines
Environ 3 secondes
Environ 2 à 3 secondes
Une blockchain peut-elle offrir à la fois un débit élevé et une faible latence ?
En principe, oui, mais améliorer ces deux aspects simultanément a généralement un coût, le plus souvent en termes de décentralisation. Des blocs plus volumineux et des temps de bloc plus courts augmentent le débit, mais ils sollicitent également davantage chaque nœud, ce qui peut réduire le nombre de participants capables de suivre le rythme. Cette tension est au cœur du compromis entre décentralisation et performances. Une méthode courante pour gagner à la fois en vitesse et en capacité consiste à déplacer l’exécution de la couche de base vers une blockchain de couche 2, qui effectue des confirmations rapides tout en s’appuyant sur une couche 1 sécurisée pour le règlement.
En quoi la congestion du réseau influe-t-elle sur le débit et la latence ?
La congestion survient lorsque ces deux indicateurs entrent en conflit. Lorsque la demande dépasse la capacité de stockage des blocs, les transactions s’accumulent dans le mempool, les frais augmentent et la latence grimpe en flèche, même si la chaîne continue de traiter des near e son débit maximal. En d’autres termes, le réseau est occupé mais lent pour chaque utilisateur pris individuellement. Comprendre les causes de la congestion d’une blockchain ainsi que les raisons plus générales du ralentissement des blockchains vous aide à concevoir des applications qui se dégradent progressivement plutôt que de se bloquer lorsque le trafic augmente brusquement.
Foire aux questions
Un TPS plus élevé est-il toujours préférable ?
Pas nécessairement. Un TPS élevé n’est utile que si votre application génère réellement un volume de transactions important. Pour une application de paiement ou un produit interactif, une faible latence et une finalité rapide sont généralement plus importantes que la capacité brute. L’indicateur à optimiser dépend de votre charge de travail, et non du chiffre qui semble le plus impressionnant d’un point de vue marketing.
Une faible latence signifie-t-elle qu'une transaction est définitive ?
Non. Une confirmation rapide n'équivaut pas à la finalité. Une transaction peut apparaître rapidement dans un bloc tout en restant réversible jusqu'à ce que la chaîne atteigne son seuil de finalité. Sur les chaînes à finalité probabiliste, il faut attendre plusieurs confirmations, tandis que les chaînes déterministes atteignent la finalité en un seul cycle de consensus. Voir « finalité de la blockchain » pour une distinction complète.
En quoi la latence RPC diffère-t-elle de la latence de la blockchain ?
La latence de la blockchain correspond au temps nécessaire au réseau pour confirmer une transaction, tandis que la limitation de débit et le temps de réponse du fournisseur ajoutent un délai distinct, au niveau de l'infrastructure, à chaque requête effectuée par votre application. Une chaîne rapide peut tout de même sembler lente si votre couche RPC est surchargée ; c'est pourquoi ces deux couches sont importantes.
Les rollups de couche 2 améliorent-ils le débit ou la latence ?
Les deux, mais avec une réserve. Un « rollup » augmente le débit effectif et permet d’obtenir des confirmations rapides sur la couche 2, mais le règlement complet vers la couche 1 peut prendre plus de temps. C’est la latence de la couche 2 (rapide) ou celle de la couche 1 (plus lente) qui est déterminante, selon le niveau de sécurité requis par votre application.
Quelle blockchain offre le meilleur débit et la meilleure latence ?
Il n’y a pas de solution unique ; tout dépend de ce que vous développez. Solana et d’autres chaînes hautement performantes se distinguent par leur TPS brut et des confirmations en moins d’une seconde, tandis que les chaînes à finalité déterministe offrent le règlement le plus rapide, et Bitcoin concilie à la fois sécurité maximale et décentralisation. Adaptez le profil de la chaîne aux besoins de votre application plutôt que de vous focaliser sur un seul chiffre phare.
Comment « Quicknode » aide les développeurs à concilier les deux
QuicknodeL'infrastructure de [nom de l'entreprise] est optimisée à la fois pour les charges de travail exigeantes en débit et celles sensibles à la latence. L'API Core offre un accès RPC à faible latence via un réseau de nœuds répartis à l'échelle mondiale sur plus de 80 chaînes, avec des temps de réponse 2,5 fois plus rapides que ceux de la concurrence. Cela réduit directement la latence liée à l'infrastructure pour chaque appel RPC effectué par votre application. Pour les chaînes où la latence est particulièrement critique (comme les créneaux de 400 ms d'Solana), Quicknode prend en charge Yellowstone gRPC, qui utilise des Protocol Buffers binaires à la place de JSON pour une sérialisation plus rapide et une surcharge réduite.
Pour les charges de travail nécessitant un débit élevé, Quicknode Streams gère l’ingestion de volumes élevés de données, quel que soit le TPS de la chaîne sous-jacente. Que vous indexiez Ethereum à 15 TPS ou Solana à plusieurs milliers de TPS, Streams achemine l’intégralité des blocs de données vers votre destination avec une livraison garantie et un traitement par lots configurable pour un débit optimal. Des Clusters dédiés fournissent une infrastructure isolée aux applications qui ont besoin de performances prévisibles dans des conditions réseau variables, garantissant ainsi que les pics de débit dus à la congestion n’affectent pas la fiabilité de votre pipeline de données.