La Blockchain menacée par le Hashgraph ?

Ne craignez rien pour vos bitcoins : ce n’est pas sur eux que pèse la menace. Il ne s’agit pas d’une nouvelle attaque au nom intrigant.  Le péril concerne la belle mécanique de la blockchain dont le côté pataud présente une face vulnérable aux technologies concurrentes.  
 
Convenons-en : la  base de données aux vertus indéniables parce que sans chef et tellement sûre doit s’accommoder d’une consommation excessive et d’un médiocre volume de transactions par seconde. Le hashgraph entend passer outre ces écueils.
 
Le hashgraph se définit comme “a data structure and consensus algorithm”, et non pas comme un protocole ou une chaîne de blocs. Le texte fondateur est . Je vous en propose un rapide retour en en réduisant immodérément le propos, le seul but étant de donner une idée globale du fonctionnement.
 
Consensus autour d’une table sans fourchette
 
L’idée fondatrice demeure : les informations sont dupliquées et partagées sur des nœuds interconnectés sur Internet conférant ainsi une bonne résistance à la destruction et une gouvernance répartie sur l’ensemble des nœuds. C’est la technologie DLT, « Distributed Ledger Technology ».
 
Le hashgraph marque sa différence dans l’art d’obtenir un consensus entre tous les acteurs. Pour la blockchain, l’enregistrement est validé bloc de transactions par bloc de transactions alors que le hashgraph le ratifierait plutôt transaction par transaction.
 
Une propriété majeure à mes yeux en découle : le hashgraph n’est plus soumis au régime de ces branches multiples rendues incontournables par les délais de transmission du réseau Internet. Satoshi Nakamoto a fait le choix d’accorder dix minutes au réseau bitcoin pour se stabiliser, Ethereum a estimé à une grosse douzaine de secondes le délai typique de propagation d’un bloc, mais dans toutes ces chaînes un ménage reste nécessaire pour éliminer les branches créées de bonne foi par des mineurs ignorant avoir été précédés sur un autre versant d’Internet. Sans parler des branches pérennes générées par des dissensions au sein de la communauté : bitcoin vs bitcoin cash par exemple.
 
Bavardage sur le bavardage
 
Hashgraph utilise le protocole dit de bavardage, le « gossip protocol ». La diffusion des informations se fait par le bouche-à-oreille, à l’image des réseaux sociaux où chacun communique à ses proches une information. Le protocole est déjà communément pratiqué : on le croise par exemple dans la communication des routes sur Internet ou dans la transmission des blocs dans la blockchain.
 
Les interlocuteurs du bavardage du gossip protocol sont choisis au hasard parmi les voisins pour constituer un fichier horodaté des transactions.
 
La particularité hashgraph vient du « gossip about gossip », bavardage à propos du bavardage. L’historique des échanges est joint aux échanges eux-mêmes. Chacun des nœuds sait exactement quand et à qui une transaction a été communiquée par quel nœud. Ce sont les méta-données du bavardage, en quelque sorte. Chaque nœud possède ainsi toutes les informations détenues par chacun des autres nœuds et est capable d’en déduire leur position lors des opérations de consensus. On parle de vote virtuel.
 
Le consensus est acquis dans chacun des nœuds dès que les deux tiers des nœuds du réseau ont accepté et propagé un évènement. Conséquence bénéfique : il y a une cohérence permanente entre les données présentes dans les nœuds du réseau. Les fourches créées par les désaccords entre nœuds propres à la blockchain disparaissent ainsi que les preuves de travail fortement gourmandes en énergie qui accompagnaient les enregistrements dans la blockchain. Les enregistrements n’ont plus à se plier à l’horloge d’un consensus synchrone, et de sept transactions par seconde pour le bitcoin on dépasse les deux cent cinquante mille, valeur ne constituant pas une limite.
 
Voilà succinctement introduits trois des atouts du hashgraph : plus de fourche, plus de preuve de travail et des performances accrues.
 
Au-delà de cette idyllique présentation, qu’en est-il ?
 
Domaine privé
 
Le premier point à considérer est que hashgraph est privé. Doublement privé.
 
D’abord ce n’est pas un logiciel ouvert à l’image de son cousin IOTA. Il appartient à la société Swirlds qui délivre les licences et conserve un droit de regard sur les nœuds du réseau. Passera-t-il en open source ? Je n’en sais strictement rien.
 
Ensuite tous les exemples donnés tournent en réseau privé. Intuitivement ça répond à un point qui me chagrinait : le consensus se fait sur la base de l’accord des deux tiers des nœuds qui explicitement suppose connu le nombre total de nœuds.
 
Soit, mais considérons alors les blockchains privées pour faire la comparaison. Et les performances des blockchains sont alors tout autres. La preuve de travail n’a plus de raison d’être car par définition tous les mineurs sont connus et certifiés. Un nouvel entrant se verra barrer l’accès. Ce n’est plus sept transactions par seconde mais quatre cents mille par exemple dans le cas de Red Belly, le tout en évitant les excessives consommations des preuves de travail du bitcoin. La latence source de fourches dans les blockchains publiques est bien moindre réduisant d’autant voire annihilant  le problème.
 
Une question à laquelle je ne sais répondre est de savoir si le hashgraph pourra sans dommage franchir la barrière du réseau public et en assumer sa croissance.  C’est effectivement là qu’achoppent les blockchains classiques.
 
Bilan
 
Qu’en conclure ?
 
Une technologie prometteuse ? Certes, mais comme toute promesse elle demande confirmation.
 
Des performances au-delà de la blockchain ? Certes, mais ça reste à prouver si on compare ce qui est comparable en privé et publique.
 
Une technologie sans preuve de bonne foi ? Certes, mais comme tout système privé.
 
Un modèle à licence ? Oui aujourd’hui. Pour demain je n’en sais rien.
 

En tout état de cause, une technologie à surveiller assurément. 
 
 
Auteur: 
Jacques Baudron - jacques.baudron@ixtel.fr - avril 2018

Ajouter un commentaire

Full HTML

  • Les adresses de pages web et de courriels sont transformées en liens automatiquement.
  • Vous pouvez utiliser du code PHP. Vous devrez inclure les tags <?php ?>.
  • Les lignes et les paragraphes vont à la ligne automatiquement.

Filtered HTML

  • Les adresses de pages web et de courriels sont transformées en liens automatiquement.
  • Tags HTML autorisés : <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Les lignes et les paragraphes vont à la ligne automatiquement.

Plain text

  • Aucune balise HTML autorisée.
  • Les adresses de pages web et de courriels sont transformées en liens automatiquement.
  • Les lignes et les paragraphes vont à la ligne automatiquement.