Vous en avez marre d'entendre parler de blockchain à tout va ? Alors IOTA va vous plaire !
En effet, le système de cryptomonnaie basé sur l'architecture TANGLE qui gère les transactions atomiquement au lieu de les gérer par blocs. Ces transactions sont représentées sous forme de graphe acyclique, chaque noeud représente une transaction et une arrête dirigé une validation.
A la différence de nombreuses blockchains, il n'y a pas de vérificateurs dédiés (en théorie..) chaque utilisateur voulant réaliser un transaction doit en valider deux choisies en fonction de l'algorithme de Markov Chain Monte Carl (MCMC) qui détermine la marche à suivre jusqu'une pointe (dernières transactions ajoutées et donc pas encore vérifiées) en fonction des poids des transactions déterminé en fonction de la charge de calcul réalisée, ici on rejoint le preuve de travail par le calcul similaire au bitcoin par exemple.

De plus, aucun frais de transaction n’est présent car ce protocole ne nécessite pas de puissance de calcul importante pour participer à la vérification. Certaines machines sont néanmoins avec un poids plus importants et sont appelés vérificateurs.
Ce système est potentiellement sensible à quelques attaques :
- Double dépenses 💸💸: Une transaction entre en conflit avec un autre (A essaie de dépenser les mêmes fonds), alors le tangle se divise en deux branches mais étant donné que MCMC privilégie la branche avec le plus de poids la transaction doublé finira par devenir orpheline.
- Large poids 💰: Une transaction avec un poids énorme (même si cela demanderait une énorme puissance de calcul) pourrait obtenir une somme des poids plus importante que la branche honnête et ainsi rendre orphelin toutes les transactions honnêtes, celle-ci est mitigée en imposant une limite sur le poids (charge de calcul max)
- Majorité 🗳: Avec un nombre de transactions >34 % un attaquant pour créer deux branches en créant 2 transactions en conflits et maintenir ces branches à l’équilibre pour que l’algo MCMC ne puisse faire de choix et ainsi bloquer de nouvelles transactions. Mitiger en ajoutant un seuil strict afin d’augmenter les différences de probabilités sur les branches malgré une différence de poids subtil
Les nœuds ne possèdent pas forcément le même historique de transactions mais ce n’est pas un problème car le graphe obtenu sera vérifiée après-coup afin de vérifier qu’il n’y a pas de transactions en conflit, si un conflit est détecté alors une transaction sera considérée « orpheline » (celle possédant le poids le plus faible). Ce modèle est asynchrone.
Grâce à son asynchronie, il devient tolérant aux pannes de nœuds si ceux-ci sont nombreux dans le réseau. De plus, les performances sont accrues lorsqu’un nombre important de nœuds composent le maillage. Cela est notamment dû au besoin de calcul plus faible que la Blockchain du Bitcoin par exemple.

Cette spécificité convient parfaitement à son usage dans des appareils connectés, son application est ainsi adapté dans l’IoT (ndlr Internet Of Things).
Néanmoins, l’implémentation actuelle de la cryptomonnaie IOTA ne respecte pas le principe de décentralisation . En effet, l’algorithme écrit par Serguei Popov est actuellement soumis à une machine maître vérifiant l’ensemble des transactions avant des les approuver. À terme, celle-ci doit disparaître, mais ce n’est toujours pas le cas à l’heure actuelle .
Pour l’anecdote 🤓, l’algorithme originel a été conçu sur des ordinateurs ternaires, c’est-à-dire à trois états contrairement aux ordinateurs binaires. Ces ordinateurs, issus par ailleurs de l’ex Union Soviétique , comportent l’état 0, 1 et -1.
Auteurs :
- CLEME Louis
- SIGNOURET Nathan
Sources :
IOTA - Wikipédia
IOTA.org
Présentation de IOTA et Tangle - Stephanie Lehuger
The Tangle - Serguei Popov
You can check out this post and your own profile on the map. Be part of the Worldmappin Community and join our Discord Channel to get in touch with other travelers, ask questions or just be updated on our latest features.