Tout sur le Bitcoin et les Altcoins

Tout sur le Bitcoin et les Altcoins

Scalabilité du Bitcoin : problème, solutions et futur

Une des critiques les plus familières autour du Bitcoin concerne sans aucun doute sa scalabilité. En effet, son implémentation actuelle ne permet pas à son réseau de supporter une montée en charge suffisante pour devenir un système de paiements globalisé. Atteindre un tel statut nécessite de pouvoir traiter des milliers de transactions à la seconde. A l’heure actuelle, le Bitcoin ne peut traiter que 7 transactions par secondes.

Scalabilité du Bitcoin : problème, solutions et futur

De tels chiffres placent le Bitcoin à des années lumières du système de paiement Visa qui gère 2000 transactions à la seconde mais dont les possibilités sont bien plus importantes. On estime ainsi que le système Visa a un potentiel de scalabilité remarquable puisqu’il pourrait arriver à gérer jusqu’à 56000 transactions à la seconde !

Les critiques sur le Bitcoin correspondent à un problème bien réel mais elles n’adressent qu’une partie du problème. L’autre partie du problème que nous devrions considérer est de savoir si le Bitcoin, bien qu’imparfait aujourd’hui, a le potentiel pour scaler en mettant à jour sa Blockchain. Les questions les plus intéressantes à se poser sont donc :

  • Le Bitcoin peut-il, suite à des modifications de sa Blockchain, scaler suffisamment pour dépasser le seuil des 7 transactions traitables par secondes ?
  • Si le Bitcoin est capable de scaler pour supporter plus de transactions à la seconde, quel seuil peut-il atteindre ?
  • Si plusieurs solutions existent pour rendre le Bitcoin plus scalable, quelle est la meilleure d’entre elles ?

Le débat entourant la scalabilité du Bitcoin est aussi vieux que le Bitcoin lui-même. Cet article se veut être une contribution dans ce débat avec une approche en 3 points : problème, solutions proposées et futur. A la fin de cet article, vous devriez y voir plus clair sur la problématique de la scalabilité du Bitcoin.

Il est également important de garder à l’esprit que le Bitcoin demeure important, et le demeurera, même si sa communauté n’est pas capable de le transformer pour qu’il puisse gérer des milliers de transactions à la seconde. Après bientôt 10 ans d’existence, le Bitcoin a largement prouvé sa valeur en tant que crypto monnaie la plus importante et a toujours su résister aux attaques de toutes sortes qu’il a subi.

Problème du Bitcoin

Les limites techniques du Bitcoin le bloquant à 7 transactions validables par secondes sont connues de tous les crypto enthousiastes. Au cours des mois et années passées, de nombreuses propositions ont été faites pour améliorer la scalabilité du Bitcoin. Une des solutions qui revient le plus souvent concerne la taille des blocs utilisés par la Blockchain Bitcoin. La taille des blocs est actuellement de 1MB et de nombreuses voix s’élèvent prônant une augmentation de cette taille afin de pouvoir embarquer plus de transactions dans les blocs de la Blockchain.

Avoir plus de transactions au sein de chaque bloc permettrait du même coup d’en traiter plus à la seconde. Il est bon de préciser qu’un bloc est enregistré pour validation toutes les 10 minutes en moyenne actuellement. Historiquement, la taille des blocs du Bitcoin aurait été fixée à 1MB afin de le prémunir contre des attaques de type spam ou DDoS (attaques par déni de service). Cependant, certaines voix discordantes arguent du fait que le mystérieux Satoshi Nakamoto n’a jamais réellement confirmé ces justifications. De fait, changer la taille des blocs n’irait pas contre l’avis du fondateur historique du Bitcoin.

Alors, pourquoi changer la taille des blocs s’avère si compliqué et suscite autant de controverses au sein de la communauté Bitcoin ?

Augmenter la taille des blocs réduirait le nombre de mineurs de Bitcoins capables de rentrer en compétition pour valider des blocs, comme nous l’avions expliqué dans notre article sur "Qu’est-ce que le minage de Bitcoin ?". En effet, des blocs plus larges rendraient les opérations de minage plus coûteuses et gourmandes en ressources matérielles. Les entités centralisées possédant plus de puissance de calculs deviendraient plus puissantes du même coup. La nature décentralisée de la Blockchain Bitcoin serait de fait mise à mal ce qui explique en grande partie pourquoi de nombreux membres de la communauté refusent cette solution.

Plus récemment, le Bitcoin a connu un fork logiciel afin d’incorporer le protocole SegWit (Segregated Witness). SegWit est un système visant notamment à séparer la signature des données d’une transaction des données de la transaction. Segregated Witness a également été proposé comme une solution visant à améliorer la scalabilité du Bitcoin et a des impacts de 2 manières différentes. La première concerne la manière dont les données sont stockées au sein de chaque bloc.

In fine, SegWit viendrait booster les capacités de validation des transactions du Bitcoin tout en offrant une rétrocompatibilité avec les anciennes versions du logiciel Bitcoin. Ce mécanisme viendrait également corriger le problème de "Transaction Malleability" lié au fait que la signature d’une transaction est embarquée directement dans la transaction. En sus, l’implémentation de SegWit faciliterait une future intégration du protocole Lightning Network au sein de la Blockchain Bitcoin.

Bitcoin Cash : Hard Fork du Bitcoin

Le débat farouche autour de SegWit aura conduit à un hard fork du Bitcoin en Août 2017 avec la création du Bitcoin Cash, annoncé comme le Bitcoin du futur. Le protocole du Bitcoin Cash réplique celui du Bitcoin en augmentant la taille des blocs à 8MB.

Solutions proposées

L’énoncé du problème principal du Bitcoin aura enlevé tout suspens quant aux solutions actuellement proposées pour le résoudre. En effet, celles-ci ont déjà été évoquées. Néanmoins, les voici présentées de manière plus précise.

Combinaison SegWit / Lightning Network

Comme nous venons de l’expliquer, une implémentation combinée des protocoles SegWit et Lightning Network au sein de la Blockchain Bitcoin constitue la solution la plus prometteuse d’un point de vue technique pour sa scalabilité. Le fait que SegWit renforce la sécurité du Bitcoin mais également facilite l’intégration du Lightning Network semble constituer un scénario idyllique. Il est bon de rappeler que, conséquence de ses problèmes de scalabilité, le Bitcoin voit ses frais de transaction exploser et n’est donc pas une solution pérenne pour le développement d’un système décentralisé de micro-paiements à forte volumétrie.

En ce sens, le Lightning Network est la solution idéale puisqu’il permet l’exécution d’un nombre importants de micropaiements sans frais de transactions. En sortant l’exécution de ces micro-transactions de la Blockchain Bitcoin, il permet, de facto, un désengorgement du réseau. Pour plus de détails sur le fonctionnement du Lightning Network, n’hésitez pas à consulter notre introduction complète du Lightning Network pour les "Nuls".

Bitcoin avec le Lightning Network

Ajouter le mécanisme Lightning Network au Bitcoin doterait ce dernier de capacités quelque peu similaires à ce que proposent les plateformes de contrats intelligents comme Ethereum, le concurrent le plus sérieux du Bitcoin. Alors que le Lightning Network n’en est qu’à ses débuts, il semble évident que son implémentation sur la Blockchain Bitcoin constitue une solution inévitable pour assurer le développement à long terme du Bitcoin. Une combinaison SegWit / Lightning Network serait idéale mais il faudra pour cela que la communauté trouve un consensus sur le sujet. Loin d’être gagné donc …

Augmentation de la taille des blocs

Sujet récurrent depuis de nombreux mois, l’augmentation de la taille des blocs est une autre solution sérieusement considérée pour augmenter la scalabilité du Bitcoin. Le principal frein de cette solution étant les risques de pertes d’une partie de la décentralisation de la Blockchain Bitcoin comme nous l’avons expliqué précédemment. Il y a donc un débat important dans la communauté concernant ce sujet. Là encore, Il faudra trouver un consensus pour avancer.

Le Bitcoin Cash ayant choisi de passer à une taille de blocs de 8MB, il constitue un cas d’étude intéressant des avantages et inconvénients que cette augmentation pourrait avoir sur la scalabilité de la Blockchain Bitcoin. Cependant, il est bon de souligner que ce changement sur la taille n’aurait qu’un impact linéaire (à la hausse) sur le nombre de transactions pouvant être traitées par secondes. On passerait de 7 transactions par secondes à 56 par secondes au maximum (7 transactions multiplié par 8 puisqu’on passerait d’une taille de blocs de 1MB à 8MB). A court voir moyen terme, cette augmentation serait bénéfique pour les capacités du réseau.

Comparaison des transactions par secondes entre Bitcoin, Visa et PayPal

Néanmoins, elle ne peut constituer une réponse à long terme et une solution pour que le Bitcoin puisse devenir un système de paiement grand public. En effet, on peut rappeler que Visa traite déjà 2000 transactions par secondes avec des possibilités de scalabilité considérables.

L’augmentation de la taille des blocs correspond donc plus à une solution temporaire avant de passer à l’intégration de solutions plus pérennes à long terme comme le SegWit et/ou le Lightning Network.

Futur du Bitcoin

En l’état actuel, le Bitcoin ne peut constituer une solution de paiement globale viable. C’est un fait sur lequel tout le monde s’accorde. Des solutions existent et nous vous avons présenté les 3 revenant le plus souvent sur la table des négociations. Chacune de ces solutions vient avec ses avantages et ses inconvénients comme bien souvent en informatique. Il faudra donc voir si le jeu en vaut la chandelle et si la communauté peut trouver un consensus pour faire avancer le Bitcoin dans la bonne direction à long terme.

De notre côté, nous pensons qu’une implémentation du Lightning Network s’imposera à moyen terme et qu’une combinaison avec le protocole SegWit constituerait une solution favorable à l’amélioration notable de la scalabilité du Bitcoin. En revanche, l’augmentation de la taille des blocs ne vaut peut-être pas la peine d’être réalisée compte tenu du gain de scalabilité relativement faible que cela apporterait au Bitcoin en comparaison des risques sur une limitation de sa décentralisation.

Partager