The Lightining Network pour un réseau bitcoin totalement scalable

Tout le monde sait que le bitcoin en tant que plate-forme de paiement a aujourd’hui de grosses limites et ne pourra pas couvrir les besoins du commerce mondial dans un futur proche.

Le protocole impose que toutes les modifications d’état soient diffusées à tous les participants afin que tous les full-nodes trouvent ensemble un consensus sur la situation des soldes. Le fait que chaque noeud dans le réseau doive connaître chaque transaction est un frein significatif à la capacité du réseau d’englober les transactions financières à échelle planétaire.

Le réseau de paiement Visa a réalisé un pic de 47.000 transactions par seconde pendant les vacances 2013 et en atteint en moyenne des centaines de millions par jour. Actuellement, le Bitcoin ne supporte que 7 transactions par seconde (!) avec une production limite de 1 méga-octet par bloc, c’est-à-dire toutes les 10 minutes.

Faisons deux calculs. Une transaction bitcoin demande en moyenne 300 octets. En supposant la taille de bloc illimitée, une capacité équivalente aux volumes de pic de Visa (47,000/tps) demanderait d’ajouter à la blockchain ~8 gigaoctets toutes les dix minutes, plus de 400 terabytes par an. Aujourd’hui, la taille de la blockchain bitcoin est de (seulement) 70 giga octet: presque 6.000 fois plus petite.

Malgré cet écart, la croissance exponentielle des données bitcoin, couplée à son état de quasi saturation, soulève déjà des préoccupations: le réseau bitcoin pourrait plier dans l’immédiat si par exemple on venait à doubler son nombre de transactions (de 7 à 14 par sec).

Clairement, des performances similaires à Visa sur le réseau bitcoin ne sont pas imaginables aujourd’hui: les ordinateurs desktop ne traitent pas ces bandes passantes ni ces volumes de stockage. 

Des blocs de 8 gigaoctets toutes les 10 minutes impliqueraient que seulement quelques noeuds, dotés de machines très puissantes, pourraient effectuer la validation des blocs. Moins de validateurs qui assurent l’exactitude du ledger bitcoin signifie favoriser la centralisation et donc un retour à la case-départ: la confiance ne serait plus dans le réseau des peers mais encore une fois dans de puissantes machines centralisées. Autant rester avec les banques…

***

The Lightning Network apporte une solution qui pourrait bien être la réponse ultime au problème d’évolutivité (scalability) du bitcoin. Il s’agit de dispatcher les transactions sur un système décentralisé contenant des canaux de micropaiement de manière à ce que le transfert de valeurs se produise hors-blockchain. Ces transactions, signées avec un nouveau type de sighash à travers une série de timelocks décrémentés, peuvent se produire entre les parties de manière trustless le long de la voie de transfert par des contrats qui sont, au moment même de leur création, exécutoires par diffusion sur la blockchain bitcoin.

Le Lightning Network n’est pas une nouveauté vu qu’il existe depuis 2013, toutefois l’intérêt pour cette solution revient sur le devant de la scène ces temps-ci depuis la release segregated witness:  ce correctif a résolu le problème de la transaction malleability, qui était une condition sine-qua-non pour la mise en place du lightening network.

***

Comment ça marche ?

« Si un arbre tombe dans la forêt et qu’il n’y a personne  pour l’entendre, produit-il un son ? »

Cette citation met en doute la pertinence d’événements non observés: si personne n’entend la chute de l’arbre, le son est sans conséquence. De la même manière, si personne n’a vu l’arbre tomber et que les personnes concernées par la chute s’accordent pour  dire qu’il est tombé à 14h25, alors il sera tombé (conventionnellement) à cette heure précise.

Dans la blockchain bitcoin, les détails d’une transaction récurrente qui concerne deux participants, n’intéressent pas forcément le reste du réseau et 
il est préférable de ne garder dans la blockchain que le strict minimum. Pour l’ensemble de peers (moins les deux directement concernés) une transaction est un arbre qui tombe loin d’eux et dont seul le solde final compte.

L’idée est donc de différer l’envoi des informations de chaque transaction, pour ne communiquer à une date ultérieure que le bilan net de la somme des échanges. Les autres utilisateurs bitcoin ne verront qu’un seul mouvement résumant un nombre N de transactions, sans encombrer la blockchain mais sans perdre non plus la confiance dans la validation décentralisée.

La partie en rouge est importante. Une solution banale serait de confier les transactions à un tiers externe qui fasse une sorte de comptabilité des mouvements avant d’envoyer le solde global dans la blockchain. Hélas la confiance en ces tiers, qui à un moment donné détiendrait tous les fonds en jeu, donnerait un haut risque de contrepartie et augmenterait au passage les coûts des transactions.

En revanche, the Lightening Network propose une solution beaucoup plus fine: un réseau de canaux de micropaiement permettant au bitcoin des milliards de transactions par jour avec la puissance de calcul disponible sur un ordinateur de bureau standard.

Pour faire simple, si le réseau bitcoin est aujourd’hui un tribunal, il faut passer devant le juge pour acter la plus petite des transactions en laissant une trace papier qui encombre les étagères. Au lieu de cela, pourquoi ne pas inventer une procédure dans laquelle deux acteurs auto-certifieraient leurs mouvements pour ne voir le juge qu’une fois par mois, au moment de lui soumettre le bilan mensuel?

Mais attention: les canaux de micropaiement Lightening Network  ne sont pas un réseau séparé placé au-dessus du bitcoin: ils gèrent de vraies transactions bitcoin. Cela signifie qu’il n’y a pas de tiers de confiance dans le système et que les opérations Lightening Network sont aussi sûres et trustless que les opérations bitcoin courantes.

La promesse de cette surcouche de paiement est de supporter un nombre pratiquement illimité de transactions à coût presque zéro  dans un cadre sécuritaire identique à celui offert par le Bitcoin.

***

Prenons un exemple pratique. Si le solde dans le canal est:

0.05 BTC à Alice et 0.05 BTC à Bob

et après une transaction:

0.07 BTC à Alice et 0.03 BTC à Bob

le réseau doit savoir lequel des deux soldes est correct à l’instant T.

The Lightening Network résout ce problème en utilisant la blockchain comme un système d’horodatage. En même temps, il est souhaitable de trouver une solution qui n’utilise pas automatiquement ce système d’horodatage coûteux au réseau. Pour cela, les parties peuvent engager la signature d’une transaction, sans pour autant la diffuser, dans une adresse multisignatures 2-à-2.

Les adresses de Multisig sont des adresses de Bitcoin qui – comme le nom l’indique – exigent l’accord de clés privées multiples pour autoriser un mouvement sur les bitcoins qu’ils stockent. Les adresses de Multisig peuvent être configurées de manière très variée: exiger deux clés sur trois, quinze sur quinze… ou toute autre combinaison. Ici on utilise des clés deux sur deux.

  • Les comptes multisig assurent que les décisions ne sont jamais prises unilatéralement,
  • L’horodatage calqué sur l’hauteur des blocs de la blockchain assure la cohérence chronologique des opérations,
  • les time-locks gèlent des bitcoins en les rendant utilisables seulement à partir d’un certain point dans l’avenir.

Ces trois ingrédients sont le coeur du Lightening Network.

***

La mise en place de cette solution va faire passer la limite du nombre de transactions par seconde de 7 à bien plus de 7000.  On peut légitimement se demander si cette solution aura un impact sur le prix. D’ailleurs dans les dernières semaines, le bitcoin a affiché une remarquable progression +44%,  peut-être due aussi à l’anticipation de cette future feature (en plus du halving du nombre de bitcoins émis et de la dépréciation du Yuan).

btc_price
l’envolée du bitcoin au 12  juin 2016

La diffusion du bitcoin comme moyen de paiement passe toutefois par d’autres obstacles majeurs, même avec un réseau parfaitement évolutif.

Faire du business avec le bitcoin pose toujours le problème du changement de prix entre le moment de la vente et le moment de l’encaissement, en raison de retards dans l’exécution des transactions intra et extra bitcoin.

De fait, le prix bitcoin est volatile: des retards dans l’exécution des opérations impliquent que la différence de prix peut varier les montants des recettes. Bloquer des fonds dans les canaux du Lightning Network signifie aussi les soumettre aux soucis de volatilité.

btc_volatility

C’est comme si une société était obligée de jouer toutes ses entrées dans une action de bourse (des plus tumultueuses) avant de pouvoir encaisser.

btc_volat0106
Cours du bitcoin Janvier 2016

Pour donner un exemple, un marchand en bitcoin qui aurait vendu une paire de chaussures à 100€ le matin du 13 janvier 2016 aurait encaissé  0.22 BTC. Supposons que le retard pour la conversion en euros soit de 48 heures. Le marchand n’aurait alors récupéré que ~0.18 btc le 15 janvier: 82€ au lieu de 100.  C’est un cas extrême mais qui montre le concept.

Il va de soi que le contraire peut être vrai aussi et le marchand aurait pu faire un bénéfice. Mais quelle société accepterait de voir ses entrées fluctuer de la sorte?

***

Une solution pour contrer la volatilité lorsqu’on utilise des bitcoin est de passer par une plateforme come uphold (anciennement BitReserve).

En tant que membre Uphold, vous pouvez garder vos bitcoin sous forme de monnaie fiduciaire et en même temps le transférer comme des bitcoin dans le réseau Bitcoin.

Si vous achetez un bitcoin pour 1000 $, vous pouvez protéger cette valeur en l’étiquetant dans Uphold en dollars américains. Si le prix de bitcoin tombe à 100 $, vous auriez encore 1000 $ sur votre carte de dollar US Uphold que vous pouvez ensuite utiliser pour envoyer des bitcoin sur le réseau Bitcoin.  Alternativement, vous pouvez envoyer 1000 $ à d’autres membres Uphold instantanément et gratuitement en USD. Et si pour n’importe quelle raison vous voulez garder votre argent dans Uphold en tant que bitcoin volatile, vous pouvez le faire aussi.

Uphold est une solution à la volatilité mais il réintroduit le problème  du tiers de confiance: tous vos avoirs dépendent maintenant de la fiabilité de la plateforme Uphold.

3 réflexions au sujet de « The Lightining Network pour un réseau bitcoin totalement scalable »

Laisser un commentaire