Comment les cryptomonnaies anticipent-elles les défis de scalabilité?

BitcoinCours.com, le 30 Mars 2017

La scalabilité est devenue un sujet de discussion dans toutes les communautés des cryptomonnaies depuis que Bitcoin a connu ses premiers problèmes de congestion des transactions sur sa chaîne de blocs. Ce qui n'était pas un souci majeur auparavant
devient aujourd'hui une préoccupation chez de nombreux utilisateurs, startups et investisseurs en cryptomonnaies.

C'est simple, si une technologie n'est pas capable de maintenir ses performances en cas de montée en charge du nombre de ses utilisateurs, elle est vouée à l'échec dans un environnement compétitif. Bien sûr il n'existe pas de solution parfaite de scalabilité, le réseau internet lui même subit toujours des problèmes de scalabilité aujourd'hui, les problèmes de bande passante des sites webs par exemple, surchargés lorsqu'il y a trop de visiteurs. Néanmoins il doit exister des solutions même imparfaites, c'est une question de survie.

Comment comptent faire les différentes chaînes de bloc pour faire face à ces problèmes, et mettre toutes les chances de leur côté pour accueillir en masse le grand public? Passons en revue les solutions offertes par Bitcoin, Dash et Monero, trois crypto-monnaies utilisant le Proof Of Work comme système de validation et ayant les plus grosses capitalisations. Mettons de côté Ethereum qui est un peu différent en la matière, car un passage en Proof Of Stake, même si il est incertain, est envisagé par l'équipe de développement.


  • Bitcoin 

Bitcoin est le premier projet crypto-monnaie entré en existence, en 2008 exactement. Le logiciel fût publié en 2009. Etre le premier entrant a des avantages énormes comme la facilité de capter l'effet réseau, il a aussi un inconvénient: celui d'essuyer tous les plâtres. Et forcément Bitcoin a été le premier à subir les problèmes de scalabilité lorsque le nombre d'utilisateurs a dépassé les capacités d'accueil de sa chaîne de blocs. Les capacités sont définies par l'espace disponible dans chaque bloc, limité aujourd'hui à 1MB. Ce sont les blocs qui contiennent les transactions bitcoin. Il y a plus de cinq solutions pour résoudre la mise à l'echelle mais on peut distinguer deux solutions principales de scalabilité qui s'affrontent:

1. Augmenter la taille des blocs: pour chaque augmentation de 1MB de la taille de bloc, on peut rajouter 2000 transactions par bloc. Si on augmente de 4MB on augmente donc la capacité de 8000 transactions par bloc. Les clients Bitcoin XT, Bitcoin Classic et plus récemment Bitcoin Unlimited ont un programme permettant aux mineurs du bitcoin d'augmenter la taille des blocs de 2MB à une taille illimitée - consensus dit émergent. Cependant ils n'ont jamais réussi à être activés sur la chaîne du bitcoin. Bitcoin Unlimited a peut-être une chance d'être activé par hard fork mais c'est très incertain, de plus le logiciel s'est révélé contenir des bugs assez graves. Même si ces bugs ont été réparés rapidement, BU n'est manifestement pas encore prêt pour une phase de production.
L'idée commune de ces clients est de permettre à Bitcoin de scaler le plus vite possible sur la chaîne de blocs pour ne pas freiner l'adoption, et maintenir au bitcoin son avantage compétitif par rapport aux autres cryptomonnaies. Car il ne faut pas l'oublier, bitcoin est open-source donc son code peut être reproduit, transformé ou amélioré sans permission aucune. Ces clients sont ouverts à de futures solutions dites off-chain/hors-chaine comme les canaux de dérivation de la blockchain appelés aussi Lightning networks (à la condition que ces solutions se matérialisent un jour et ne soient pas contrôlées par les banques). A noter que les lightnings networks nécessiteront de gros blocs sur la blockchain pour pouvoir fonctionner correctement.

2. Optimiser l'espace dans un bloc: c'est le cas de la solution dite SEGWIT (SW), qui en enlevant de la data libère de l'espace dans les blocs et ainsi permet d'accueillir plus de transactions. En résolvant aussi le problème de malléabilité des transactions, elle facilite l'accès au futures solutions offchain comme le lightning network. SW, de premier abord fantastique et présenté comme une solution élégante, créé la controverse.
Tout d'abord son seuil d'activation de 95%. En théorie idéal pour permettre un consensus large, il est en pratique impossible à atteindre dans une communauté bitcoin profondément divisée (division qui date de bien avant l'existence de segwit). SW, rejeté par de nombreux mineurs, n'atteint même pas 30% de signalement aujourd'hui. Le choix de 95% pour déclencher le soft fork est donc une erreur de discernement et de management de la part des développeurs de Segwit.
Ensuite le programme en lui même comporte 5000 lignes de code et apporte une lourde dette technique au protocole existant. Les technophiles rouspetront et diront que non, mais la réalité les trahit. Segwit a eu un bug grave pas plus tard que la semaine dernière alors qu'on le disait testé et retesté, sans failles possibles. En effet, dans le monde de l'informatique plus il y a de lignes de codes dans un programme plus le risque de bugs est important et plus la surface d'attaque est grande.
Enfin, Segwit est perçu comme une "solution d'attente" du lightning network, insuffisante face aux problèmes de congestion des transactions, et arrivée trop tard (des mois de retard sur le calendrier de livraison prévu). De surcroît, les solutions offchain comme le lightning ne seront pas en production avant 2 ans minimum d'après les experts, et rien ne garantit aujourd'hui que ces solutions fonctionnent et que les utilisateurs adoptent cette solution. L'engouement des technophiles pour segwit et lightning n'est pas un critère pour mesurer l'adoption future par le grand public, le système d'exploitation Linux l'a prouvé par le passé dans le domaine des desktops. Les geeks et les techno-puristes utilisent Linux, le grand public utilise les succès commerciaux windows ou mac, bien moins compliqués à utiliser. Le parallèle avec les lightnings peut-être fait ici.

Vous le savez déjà, ces deux solutions qui ne parviennent pas à s'appliquer font l'objet d'une "guerre digitale" au sein de la communauté bitcoin, sur fond de conflits d'intérêts, de censure et de visions complètement opposées sur ce que doit permettre la blockchain bitcoin (P2P cash ou settlement layer). Cette guerre freine le développement depuis plusieurs années et favorise l'émergence de compétiteurs du bitcoin.


  • Dash 

Dash a été créé 4 ans après bitcoin et fût présenté au public en Janvier 2014. Les développeurs sous l'autorité d'Evan Duffield ont pu apprendre des difficultés du bitcoin, et à partir de cela ont pu élaborer un plan de scalabilité afin de pouvoir faire face aux futurs problèmes de congestion. Si Dash ne connait pour le moment aucun problème de scalabilité car il y a trop peu d'utilisateurs, voici la feuille de route scalabilité

1. Augmenter la taille des blocs: dans un premier temps, Dash adopte une première solution qui s'apparente à la solution 1 du bitcoin. Si la solution 1 du bitcoin ne parvient pas à s'implémenter et se heurte au refus des développeurs de Bitcoin Core, il en est tout autre chez Dash. Au mois de Janvier 2016, les masternodes de Dash ont voté à 99% une augmentation de la taille des blocs à 2MB. Comme cela Dash retarde l'apparition des premiers problèmes de congestion puisqu'il y a plus de place dans un bloc de 2MB que dans un bloc de 1MB. Ce vote s'est effectué en moins de 24 heures. Si il y a trop d'utilisateurs et que 2MB ne suffit plus, un vote sera sans doute proposé pour une limite supérieure. Grâce à son système ingénieux de gouvernance - les masternodes en font partie, Dash a pu régler le problème de la taille des blocs sans aucun conflit. Pas de feuilleton dramatique à répétition comme pour Bitcoin. Cependant, l'équipe de Dash n'en reste pas là, et compte sur une solution plus efficiente et complémentaire qui n'est ni Segwit ni Lightning Network: Evolution.

2. Evolution: avec Dash Evolution, le réseau sera capable de supporter plus de transactions par seconde que Visa. Cela sera possible grâce au réseau des masternodes qui pourra fournir des téra-octets de capacité.
Dans l'écosystème Dash, il y a un réseau Masternode incitatif qui absorbe la charge du réseau. Ces opérateurs sont correctement incités, donc il n'y a pas de soucis comme les limites de blocs ou le bloat (quantité excessive de ressources système) qui serait causé en permettant des millions de transactions par jour. Une blockchain plus large signifie simplement que les masternodes devront être hébergées sur des serveurs ayant une plus grande capacité de stockage. Le coût accru de la location de ces serveurs sera plus que compensé par l'appréciation du prix découlant de l'adoption massive. A noter que pour être titulaire d'une masternode, l'utilisateur doit posséder 1000 dashs qu'il doit apporter en collatéral. En participant à sécuriser le réseau, l'opérateur de la masternode perçoit un revenu en dash, qui couvre largement ses frais d'hébergement et qui augmente tous les mois à mesure que le prix du Dash augmente. Il a aussi un droit de vote sur tous les projets et les budgets.

La feuille de route scalabilité de Dash apparait plus efficace que celle de bitcon. Pas de conflits d'intérêts, pas de guerre digitale, pas de problèmes de gouvernance, pas de paralysie du développement. Toutefois il faudra attendre que les vrais problèmes de congestion des transactions arrivent sur la blockchain Dash pour voir si ce qui apparait miraculeux sur le livre blanc d'Evolution fonctionne dans la réalité. Des problèmes auxquels les développeurs n'ont pas pensé peuvent toujours se produire, il ne faut pas trop rêver dans le monde des cryptos.

  • Monero

Monero, tout comme Dash est une cryptomonnaie axée sur la protection de la vie privée des utilisateurs, permettant d'échanger de la monnaie de pair à pair sans l'intervention d'une banque ou d'un tiers, avec en prime le maintient de la décentralisation. Lancée en Avril 2014, cette crypto ne connaît pas encore de problèmes de scalabilité mais c'est un sujet majeur que les développeurs ont anticipé avec deux solutions complémentaires. (Les implémentations au niveau du protocole de l'anonymat font de Monero et de Dash des monnaies avec plus de data, donc moins de place disponible. En théorie elles sont donc plus difficiles à scaler que bitcoin, qui ne comporte pas de private feature)

1. Taille de bloc évolutive: cette solution implémentée sur la blockchain Monero s'apparente de loin à celle proposée par le client Bitcoin Unlimited, sans consensus émergent par les mineurs et avec aucune ressemblance technique. La monnaie numérique Monero a une taille de bloc qui s'adapte, évitant les limitations de capacité de transaction à 1 MB fixées par bitcoin. On parle aussi de taille des blocs dynamique: plus il y a de monde sur la blockchain Monero, plus la taille des blocs augmente. Il y a en outre beaucoup moins de temps de confirmation nécessaire que bitcoin, rendant le commerce un peu plus pratique.

2. Solutions off-chain: la feuille de route de scalabilité n'est pas très claire chez Monero. En revanche les développeurs ont fait clairement savoir qu'ils envisagent les solutions dites offchain pour soulager la blockchain. La crypto-monnaie de près de trois ans a déjà une chaîne de blocs d'environ 10 Go tout en ayant à peine 2600 transactions environ par jour, comparé à plus de 250000 transactions par jour environ chez bitcoin. Si Monero était au même niveau de transactions que bitcoin, cela ajouterait 1,5 Go par jour, consommant un espace disque moyen de 500 Go en un an! Bien que le stockage soit relativement bon marché avec des tailles de disques en téraoctets devenant de plus en plus courantes, la synchronisation initiale des noeuds peut éventuellement devenir un problème, mais le réseau considère implémenter Lightning et TumbleBit, une version plus privée de Lightning, pour permettre plus de scalablité. Les développeurs de Monero n'ont pas l'intention de mettre en œuvre Segwit, car la monnaie n'a pas de problèmes de malléabilité des transactions. (A noter que Tumblebit est en développement chez bitcoin. La date de livraison est inconnue et semble assez lointaine dans le temps)

Tout comme Bitcoin, Monero prend des risques en misant sur des solutions offchain qui n'existent pas encore. Par contre, à la différence de bitcoin, Monero n'a pas eu de conflit ni de problème pour scaler sur chaîne.

TOUTES CES FEUIILLES DE ROUTE SCALING NE SONT PAS FIGEES NI DEFINITIVES.