# Problème d'évolutivité du Bitcoin

Le problème d'évolutivité de Bitcoin fait référence à la capacité limitée du réseau Bitcoin à gérer de grandes quantités de données de transaction sur sa plateforme dans un court laps de temps. Cela est lié au fait que les enregistrements (appelés blocs) dans la blockchain Bitcoin sont limités en taille et en fréquence.
Les blocs de Bitcoin contiennent les transactions sur le réseau Bitcoin. La capacité de traitement des transactions en chaîne du réseau Bitcoin est limitée par le temps moyen de création de bloc de 10 minutes et la limite de taille de bloc d'origine de 1 mégaoctet. Ces éléments limitent conjointement le débit du réseau. Aujourd'hui, le temps moyen de création d'un bloc est toujours de 10 minutes, mais la taille maximale d'un bloc à été augmentée à 4 mégaoctets après la mise à jour segwit. La capacité maximale de traitement des transactions estimée à l'aide d'une taille de transaction moyenne ou médiane est comprise entre 3,3 et 7 transactions par seconde. Il existe diverses solutions proposées et mises en œuvre pour résoudre ce problème.

## Arrière-plan

La limite de taille des blocs, en accord avec les paramètres d'ajustement de la difficulté de preuve de travail du protocole de consensus de Bitcoin, constitue un goulot d'étranglement dans la capacité de traitement des transactions de Bitcoin. Cela peut entraîner une augmentation des frais de transaction et un retard dans le traitement des transactions qui ne peuvent pas être intégrées dans un bloc. Diverses propositions ont été avancées sur la manière de faire évoluer Bitcoin, et un débat controversé en a résulté. En 2017, Business Insider a qualifié ce débat de « bataille idéologique sur l'avenir du bitcoin ».

## Améliorations de l'efficacité

Les optimisations techniques peuvent réduire la quantité de ressources informatiques nécessaires pour recevoir, traiter et enregistrer les transactions Bitcoin, permettant ainsi un débit accru sans imposer de demande supplémentaire au réseau Bitcoin. Ces modifications peuvent concerner soit le réseau, auquel cas un fork est nécessaire, soit un logiciel de nœud individuel (comme Bitcoin Core ).
* Les signatures Schnorr ont été proposées comme solution de mise à l'échelle par Pieter Wuille, développeur de longue date et co-fondateur de Blockstream.
* Merkelized Abstract Syntax Trees (MAST) est une proposition de Johnson Lau qui réduit la taille des contrats intelligents (scripts complexes) et augmente leur confidentialité.
* Un article de 2006 de Mihir Bellare permet l'agrégation de signatures en taille O(1), ce qui signifie qu'il ne faudra pas plus d'espace pour avoir plusieurs signataires. Bellare-Neven se réduit à Schnorr pour une seule clé. Bellare-Neven a été mis en œuvre$^,$

## Systèmes de « couche 2 »

Le Lightning Network (LN) est un protocole qui vise à améliorer l'évolutivité et la vitesse du bitcoin sans sacrifier le fonctionnement sans confiance. Le Lightning Network nécessite de placer une transaction de financement sur la blockchain pour ouvrir un canal de paiement. Une fois qu'un canal est ouvert, les participants connectés peuvent effectuer des paiements rapides au sein du canal ou peuvent acheminer les paiements en « sautant » entre les canaux au niveau de nœuds intermédiaires pour peu ou pas de frais.
En janvier 2018, Blockstream a lancé un système de traitement des paiements pour les détaillants en ligne appelé « Lightning Charge », notant que Lightning était en ligne sur le réseau principal avec 200 nœuds opérationnels au 27 janvier 2018 et a conseillé qu'il devrait toujours être considéré comme « en test ».
Le 15 mars 2018, Lightning Labs a publié la version bêta de sa dernière implémentation Lightning Network pour le réseau principal Bitcoin, et le 28 mars 2018, ACINQ a publié une version bêta du réseau principal de son implémentation Eclair et de son application de bureau.
En janvier 2019, le détaillant en ligne Bitrefill a annoncé qu'il recevait plus de paiements en Bitcoin via le réseau Lightning que toute autre crypto-monnaie qu'il acceptait.
En juin 2021, l'Assemblée législative du Salvador a voté une loi visant à faire du Bitcoin une monnaie légale au Salvador$^,$$^,$. La décision a été prise en raison du succès de l’écosystème Bitcoin Beach à El Zonte qui utilisait un portefeuille basé sur LN. Le gouvernement introduira un portefeuille utilisant le protocole Lightning Network tout en donnant la liberté aux citoyens d'utiliser d'autres portefeuilles Bitcoin Lightning.
En 2024, d'autres systèmes de seconde couche sont en développement, comme Ark ou des solutions basées sur les preuves à divulgation nulle de connaissance. Certaines de ces solutions nécessitent des fonctionnalités qui n'existent pas encore dans le protocole Bitcoin et pourraient être introduites via une mise à jour, probablement sous la forme d’un softfork. L’une des fonctionnalités les plus connues dans ce contexte est celle des covenants.

## Confidentialité

Les solutions de seconde couche (Layer 2, ou L2) jouent un rôle crucial dans l'amélioration de la scalabilité et de la confidentialité du réseau Bitcoin. En déplaçant une partie des transactions hors de la chaîne principale (on-chain), ces solutions, comme le Lightning Network ou des protocoles émergents tels qu'Ark, permettent de réduire la charge sur la blockchain tout en augmentant la capacité de traitement des transactions. En parallèle, elles renforcent la confidentialité des utilisateurs, car les transactions effectuées sur ces couches ne sont pas directement enregistrées sur la blockchain publique, rendant plus difficile leur traçabilité. De plus, certaines technologies L2, notamment celles basées sur les preuves à divulgation nulle de connaissance (zero-knowledge proofs), offrent des garanties cryptographiques supplémentaires qui masquent les détails des transactions, comme les montants ou les identités des participants. Ainsi, la scalabilité et la confidentialité sont étroitement liées dans le développement des solutions L2 : ces avancées permettent à Bitcoin de mieux répondre aux besoins d'une adoption de masse tout en protégeant la vie privée des utilisateurs.

## La taille des blocs augmente

Le débit des transactions de Bitcoin est limité par deux paramètres :
* le temps de bloc détermine la fréquence à laquelle un nouveau bloc est ajouté à la chaîne,
* la taille du bloc détermine la quantité de données qui peut être ajoutée à chaque bloc.
Bitcoin a un temps de bloc de 10 minutes et une taille de bloc de 4 Mo. Diverses augmentations de cette limite, ainsi que des propositions visant à la supprimer complètement, ont été proposées au cours de l'histoire du Bitcoin. La mise en œuvre de l’une de ces propositions implique un fork.
Litecoin produit des blocs quatre fois plus rapidement que Bitcoin, ce qui conduit à une amélioration de 4x du débit. Dogecoin a encore plus de débit avec un temps de bloc de 1 minute. Bitcoin Cash a une taille de bloc de 32 Mo et donc un débit 32 fois supérieur à celui de Bitcoin. Bitcoin SV a complètement supprimé la limite de taille de bloc.

### Proposé

* En 2015, BIP100 de Jeff Garzik et BIP101 de Gavin Andresen ont été introduits.
* Bitcoin XT a été proposé en 2015 pour augmenter la capacité de traitement des transactions de Bitcoin en augmentant la limite de taille des blocs.
* Bitcoin Classic a été proposé en 2016 pour augmenter la capacité de traitement des transactions de Bitcoin en augmentant la limite de taille des blocs.
* « L'accord de Hong Kong » était un accord de 2016 entre certains mineurs et développeurs qui contenait un calendrier qui verrait à la fois l'activation de la proposition Segregated Witness (SegWit) établie en décembre 2015 par les développeurs de Bitcoin Core, et le développement d'une limite de taille de bloc augmentée à 2 Mo. Cependant, les deux échéances n’ont pas été respectées.
* SegWit2x était un hard fork proposé de la crypto-monnaie Bitcoin. La mise en œuvre de Segregated Witness en août 2017 n'était que la première moitié du soi-disant « accord de New York » par lequel ceux qui voulaient augmenter la taille effective des blocs par SegWit ont fait un compromis avec ceux qui voulaient augmenter la taille des blocs par un hard fork vers une taille de bloc plus grande. La seconde moitié de SegWit2x a impliqué un hard fork en novembre 2017 pour augmenter la taille des blocs à 2 mégaoctets. Le 8 novembre 2017, les développeurs de SegWit2x ont annoncé que le hard fork prévu pour le 16 novembre 2017 environ était annulé pour le moment en raison d'un manque de consensus.
* Bitcoin Unlimited a plaidé pour une plus grande flexibilité des mineurs afin d'augmenter la limite de taille des blocs et est soutenu par les pools miniers ViaBTC, AntPool et l'investisseur Roger Ver. La proposition de Bitcoin Unlimited est différente de celle de Bitcoin Core dans la mesure où le paramètre de taille de bloc n'est pas codé en dur, et plutôt les nœuds et les mineurs signalent la prise en charge de la taille qu'ils souhaitent, en utilisant une idée qu'ils appellent « consensus émergent ». Les partisans de la proposition Bitcoin Unlimited soutiennent que d'un point de vue idéologique, les mineurs devraient décider de la solution de mise à l'échelle, car ce sont eux dont le matériel sécurise le réseau.