Réponses>Découvrir les bases de la blockchain>Qu'est-ce que la finalité de la blockchain ?
Qu'est-ce que la finalité de la blockchain ?
// Tags
finalité de la blockchainfinalité des transactionsconfirmation de bloc
En bref : la finalité d'une blockchain correspond au moment où une transaction est définitivement confirmée et ne peut plus être annulée, modifiée ou supprimée du registre. Chaque blockchain atteint cette finalité à sa manière et à son propre rythme, en quelques secondes ou quelques minutes. Les développeurs doivent bien comprendre ce concept, car le délai de confirmation des transactions a une incidence sur l'expérience utilisateur, la sécurité et les fonds.
L'explication simple
Une transaction sur la blockchain ne devient pas définitive dès que vous cliquez sur « Envoyer ». Elle est d'abord transmise au réseau, puis un validateur ou un mineur la récupère, et elle est intégrée à un bloc. Même à ce stade, il existe généralement un délai pendant lequel la transaction peut encore être annulée en cas de réorganisation du réseau, un événement appelé « reorg ». La finalité correspond au moment où ce délai prend fin.
C'est un peu comme envoyer un chèque par la poste :
Le déposer dans la boîte aux lettres revient à rendre votre transaction publique.
Le fait que le bureau de poste vienne le récupérer, c'est comme si la transaction était ajoutée au mempool.
Le chèque qui parvient à la banque, c'est comme s'il était intégré dans un bloc.
Le paiement n'est définitif qu'une fois que la banque l'a traité et que les fonds ont été définitivement transférés. La finalité de la blockchain correspond à cette dernière étape : le moment où toute annulation devient pratiquement ou mathématiquement impossible.
Chaque blockchain en donne une définition différente :
Bitcoin utilise la finalité probabiliste. Chaque nouveau bloc ajouté après votre transaction rend son annulation exponentiellement plus difficile. Après six confirmations (environ 60 minutes), une transaction Bitcoin est considérée comme sécurisée dans la plupart des cas.
Ethereum utilise Casper FFG depuis le passage au mécanisme « Proof of Stake ». Les comités de validateurs votent pour finaliser les points de contrôle toutes les 12 à 13 minutes environ. Annuler une transaction finalisée impliquerait que les attaquants brûlent au moins un tiers de l'ensemble des ETH mis en jeu, ce qui serait économiquement désastreux.
Solana atteint la finalité en un seul slot en environ 400 millisecondes grâce à la combinaison des mécanismes « Proof of History » et « Proof of Stake ». La prochaine mise à jour « Alpenglow » vise à ramener ce délai sous la barre des 150 millisecondes.
Comment parvient-on à la finalité ?
Le mécanisme de consensus d'une blockchain garantit la finalité.
Dans le modèle « Proof of Work », la finalité est probabiliste. Les mineurs prolongent la chaîne la plus longue, et chaque nouveau bloc rend la révision des blocs précédents exponentiellement plus coûteuse.
Dans les systèmes de « Proof of Stake » (PoS) et de tolérance aux pannes byzantines (BFT), les validateurs votent sur les blocs. Dès qu’une majorité qualifiée (généralement les deux tiers de la valeur mise en jeu) se met d’accord, le bloc est définitif. Le revenir en arrière entraînerait la perte d’une part considérable de la mise.
La conception consensuelle détermine si une chaîne offre une finalité probabiliste, déterministe ou économique, ainsi que la rapidité avec laquelle celle-ci est atteinte.
Types de finalité
Les développeurs doivent connaître plusieurs types de finalité.
La finalité probabiliste signifie qu'une transaction gagne en sécurité à chaque nouveau bloc ajouté par-dessus, mais qu'il existe toujours un infime risque d'annulation. Bitcoin et d'autres chaînes de type « Proof of Work » utilisent ce modèle. Les chances d'annulation diminuent de manière exponentielle à chaque confirmation, mais n'atteignent jamais zéro.
La finalité déterministe (ou absolue) signifie qu’une transaction finalisée ne peut pas être annulée sans enfreindre le protocole de consensus lui-même. Les chaînes de type « Proof of Stake » (PoS), comme Ethereum (après la fusion) et de nombreuses chaînes basées sur le BFT, fonctionnent de cette manière. Dès qu’un nombre suffisant de validateurs a certifié un bloc et que celui-ci atteint un point de contrôle de finalité, il devient définitif.
La finalité économique est étroitement liée à cela. Même sur les chaînes dotées d’une finalité déterministe, la véritable garantie est d’ordre économique : annuler une transaction finalisée détruirait une valeur mise en jeu si importante qu’aucun acteur rationnel ne tenterait de le faire. Sur Ethereum, cela reviendrait à brûler plus de 11 millions d’ETH (un tiers de l’ensemble des ETH mis en jeu) pour annuler un bloc finalisé.
La finalité instantanée est l’objectif de certaines chaînes récentes et de certains réseaux de couche 2. Avalanche, par exemple, fait en sorte que les validateurs sondent à plusieurs reprises les préférences les uns des autres jusqu’à ce qu’ils parviennent à un accord, ce qui ne prend que quelques secondes. Certains rollups de couche 2 offrent une finalité « souple » quasi-instantanée ( near) fournie par le séquenceur. La véritable finalité dépend toutefois du moment où les preuves ou les données du rollup sont validées sur la couche 1.
Finalité probabiliste vs finalité déterministe
Les modèles de finalité se divisent en deux catégories. La finalité probabiliste se renforce à chaque nouveau bloc, mais n'atteint jamais une certitude absolue. La finalité déterministe garantit qu'un bloc ne peut plus être annulé dès l'instant où le consensus le valide. Le tableau ci-dessous compare ces deux modèles.
Finalité probabiliste
Finalité déterministe
Consensus
Preuve de travail
Proof of Stake ou BFT
Risque de retournement
Il diminue de manière exponentielle, sans jamais atteindre zéro
Mathématiquement impossible une fois finalisé
Confirmation
Attendre plusieurs blocs
Point de contrôle unique de finalisation
Exemples de chaînes
Bitcoin, Litecoin, Dogecoin
Ethereum, Avalanche, BNB Smart Chain
Compromis
Une certitude simple, mais plus lente
Une certitude plus rapide, un consensus plus complexe
Qu'est-ce que le « Time to Finality » (TTF) ?
Le délai de finalisation (TTF) correspond au temps total écoulé entre le moment où un utilisateur soumet une transaction et celui où le réseau garantit qu'elle ne peut plus être annulée. Il s'étend de la signature et de la diffusion de la transaction jusqu'au point de contrôle de consensus qui rend la transaction définitive.
Le TTF est le chiffre qui intéresse vraiment les développeurs. Il indique à un commerçant, à une plateforme d'échange ou à un pont le temps d'attente nécessaire avant de considérer une transaction comme finalisée. Un TTF plus court se traduit par des applications plus rapides et plus réactives. Le temps d'attente recommandé dépend du montant en jeu.
Finalité sur les principales blockchains
Les chaînes parviennent à la finalité grâce à différents mécanismes de consensus et à des vitesses très variables. Le tableau ci-dessous présente la manière dont les réseaux les plus répandus finalisent les transactions.
Blockchain
Consensus
Type de finalité
Délai approximatif jusqu'à la décision définitive
Bitcoin
Preuve de travail
Probabiliste
Environ 60 minutes (6 confirmations)
Ethereum
Proof of Stake (Casper FFG)
Déterministe et économique
Environ 12 à 13 minutes (2 époques)
Solana
Preuve d'historique et preuve d'enjeu
Optimiste, à emplacement unique
Temps de réponse aujourd'hui : objectif d'environ 150 ms avec Alpenglow
Avalanche
Consensus entre Snowman et l'Avalanche
Déterministe
Environ 1 à 2 secondes
BNB Smart Chain
Preuve d’autorité par mise en jeu avec finalité rapide
Déterministe
Environ 2 à 3 secondes
Ces chiffres sont approximatifs et varient en fonction des mises à jour du protocole. Consultez la documentation officielle de chaque réseau pour connaître les garanties de finalité actuelles avant de les utiliser en production.
Quicknode fournit à la fois des données de bloc récentes et finalisées, avec un RPC à faible latence sur l'ensemble de Ethereum, Solana, BNB Smart Chain, et de nombreux autres réseaux. Pour des tutoriels étape par étape sur la création à partir de données finalisées, consultez leGuide du développeur « Quicknode ».
Finalité contre immuabilité
Les termes « finalité » et « immuabilité » sont souvent utilisés comme s'ils avaient la même signification, mais ce n'est pas le cas. L'immuabilité signifie que les données inscrites dans le registre ne peuvent pas être modifiées. La finalité signifie que le réseau a convenu qu'une transaction est définitive et qu'elle ne sera pas supprimée de la chaîne lors d'une réorganisation. Le contenu d'un bloc peut être figé (immutable) tout en pouvant être annulé si le bloc se retrouve orphelin lors d'une réorganisation avant que la finalité ne soit atteinte. La finalité est la garantie qui met fin à cette possibilité.
Pourquoi la finalité est-elle importante pour les développeurs ?
La finalité détermine la manière dont vous développez votre application.
Une bourse décentralisée doit savoir à quel moment une transaction est réellement finalisée avant de mettre à jour les soldes.
Un pont entre deux chaînes qui considère trop tôt qu’une transaction est définitive est vulnérable aux attaques par double dépense. Un utilisateur pourrait effectuer un retrait sur la chaîne de destination avant que son dépôt ne soit réellement confirmé sur la chaîne source.
Cela vaut également pour d'autres types d'applications :
Paiements : la finalité détermine le délai pendant lequel un commerçant doit attendre avant de valider un achat.
DeFi : cela a une incidence sur le moment de la liquidation, la fiabilité des mises à jour des oracles et les stratégies de MEV (valeur maximale extractible).
Plateformes de NFT : c'est elle qui détermine à quel moment un transfert de propriété peut être affiché en toute sécurité.
Ponts inter-chaînes : les décalages de finalité entre la chaîne source et la chaîne de destination constituent l'une des principales causes d'exploits visant ces ponts.
Les réorganisations de blocs (ou « reorgs ») illustrent concrètement ce qu’est la finalité faible. Une réorganisation se produit lorsque le réseau remplace un bloc récent par un autre. Généralement, deux validateurs ont produit des blocs concurrents à peu près au même moment, et le réseau a dû en choisir un. Les transactions contenues dans le bloc remplacé peuvent être supprimées ou réorganisées. Les applications qui ne tiennent pas compte des réorganisations peuvent afficher des transactions fantômes qui disparaissent par la suite, ce qui sème la confusion chez les utilisateurs et peut entraîner de réelles pertes.
Comment « Quicknode » gère la finalité
QuicknodeSon infrastructure est conçue dans une optique de finalité. Quicknode Streams Elle fournit les données de la blockchain dans l’ordre de finalité et intègre une gestion des réorganisations, ce qui permet à votre application de disposer de données cohérentes même en cas de réorganisation du réseau. Vous n’avez pas besoin de vérifier manuellement les confirmations ni de suivre les réorganisations. Streams garantit la livraison « exactement une fois » des blocs finalisés, des reçus et des traces. Il est ainsi beaucoup plus facile de développer des applications qui s’appuient sur un état confirmé plutôt que sur des hypothèses optimistes.
QuicknodeL'API Core vous fournit également les données de blocs les plus récentes et celles qui ont été validées sur l'ensemble des réseaux pris en charge, ce qui vous permet de choisir le niveau de confirmation adapté à votre cas d'utilisation. Utilisez les données de blocs les plus récentes pour une interface utilisateur réactive, ou les données validées lors du règlement des transactions.
Pour les applications pilotées par les événements, Quicknode Webhooks peut notifier votre backend dès que de nouveaux blocs sont finalisés ou qu'une réorganisation se produit, ce qui vous permet de réagir à l'état confirmé sans avoir à effectuer d'interrogations constantes.
Combien de temps faut-il pour que la finalité d'une transaction sur la blockchain soit atteinte ?
Ce délai varie entre moins d'une seconde sur des chaînes telles que Avalanche et Solana , environ 12 à 13 minutes pour une finalité totale sur Ethereum , et environ une heure pour une sécurité à six confirmations sur Bitcoin. Le temps d'attente approprié dépend de la valeur de la transaction.
La finalité de la blockchain est-elle synonyme d'immuabilité ?
Non. L'immuabilité signifie que les données ne peuvent plus être modifiées une fois enregistrées, tandis que la finalité signifie que le réseau garantit qu'une transaction ne sera ni annulée ni réorganisée hors de la chaîne. Un bloc peut être « immutable » tout en restant réversible avant d'atteindre la finalité.
Quelle blockchain offre la finalité la plus rapide ?
Parmi les principaux réseaux, Avalanche, BNB Smart Chain et Solana effectuent le règlement en quelques secondes, voire moins. La prochaine mise à niveau « Alpenglow » de Solana vise un délai de finalisation d'environ 150 millisecondes.
Qu'est-ce qu'une réorganisation et quel est son lien avec la finalité ?
Une « reorg », ou réorganisation, se produit lorsque le réseau remplace un bloc récemment ajouté par un bloc concurrent. La finalité correspond au moment à partir duquel les « reorgs » ne peuvent plus affecter une transaction ; c'est pourquoi les applications doivent attendre que la finalité soit atteinte avant de considérer les fonds comme réglés.
Pourquoi la finalité est-elle importante pour les développeurs ?
La finalité détermine à quel moment il est possible d'effectuer en toute sécurité des opérations sur les soldes, les transactions, les transferts via des ponts inter-chaînes et les changements de propriété. Une mauvaise évaluation de ce paramètre est l'une des principales causes des exploits sur les ponts inter-chaînes et des attaques par double dépense ; il est donc essentiel de bien comprendre les garanties de finalité de chaque chaîne pour développer des applications sécurisées.