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