Le Tangle

Le Registre Distribué

Le Tangle est le registre distribué développé spécifiquement par et pour le projet IOTA. Ce Tangle appartient à la classe des « graphes acycliques dirigés » et diffère des blockchains typiques car il ne contient ni blocs ni chaines.

L’attrait du Tangle vient de deux majeures différences avec les systèmes blockchain:

  1. Les transactions peuvent se faire en parallèle, il n’est pas nécessaire d’attendre qu’elles soient mises dans des blocs et validées. Par ailleurs, chaque transaction valide deux autres transactions, ce qui veut dire que plus il y a de transactions, plus les validations se font vite et plus le registre est rapide et efficace. 
  2. Avec le Tangle les utilisateurs (ceux qui postent les transactions) et les validateurs (les mineurs pour les blockchains) sont réunis en une seule et même personne. Il n’y a donc plus besoin d’inclure de frais de transactions pour rétribuer les mineurs.  

La Blockchain 

Dans une blockchain, les transactions que vous passez sont toutes mises dans un grand ensemble avec toutes celles en attente. Puis, si vous avez payé assez de frais, un mineur décide d’inclure votre transaction dans un nouveau bloc avec un certain nombre limité d’autres transactions en attente. Si ce mineur est le premier à résoudre un problème mathématique assez complexe, le bloc est inscrit dans la chaine. Le bloc suivant est alors constitué et miné à son tour. Les blocs se suivent par ordre chronologique et font chacun référence au bloc précédent dans la chaine et ainsi de suite jusqu’au premier bloc (‘genesis’). 

Schéma Blockchain

Ce mode de fonctionnement entraine plusieurs gros problèmes qui n’ont pas encore été tout à fait résolus. En effet, plus le nombre de personnes utilisant la blockchain augmente, plus le nombre de transactions à passer augmente. Le souci est que la taille des blocs est fixe et modifier cette limite  est un sujet de débat constant dans les communautés de ces blockchains. Par conséquent, les frais de transactions augmentent de manière drastique lorsque ces registres sont fortement utilisés et le temps d’attente pour voir sa transaction incluse dans un bloc augmente aussi. Ces systèmes sont donc non-scalables ou non-extensibles (plus il y a d’utilisateurs, plus la performance du système régresse). 

Le Tangle

Le Tangle est le registre du IOTA, il a été développé spécifiquement pour répondre aux problèmes qui se posent avec les blockchains et assurer une extensibilité du système. Dans le Tangle, chaque transaction doit valider deux autres transactions. Le schéma ci-dessus illustre bien ce fonctionnement : chaque carré est une transaction, et chacune de ces transactions valide deux autres transactions (indiquées à l’aide de flèches).

Tangle IOTALes transactions en violet sont appelées les extrémités (tips) du Tangle. Ces extrémités sont les dernières transactions postées sur le registre, elles sont donc en attente de validation par des transactions à venir. Lorsqu’une transaction est envoyée sur le Tangle, le nœud qui poste la transaction va sélectionner aléatoirement deux de ces extrémités et les valider, ce qui aura pour effet d’ajouter la transaction au Tangle et de confirmer les deux extrémités auxquelles cette transaction est accrochée. Cette dernière transaction deviendra alors à son tour une extrémité qu’une transaction suivante pourra sélectionner.

L’absence de bloc et la possibilité de faire des transactions en parallèle permettent donc un temps d’attente bien plus faible entre deux transactions ainsi que la suppression des frais. La structure si particulière du Tangle permet également de faire des « sous-Tangle », déconnectés du Tangle principal, puis de rattacher ultérieurement ce sous-Tangle au Tangle principale. Cette fonctionnalité s’avèrera extrêmement utile pour les applications de l’Internet des Objets.  

 

En résumé, le Tangle est une Blockchain sans les blocs ni les Chaînes !