Les protocols de consensus distribués

Nous savons tous que bitcoin utilise l’onéreuse proof-of-work pour décider quelles transactions vont être incluses dans sa blockchain.

Le méchanisme est une sorte de winner take all: à chaque transaction des dizaines de milliers de mineurs lancent des calculs mais un seul trouve la solution qui la valide. Lorsque Satoshi Nakamoto a conçu le bitcoin il n’avait certainement pas l’objectif d’optimiser: son souci était déjà de faire marcher la première  criptomonnaie au monde, objectif qu’il a atteint peut être même au delà de ses espoirs.

Aujourd’hui, avec du recul, nous savons qu’il existe des algorithmes de consensus distribués plus efficaces que celui du bitcoin, qui ne font pas appel à une quantité de calcul excessive et surtout superflue.

Historiquement  la raisons la plus fréquente qui fait  qu’une technologie est remplacée par une autre est que la nouvelle est massivement plus efficace que celle qui la précède.

Sous cet aspect le bitcoin est sous pression: l‘existence  de milliers et milliers d’ordinateurs travaillant de manière redondante (bien que efficace) à la résolution d’une fonction de la proof-of-work pousse beaucoup de monde à se demander si les mêmes ressources ne pourraient pas être appliquées à quelque chose d’utile ou encore mieux si on pouvait pas mettre en place un consensus différent qui élimine ou du moins réduit considérablement le besoin d’une proof-of-work, sans pour autant affecter la sécurité du système.

Les protocols de consensus distribués sont une solution.

Parmi eux on trouve:

Sidechains

Ce sont des blockchain qui se greffent sur le bitcoin pour effectuer les taches les plus disparates. Une sidechains horodatée sur la blockchain di bitcoin permet par exemple de réduire les temps de confirmation en ouvrant la porte à des nouveaux cas d’utilisation. La valeur d’une pièce bitcoin est transférée de la blockchain bitcoin  à la sidechain en créant un alias de la monnaie originale. La pièce de monnaie maintenant sur le sidechain peut se déplacer vers d’autre sidechains en transversal ou bien revenir en arrière vers la blockchain bitcoin. Pas de plate-formes séparées, juste des une ou plusieurs blockchain multiples toutes connectées avec la blockchain bitcoin et éventuellement entre elles.

sidechains

 

Counterparty

Counterparty est une plate-forme et un portefeuille construit par dessus la blockchain du bitcoin qui permet des créer des avoirs (assets) par tokenization. Counterparty a sa propre monnaie qui s’appelle XCP.   La monnaie est utilisée pour échanger des bien et aussi pour créer des contrats intelligents qui tournent sur la plate-forme moyennant des honoraires en XCP. Ces avoirs sont divisibles et programmables et peuvent être envoyés d’une adresse à un autre pendant l’exécution des smart-contracts. En gros Counterparty est le’équivalent de la plateforme Ethereum seulement en utilisant la blockchain bitcoin.

 

Hyperledger

Hyperledger est un projet open source qui fournit un registre globale de transactions distribué basé sur l’algorithme Practical Byzantine Fault Tolerance (PBFT). Il enregistre la propriété d’un actif sur un réseau de noeuds distribués et sécurises. Chaque actif a son propre registre qui peut être public ou un privé (avec un nombre limité d’utilisateurs). La différence principale est l’absence d’une blockchain, d’un monnaie sous-jacente et des temps de confirmation qui sont de l’ordre de quelques secondes. On parle dans ces cas de fast-blockchain. Quand un message est envoyé sur la plate-forme, les noeuds retransmettent la transaction à tous les pairs. Si au moins 2/3 des noeuds confirment la validité de la transaction celle ci est confirmé. La plate-forme permet aux utilisateurs le transferts en peer-to-peer de propriété qu’il s’agisse de monnaie, d’un instrument financier, ou d’un bien physique.

 

Interledger

Ce protocole, développé par Ripple Labs, permet des paiements à travers des réseaux différents et utilise des dépôts fiduciaires pour traiter les mouvements de fonds entre deux livres séparés. Le protocole d’Interledger est formellement modelé utilisant TLA + et est aussi utilisé par Amazon pour traites le cas de systèmes critiques. Contrairement à l’approche bitcoin ce protocole n’exige aucun système de coordination globale de blockchain.

 

Stellar SCP

C’est un algorithme de consensus distribué formellement conçu pour la scalabilité. Il fournit un accord global localisé parmi les participants: quorum shards. SCP fournit des grands registres de transaction distribués dans la monnaie de choix et envisage de lancer sa propre cryptomonnaie: Lumen.

Tendermint

Tendermint est  basé sur l’algorithme formellement démontré DSL bien que Tendermint lui-même ne bénéficie pas de preuve formelle équivalente. Tendermint utilise une proof of stake où de les vérificateurs doivent posséder des biens dans le réseau et y participer honnêtement pendant une période d’essai, faute de quoi ils perdent leurs droits sur ce qu’ils ont acheté. En théorie cette preuve est assez solide, danss la pratique reste à savoir si Tendermint est équipé contre des attaques Sybil.

Ethereum

Ethereum est une plate-forme scripting qui permet des applications distribuées et des smart-contracts. La plate-forme Ethereum a sa monnaie interne l’ether, qui sert pour les honoraires de transaction qui font exécuter du code des smart-contracts. Ethereum est doté d’un langage de programmation Turing-complet qui le rend 100% programmable au point que n’importe quel contrat est imaginable dans Ethereum. C’est une plateforme très puissante dont la monnaie est en troisième position en capitalisation bien que l’ether ne soit pas une une monnaie d’échange.

Eris

Eris est un cadre qui a pour but de permettre la création et l’utilisation d’applications Web distribuées sans serveur. Chaque application utilise une blockchain distribué créé sur le réseau Ethereum qui se comporte comme un serveur pour réaliser un consensus partagé. L’interface utilisateur est construite utilisant HTML, CSS et Javascript. N’importe quel sorte d’application Web existante peut être recréé sur la plateforme Eris. Un forum, un site Web crowdfunding, un réseau social, un marché.

***

Tous ces protocoles sont de solutions alternatives au problème général de la sécurisation des données dans un registre publique décentralisé. Ils sont tous non seulement plus rapides et plus efficaces que la solution bitcoin, mais aussi développées avec des méthodes formelles qui donnent la certitude mathématique quant à leur justesse.

 

Il est opportun de rappeler qul le bitcoin n’a pas de preuve mathématique formelle quant à son fonctionnement . Au contraire, il est prouvé que le son protocole a des lacunes d’un point de vue théorique:

  • dans certains cas il échoue à résoudre le problème d’accord Byzantin.
  • Il est démontré que dans la pratique (et cela est de notoriété publique, au moins parmi des experts) que le Bitcoin peut perdre des données en cas de fork de sa blockchain.  Lorsque un fork se recompose une seule branche branche gagne et est acceptée comme la plus longue (et donc la valide) et il se peut que les transactions des la branche perdante soient complètement perdues.

***

Le bitcoin a prouvé que la voie des cryptomonnaies est possible. Cependant, la solution le Bitcoin est trop grossière, ne tolère pas les inévitables forks et le consensus émerge trop lentement du réseau: 10 minutes ce qui est évidemment insuffisant pour les circuits de payements.

La génération suivante de protocoles de consensus décentralisés semble constituer une option bien plus adaptés aux cas d’utilisations concret et peut être même la réponse ultime.

 

 

5 réflexions au sujet de « Les protocols de consensus distribués »

Laisser un commentaire