Une plongée en profondeur dans l’évolutivité de la blockchain
Nous nous penchons sur les développements prometteurs de la blockchain qui pourraient permettre d’atteindre des vitesses de transaction quasi instantanées pour les crypto-monnaies.
Principaux enseignements :
- L’évolutivité de la blockchain fait référence au nombre de transactions qu’un réseau peut traiter par seconde, les solutions financières traditionnelles telles que Visa et PayPal étant l’étalon-or actuel.
- Le débit, la finalité et le temps de confirmation sont les trois principaux goulets d’étranglement de l’évolutivité d’une blockchain. Les solutions proposées visent toutes à y remédier.
- Le trilemme de l’évolutivité de la blockchain (évolutivité, décentralisation, sécurité) peut être un problème délicat à résoudre, mais il n’est pas figé.
- Les trois directions vers lesquelles les blockchains s’orientent pour stimuler leur évolutivité sont les nouveaux mécanismes de consensus et les solutions à la fois sur la chaîne et hors de la chaîne.
Introduction
L’évolutivité de la blockchain est sans doute le Saint-Graal et le goulot d’étranglement du monde des crypto-monnaies. Il s’agit principalement de la vitesse des transactions, car les délais de transaction actuels de nombreuses crypto-monnaies ne sont pas comparables à ceux d’autres méthodes de paiement. Toutefois, les communautés crypto élaborent différentes théories sur la meilleure façon de surmonter cet obstacle. Dans cet article, nous nous penchons sur les développements prometteurs qui pourraient enfin apporter aux crypto-monnaies des vitesses de transaction quasi-instantanées.
L’importance de l’évolutivité : Vitesses de transaction des crypto-monnaies
Alors que Visa peut traiter jusqu’à 24 000 transactions par seconde (TPS), Bitcoin ne peut traiter que sept TPS. Ethereum, le plus proche concurrent de Bitcoin, peut gérer 20 à 30 TPS. Il est clair que les crypto-monnaies doivent rattraper les capacités de transaction de la finance traditionnelle pour être adoptées massivement.
Mais pourquoi l’évolutivité est-elle si difficile sur une blockchain? Quelles sont les orientations entendues par les acteurs du secteur ? Cet article répond à ces questions et à bien d’autres encore.
Goulets d’étranglement : Débit, finalité et temps de confirmation
Quel est le lien entre le TPS et la vitesse de traitement ? Que signifie exactement la question de savoir si une crypto-monnaie est évolutive ? Pour répondre à ces questions, nous devons d’abord comprendre les concepts de débit, de finalité et de temps de confirmation.
Prenons l’exemple de cette histoire :
Une personne attend un bus qui passe toutes les 10 minutes. Il faut ensuite 60 minutes pour que le bus les emmène à leur destination. Cependant, cette ligne est très fréquentée et il y a toujours beaucoup de monde pour monter dans le bus.
Deux minutes se sont écoulées et le bus est arrivé. Malheureusement, il y a trop de personnes devant cette personne dans la file d’attente et le bus est plein. Ils doivent maintenant attendre 10 minutes de plus avant de pouvoir commencer leur voyage, qui peut se résumer ainsi :
Il convient de noter que :
- Il ne suffit pas de mesurer le débit (TPS), il faut aussi tenir compte du temps de confirmation. En clair, un protocole qui peut traiter jusqu’à 100 000 TPS est excellent. Toutefois, si le délai de confirmation est de deux jours, cela ne suffira pas pour une utilisation quotidienne.
- En cas de congestion du réseau, le débit ne diminue pas (puisque le bus peut toujours transporter sept passagers par minute), mais le temps de confirmation augmente en raison de l’allongement du temps d’attente moyen du premier bloc.
- La finalité est fixée : il y a une attente de “confirmation de six blocs” pour s’assurer que le bloc n’est pas réversible. Le temps d’attente moyen au premier bloc varie en fonction de la situation.
Le trilemme de l’évolutivité de la blockchain
Le trilemme de l’évolutivité de la blockchain est l’un des plus grands obstacles aux crypto-monnaies. Il stipule que les blockchains ne peuvent réaliser simultanément que deux des trois objectifs suivants : décentralisation, évolutivité ou sécurité, mais jamais les trois à la fois. Des compromis sont donc inévitables. Le trilemme a été inventé par Vitalik Buterin, le fondateur d’Ethereum.
Toutefois, le trilemme de l’extensibilité n’est pas figé, car il s’agit d’une observation de Buterin et des communautés Web3. Malgré la difficulté de résoudre le trilemme, un algorithme peut exister… à moins que quelqu’un n’ait prouvé que c’est impossible.
1) Décentralisation
La décentralisation fait référence au degré de diversification de la propriété, de l’influence et de la valeur sur une blockchain. Les crypto-monnaies sont généralement décentralisées, car aucune partie ne peut gouverner l’ensemble du réseau. Cependant, la décentralisation est un spectre plutôt qu’un “oui ou non” binaire, car il existe différents niveaux de décentralisation dans divers projets de blockchain, y compris Bitcoin et Ethereum.
2) Sécurité
La sécurité est le niveau de défense et de résistance à la falsification d’une blockchain contre les attaques provenant de sources externes. Il existe de nombreux vecteurs d’attaque dans un système de blockchain, notamment la double dépense, le déni de service distribué(DDoS) et les attaques à 51 %.
En général, une plus grande liberté (c’est-à-dire la libre entrée/sortie du réseau) se traduit par une plus grande décentralisation mais une moins grande sécurité. En effet, il est difficile de vérifier l’identité des nouveaux participants, qui peuvent appartenir à une seule entité malveillante ou s’associer pour nuire à un réseau.
3) Évolutivité
L’évolutivité détermine la capacité du réseau, notamment le nombre de nœuds qu’il possède, le nombre de transactions qu’il peut traiter et la rapidité avec laquelle il peut les traiter, entre autres facteurs.
Le terme “évolutivité” prête parfois à confusion, car la blockchain de Bitcoin est évolutive lorsque de nouveaux participants rejoignent le réseau. Le système de preuve de travail (PoW) ajuste automatiquement la difficulté du minage, et le réseau peut tolérer n’importe quel nombre de nœuds.
Le dicton selon lequel “Bitcoin n’est pas extensible” se concentre sur son débit. N’oubliez pas que son TPS n’est que de sept, ce qui n’est pas assez élevé pour une utilisation pratique. La vitesse de finalisation du bitcoin est un autre problème. Attendre 60 minutes pour confirmer la validité d’un achat est loin d’être idéal.
Accroître l’évolutivité de la blockchain
La mise à l’échelle d’une blockchain est compliquée, et les chercheurs et les entreprises déploient de nombreux efforts pour résoudre ce trilemme. En général, nous pensons qu’il y a trois directions pour l’évolutivité de la blockchain :
- Couche 1 (sur la chaîne)
- Couche 2 (hors chaîne)
- Autres mécanismes de consensus
Solutions de la couche 1 (sur la chaîne)
Les solutions de niveau 1 nécessitent de modifier la base de code de la blockchain (d’où le terme “on-chain”). Une solution d’évolutivité sur la chaîne représente un changement structurel ou fondamental pour une blockchain. Nous examinons ici deux solutions de mise à l’échelle de la chaîne : SegWit et sharding.
Témoin séparé (SegWit)
SegWit est une mise à jour du protocole Bitcoin qui modifie le mode et la structure de stockage des données. L’intention initiale de SegWit était de résoudre le problème de la malléabilité des transactions, car la signature numérique qui vérifie la propriété et la disponibilité des fonds de l’expéditeur occupe beaucoup d’espace dans une transaction.
Avec SegWit, la suppression des données de signature pour chaque transaction libère de l’espace et de la capacité pour les transactions contenues dans les blocs de stockage de 1 Mo de Bitcoin, ce qui permet d’inclure plus de transactions dans un seul bloc. SegWit a déjà été mis en œuvre dans Litecoin.
Bien que SegWit augmente le débit et aide Bitcoin à traiter davantage de transactions, il ne s’agit pas d’une solution durable de mise à l’échelle. Il ne s’agit pas d’une solution générique de mise à l’échelle, qui ne peut être appliquée qu’à la seule blockchain existante basée sur le bitcoin. Bien que SegWit permette à Bitcoin de traiter davantage de transactions, il ne réduit pas le temps de confirmation de chaque transaction.
Le sharding
Le sharding est une forme de partitionnement de la base de données, également connue sous le nom de partitionnement horizontal. Il s’agit d’un processus consistant à diviser une vaste base de données en segments plus petits et plus faciles à gérer, dans le but d’améliorer les performances et de réduire le temps de réponse des requêtes.
La blockchain est une base de données distribuée, et si nous appliquons le sharding à une blockchain, le réseau est divisé en différents segments. Chaque segment est régi par certains nœuds qui lui ont été attribués. De ce fait, le débit du système est grandement amélioré puisque, arbitrairement, de nombreuses grappes de nœuds fonctionnent en parallèle pour traiter les transactions.
Solutions de la couche 2 (hors chaîne)
Les solutions d’évolutivité de niveau 2, ou solutions hors chaîne, ajoutent une deuxième couche au réseau principal de la blockchain (également appelé chaîne principale) pour faciliter des transactions plus rapides. Les protocoles secondaires sont construits au-dessus de la chaîne principale, où les transactions sont “déchargées” pour économiser de l’espace et réduire la congestion du réseau.
Chaînes latérales
Une sidechain est une blockchain distincte liée à la mainchain, où les actifs sont échangés entre la mainchain et les sidechains à des taux prédéterminés en utilisant un peg bidirectionnel. Les sidechains sont utilisées pour décharger la mainchain en y transférant certaines applications ; elles comptent parmi les solutions les plus prometteuses au problème d’évolutivité si la communication inter-blockchain devient plus efficace.
Plusieurs chaînes latérales peuvent être rattachées à la chaîne principale, et chaque chaîne latérale peut avoir sa propre architecture. Il est possible de créer un réseau de sidechains avec une mainchain, où la mainchain agit comme un réseau de relais et les sidechains représentent un réseau de blockchain. Plasma (Ethereum) et Parachain (Polkadot) sont des solutions populaires de mise à l’échelle utilisant des chaînes latérales et des relais.
Canaux de paiement
Un canal de paiement est un réseau hors chaîne qui fonctionne parallèlement à la chaîne principale. L’idée est d’établir un canal entre deux parties qui souhaitent effectuer une transaction.
Toutes les transactions qui ont lieu au sein du canal sont hors chaîne, et le consensus global n’est pas nécessaire. Par conséquent, ces transactions s’exécutent rapidement via un contrat intelligent, généralement avec des frais moins élevés. Un canal de paiement classique comprend trois phases :
Première phase : Établir la chaîne en la signant et en la finançant.
Deuxième phase : Transactions peer-to-peer (P2P) sur le canal.
Troisième phase : Le canal est fermé et l’état final de la chaîne principale est diffusé.
Il existe plusieurs modèles de canaux de paiement. Le Lightning Network (Bitcoin) et le Raiden Network (Ethereum) sont des implémentations populaires de canaux de paiement.
Les mécanismes de consensus et leur importance pour la rapidité des transactions
La difficulté de la mise à l’échelle d’une blockchain est principalement due à son mécanisme de consensus, qui exige que tous les participants au réseau s’accordent sur la validité des transactions. Si Bitcoin peut s’adapter à un grand nombre de participants (nœuds), il ne peut pas s’adapter à un grand nombre de transactions.
C’est pourquoi certains mécanismes de consensus alternatifs sont apparus pour tenter de résoudre le problème. Nous en présentons trois ci-dessous : Nakamoto, classique et sans chef.
Mécanismes de consensus de Nakamoto
Le mécanisme de consensus PoW de Satoshi Nakamoto a ouvert une nouvelle voie pour résoudre le problème des généraux byzantins dans une configuration sans permission. Après le développement du mécanisme de consensus PoW, de nombreux nouveaux algorithmes de consensus ont vu le jour. Il s’agit notamment de la preuve d’enjeu(PoS), de la preuve d’autorité (PoA), de la preuve de réputation (PoR) et de la preuve d’importance (PoI).
En général, ces mécanismes sont classés dans la catégorie des mécanismes de consensus de Nakamoto.
Mécanismes de consensus classiques
Les mécanismes de consensus classiques sont les algorithmes traditionnels qui ont fait l’objet de recherches avant l’invention de Bitcoin. Ils se concentrent sur des ensembles de pairs fixes avec plusieurs tours de vote afin de parvenir à un consensus au sein de l’ensemble du réseau. Paxos, Raft et pBFT sont des exemples de réseaux utilisant des mécanismes de consensus classiques.
Après l’invention du bitcoin, les mécanismes de consensus classiques ont également évolué, avec de nouvelles variantes telles que le BFT délégué (dBFT), le BFT fédéré (fBFT), Tendermint, etc. Ces mécanismes s’adaptent mieux à un environnement sans autorisation.
Mécanismes de consensus sans chef
Les mécanismes de consensus traditionnels (de type BFT) et ceux de Nakamoto (de type PoW) sont tous deux basés sur un leader. L’ensemble du réseau doit élire un leader pour les propositions de blocs, les transactions, les états du grand livre, etc. avant que le reste du réseau ne puisse voter sur l’acceptation ou le rejet de la proposition.
Toutefois, une nouvelle orientation se dessine, qui fait appel à des mécanismes de consensus sans chef, dans lesquels tous les participants au réseau sont autorisés à évoquer des transactions récentes, qui sont ensuite diffusées comme des ragots à travers le réseau. En fin de compte, la blockchain décide par consensus des transactions à inclure. Parmi les exemples de projets utilisant un mécanisme de consensus sans chef, on peut citer Avalanche, IOTA et NKN.
Si les mécanismes de consensus sans chef semblent permettre de résoudre le trilemme de l’extensibilité, la plupart d’entre eux sont actuellement expérimentaux.
Pour une discussion plus approfondie sur les principes sous-jacents des mécanismes de consensus, lire Comment se mettre d’accord : Différents types de consensus pour la blockchain .
Derniers mots sur les solutions de mise à l’échelle
Malgré les obstacles majeurs que la blockchain doit encore surmonter, à savoir le trilemme de l’évolutivité, il existe plusieurs solutions potentielles pour améliorer les délais de transaction, notamment le sharding et le Lightning Network, en plus de celles qui sont proposées par la communauté. Pour en savoir plus, consultez nos études approfondies sur les chaînes parallèles et les mécanismes de consensus.
Diligence raisonnable et recherches personnelles
Tous les exemples cités dans cet article sont donnés à titre d’information uniquement. Vous ne devez pas considérer ces informations ou autres documents comme des conseils juridiques, fiscaux, d’investissement, financiers ou autres. Rien de ce qui est contenu dans le présent document ne constitue une sollicitation, une recommandation, une approbation ou une offre par Crypto.com d’investir, d’acheter ou de vendre des pièces de monnaie, des jetons ou d’autres actifs cryptographiques.
Les performances passées ne constituent pas une garantie ou un prédicteur des performances futures. La valeur des crypto-actifs peut augmenter ou diminuer, et vous pourriez perdre la totalité ou une partie substantielle de votre prix d’achat. Lors de l’évaluation d’un actif cryptographique, il est essentiel que vous fassiez vos recherches et que vous exerciez une diligence raisonnable afin de prendre la meilleure décision possible, car tout achat relève de votre seule responsabilité.
Partager avec des amis
Prêt à commencer votre aventure crypto ?
Obtenez votre guide étape par étape pour ouvrir
un compte sur Crypto.com
En cliquant sur le bouton Soumettre, vous reconnaissez avoir lu l'Avis de confidentialité de Crypto.com où nous expliquons comment nous utilisons et protégeons vos données personnelles.