create account

Tangle (IOTA) : la Blockchain “sans bloc ni chaîne” ! by nissou31

View this thread on: hive.blogpeakd.comecency.com
· @nissou31 · (edited)
$5.75
Tangle (IOTA) : la Blockchain “sans bloc ni chaîne” !
![IOTA Tangle illustrator](https://i.ytimg.com/vi/Ft1sdTTaoqg/maxresdefault.jpg)

La cryptomonnaie a connue un bond fulgurant durant cette dernière décennie. La technologie qui est derrière ces cryptomonnaies nommée la Blockchain est une révolution dans le monde de l'IT, cependant comme toute bonne chose a une fin, le frein majeur auquel fait face la Blockchain est la _scalabilité_ réduite et les frais de transaction qui ne font qu'augmenter. 
Des solutions technologiques permettent  d'améliorer la scalabilité de plusieurs blockchains d'ont parmi elles on retrouve le _Tangle_ (qui est aussi un DLT qui est derrière la cryptomonnaie IOTA) , une approche qui refaçonne complètement la notion de la blockchain ! 
Même si on reste sur le même principe, _Tangle_ ne contient ni bloc ni chaine contrairement a la blockchain classique. Ce qui permet de détourner la problématique de la scalabilité , car la blockchain a une architecture linéaire (liste chainée) tandis que le _Tangle_ reprend une structure de graphe (qu'on verra dans par la suite) appelé `DAG`. 

![blockchain vs tangle](https://101blockchains.com/wp-content/uploads/2018/06/Blockchain_Vs_Tangle.jpg) 
> Figure 1 : structure de la blockchain classique vs DAG 

## Architecture de IOTA 

L'architecture reprend les composantes basic :
- Clients : wallets, applications
- Noeuds : dispositifs connectés qui forme le réseaux (serveurs, ordi, objets connectés)
- Tangle (`DAG`) : la structure de donnée ou registre 

![IOTA arch](https://iota-beginners-guide.com/wp-content/uploads/2021/04/IOTA-Tangle.png)
> Figure 2 : Architecture de l'IOTA  


Dans cette article nous allons s'intéresser plus précisément a l'algorithme de consensus que _Tangle_ repose dessus. 

## DAG consensus 
Avant de voir les principes de ce consensus, nous allons faire un petit rappel sur le `DAG`ou `directed acyclic graph`. Un `DAG` est constitué de :

- Des noeuds (nommé transaction, site ou square)
- Des liens dirigés (unidirectionnel)
- Acyclique pour préciser qu'il n'y pas de cycle ou boucle

La notion de noeud (site) veut dire le contenue de la transaction elle même avec tous ses détails: l'émetteur, le récepteur et la somme transmise. Chaque noeud représente une validation avec un lien qui pointe vers un site validé ou en cours de validation. 

> Les noeuds mentionnés dans l'architecture de l'IOTA sont plutôt les machines qui font tourner le réseau _Tangle_ et qui peuvent charger le registre partiellement ou entièrement et qui sont différents des noeuds qui forme le _Tangle_ (DAG).

### Ajout de site 

Pour ajouter un site au réseau _Tangle_, ce dernier doit obligatoirement valider (pointer) vers deux autres sites. On appelle les sites qui sont a l'extrémité du _Tangle_ des *tips* et n'ont pas des arêtes entrantes a l'instant *`t`*

![Tangle avec des sommets en noir pour montrer les tips](https://miro.medium.com/max/1400/1*rIB6x0dTvwyRrrrLdUQa5Q.png)

> Figure 3 : Les sites en noir sont les *tips*


### Selection de Tip

De base, quand une *Tip* est crée et ajoutée au *Tangle*, elle peut choisir aléatoirement des squares à valider. Ces dernières peuvent êtres des anciennes transactions déjà validées et du coup ce n'est pas pertinent pour le consensus de validation, on appelle ça le ***Lazy tips***. Ce concept ne rajoute pas de valeurs a la sécurité du *Tangle* et on ne peut pas aussi forcer des *tips* a choisir des transaction qui sont en cours de validité, cela revient a avoir une approche centralisée. 
La solution est de mettre un système de poids cumulative qui va permettre aux nouvelles *tips* de choisir des transaction a poids faible, car celle qui ont étés déjà validé et approuvée ont a un poids plus important. La formule est la suivante :
```math
                                         Wc(s) = Wi(s) + sum(Wc(S))
```
Ou le poids cumulative *Wc* d'une transaction est la somme de son poids initiale *Wi* + la somme des poids cumulatives des transactions *S* qui valident cette dernière. On peut alors utilisé un algorithme de selection de Tip comme  par exemple **Markov Chain Monte Carlo (MCMC)**. 

Quand une transaction valide atteint un certain seuil de poids cumulatif, on peut dire qu'elle est confirmée. Dans le cas échéant, elle sera considérée comme non confirmée. 

![Trois stades d'une transaction](https://miro.medium.com/max/1400/1*bW9tWIgaECFy6ob2bULoQQ.jpeg)
> Figure 4 : Les 3 états d'une transaction au sein du *Tangle*


### Mécanisme  du Consensus 
Après avoir vu la procedure d'ajout d'une transaction dans le registre du *Tangle*, l'étape suivante est évidemment de travailler sur le consensus de validation. Vu que dans le *Tangle* on a un chemin dit double dépenses (ce qui pose par ailleurs un des problématiques de ce registre) on se doit de régulariser sans par ailleurs surveiller si une  transaction est valide ou pas, parce que chaque noeud dans IOTA peut introduire une transaction qui représentera un vote virtuel, sauf qu'aucune information sur les votes précédents sera partagée avec les nouvelles transactions. L'idée aussi derrière ce consensus a pour objectif de ne pas avoir de leader pour décider qui valide ou qui n'est pas valide. Toute transaction est considérée valide jusqu'à confirmation par le mécanisme suivant :

**1- Poids d'approbation (AW) pour régulé les conflits et le double dépenses** : 
Ou les sommets (transactions) avec un gros poids ont a un impacte sur le choix des transactions a confirmer, surtout dans le cas du double dépenses ou on choisie une seule transaction a la fois pour évité de tomber sur un solde négative si une personne essaye de faire 2 fois la même transaction sur deux sommets différents. Ces sommets a gros mana (aw) ont un rôle de régulateur mais pas de superviseur. 

**2- FPC (Fast Probabilistic Consensus) pour l'accord :**
Si on valide certaines transactions dans une partie partielle du graphe puis on la déploie sur le réseau actuel qui compose la *Tangle* on revérifie alors la validité des transactions, et si tous les hautes transactions (avec le plus grand mana) approuve une transaction du conflit, alors cette dernière devient valide avec une haute probabilité, sinon non valide avec une haute probabilité. Comme on que les noeuds avec le poids le plus fort qui vote sur la validité et réduction de conflit, on n'interroge pas tous les noeuds mais seulement une partie des transactions importante, qui est très efficace et réduit le temps de vérification. 

A la fin, le vote s'arrête pour chaque transaction si elle ne change pas d'avis de vote sur un certain nombre de tours.

> On reviens sur le poids individuel et initiale de chaque sommet, ce dernier est obtenu via un petit Proof of Work (PoW) qui consiste a résoudre un puzzle cryptographique. L'avantage c'est qu'il nécessite pas une grande consommation d'énergie de calcule.


## Avantage 
Les avantages du *Tangle* résident dans :
- La scalabilité : on peut rajouter autant de transaction qu'on veut, le consensus est fait de manier asynchrone et rapide car on interroge qu'un sous ensemble de sommets.
- *Pas de mineurs !* donc pas de frais de transaction
- Le fait de chargé qu'une partie du registre permet de le stocker sur tout type d'appareils : ordi perso, smartphone, objects connectés, et du coup permet de partager le réseau tout en annulant l'approche des pools de calcule et la grosse consommation d'énergie.

## Inconvénient
- La sécurité : le fait qu'une transaction valide deux autres, cela baisse la pourcentage d'attaque de transactions frauduleuses de 51% a une attaque de 34%. (ou il faut que 34% de sommets frauduleux pour corrompre le réseau)



# Sources 
- [Tangle Vs Blockchain: Which is Better](https://shardeum.org/blog/tangle-vs-blockchain/) 
- [IOTA beginners guide](https://iota-beginners-guide.com/dlt/tangle/)
- [Consensus Mechanism](https://wiki.iota.org/goshimmer/protocol_specification/components/consensus_mechanism)
- [Unravelling the IOTA Tangle](https://samanthaouyang.medium.com/unravelling-the-iota-tangle-67ab5d91bdba)
- [Directed Acyclic Graph (DAG) based Distributed Ledgers](https://kbaiiitmk.medium.com/directed-acyclic-graph-dag-based-distributed-ledgers-e2f42c39366)
👍  , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , and 310 others
properties (23)
authornissou31
permlinktangle-iota-la-blockchain-sans-1381d641f5dfa
categoryhive-114606
json_metadata"{"links":["https://miro.medium.com/max/1400/1","https://miro.medium.com/max/1400/1","https://shardeum.org/blog/tangle-vs-blockchain/","https://iota-beginners-guide.com/dlt/tangle/","https://wiki.iota.org/goshimmer/protocol_specification/components/consensus_mechanism","https://samanthaouyang.medium.com/unravelling-the-iota-tangle-67ab5d91bdba","https://kbaiiitmk.medium.com/directed-acyclic-graph-dag-based-distributed-ledgers-e2f42c39366"],"image":["https://i.ytimg.com/vi/Ft1sdTTaoqg/maxresdefault.jpg","https://101blockchains.com/wp-content/uploads/2018/06/Blockchain_Vs_Tangle.jpg","https://iota-beginners-guide.com/wp-content/uploads/2021/04/IOTA-Tangle.png"],"thumbnails":["https://i.ytimg.com/vi/Ft1sdTTaoqg/maxresdefault.jpg","https://101blockchains.com/wp-content/uploads/2018/06/Blockchain_Vs_Tangle.jpg","https://iota-beginners-guide.com/wp-content/uploads/2021/04/IOTA-Tangle.png"],"tags":["hive-114606","blockchain","iota","tangle","algorithme","consensus","dag","crypto","fr"],"description":"La cryptomonnaie a connue un bond fulgurant durant cette dernière décennie. La technologie qui est derrière ces cryptomonnaies nommée la Blockchain est une révolution dans le monde de l'IT, cependant comme","app":"ecency/3.0.29-vision","format":"markdown+html"}"
created2022-11-21 21:28:45
last_update2022-11-23 13:23:30
depth0
children4
last_payout2022-11-28 21:28:45
cashout_time1969-12-31 23:59:59
total_payout_value2.910 HBD
curator_payout_value2.843 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length8,160
author_reputation372,198,099,687
root_title"Tangle (IOTA) : la Blockchain “sans bloc ni chaîne” ! "
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id118,515,391
net_rshares11,913,681,339,369
author_curate_reward""
vote details (374)
@bonus-fr ·
---
---
✒️ Pour vous encourager dans vos études, nous vous offrons  💝**50 points-fr**💝, un reblogue, un mini-upvote
🎁 Recevez en plus un bonus de **3 points-fr** pour votre sélection et ce pourboire : !LUV !GIF algorithm
💰 Plus de Tokens de 2eme couches vous attendent dans les posts de sélections et de récompenses
<center> 
|	@points-fr /	@challenge-fr / @tokens-fr / @loterie-fr / @bonus-fr |
|	------------	|
</center>

<center> **[Cumulez facilement les points-fr](/created/faqpoints-fr)**
 Récompense Multi-engagements des Francophones
<a href='/created/points-fr'><img src='https://images.ecency.com/DQmbkGz3XuzUZJPndrZzNqh4tAoNgkRGWnhu6sjBg8mz4sD/logo_point_fr150.png'></a>
</center>
---
---
properties (22)
authorbonus-fr
permlinkre-nissou31-20221123t222353646z
categoryhive-114606
json_metadata{"tags":["hive-114606","blockchain","iota","tangle","algorithme","consensus","dag","crypto","fr"],"app":"ecency/3.0.29-vision","format":"markdown+html"}
created2022-11-23 21:23:54
last_update2022-11-23 21:23:54
depth1
children1
last_payout2022-11-30 21:23:54
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length699
author_reputation10,094,917,467,831
root_title"Tangle (IOTA) : la Blockchain “sans bloc ni chaîne” ! "
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id118,564,865
net_rshares0
@luvshares ·
@nissou31, @bonus-fr<sub>(8/10)</sub> sent you LUV. <a href="https://peakd.com/@luvshares/about" style="text-decoration:none"><img src="https://files.peakd.com/file/peakd-hive/crrdlx/AKU7oyCXxGwYyudB42kJ7JtoZ63bdeHvm4icoT9xdGNxA4i4BwudGyPvTQrEwPd.gif"></a> <a href="https://tribaldex.com/wallet/" style="text-decoration:none">wallet</a> | <a href="https://hive-engine.com/trade/LUV" style="text-decoration:none">market</a> | <a
    href="https://crrdlx.websavvy.work/" style="text-decoration:none">tools</a> | <a 
    href="https://discord.gg/K5GvNhcPqR" style="text-decoration:none">discord</a> | <a href="https://peakd.com/c/hive-159259">community | <a href="https://ichthys.netlify.app" style="text-decoration:none"><>< daily</a>
<br>
<center><a href="https://crrdlx.websavvy.work/wiki" target="_blank"><img src="https://files.peakd.com/file/peakd-hive/crrdlx/23sxEPgMNuQ5YPsuGungJ25Dpd6BjwgUmNkFAGCNnsKABBpUPXuRVgahFnwuZm9Qnf8Eh.png"></a><br><a href="https://crrdlx.websavvy.work/wiki" target="_blank">HiveWiki</a></center>
<br>
<center><a href="https://peakd.com/nftforpeace/@hivebuzz/nft-for-peace" target="_blank"><img src="https://files.peakd.com/file/peakd-hive/luvshares/242henrWsje7ivLwY3jxy15af3LJqvUzEmrEKAViGAowE1XsPqkDUuQ6QnwYpVJUWKN7c.gif"></a><br><a href="https://peakd.com/nftforpeace/@hivebuzz/nft-for-peace" target="_blank">HiveBuzz.me NFT for Peace</a></center>
properties (22)
authorluvshares
permlinkre-re-nissou31-20221123t222353646z-20221123t212411z
categoryhive-114606
json_metadata"{"app": "beem/0.24.26"}"
created2022-11-23 21:24:12
last_update2022-11-23 21:24:12
depth2
children0
last_payout2022-11-30 21:24:12
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length1,382
author_reputation5,651,102,754,153
root_title"Tangle (IOTA) : la Blockchain “sans bloc ni chaîne” ! "
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id118,564,873
net_rshares0
@hivebuzz ·
Congratulations @nissou31! You have completed the following achievement on the Hive blockchain And have been rewarded with New badge(s)

<table><tr><td><img src="https://images.hive.blog/60x70/http://hivebuzz.me/@nissou31/upvotes.png?202211281739"></td><td>You distributed more than 10 upvotes.<br>Your next target is to reach 50 upvotes.</td></tr>
<tr><td><img src="https://images.hive.blog/60x70/http://hivebuzz.me/@nissou31/upvoted.png?202211281739"></td><td>You received more than 300 upvotes.<br>Your next target is to reach 400 upvotes.</td></tr>
</table>

<sub>_You can view your badges on [your board](https://hivebuzz.me/@nissou31) and compare yourself to others in the [Ranking](https://hivebuzz.me/ranking)_</sub>
<sub>_If you no longer want to receive notifications, reply to this comment with the word_ `STOP`</sub>



**Check out the last post from @hivebuzz:**
<table><tr><td><a href="/hive-102201/@hivebuzz/wc2022-recap-day9"><img src="https://images.hive.blog/64x128/https://i.imgur.com/uNPMgnd.png"></a></td><td><a href="/hive-102201/@hivebuzz/wc2022-recap-day9">HiveBuzz World Cup Contest - Recap of Day 9</a></td></tr><tr><td><a href="/hive-122221/@hivebuzz/pud-202212"><img src="https://images.hive.blog/64x128/https://i.imgur.com/805FIIt.jpg"></a></td><td><a href="/hive-122221/@hivebuzz/pud-202212">Hive Power Up Day - December 1st 2022</a></td></tr><tr><td><a href="/hive-102201/@hivebuzz/wc2022-ranking"><img src="https://images.hive.blog/64x128/https://i.imgur.com/8kplXrX.png"></a></td><td><a href="/hive-102201/@hivebuzz/wc2022-ranking">HiveBuzz World Cup Contest - Check your ranking</a></td></tr></table>

###### Support the HiveBuzz project. [Vote](https://hivesigner.com/sign/update_proposal_votes?proposal_ids=%5B%22199%22%5D&approve=true) for [our proposal](https://peakd.com/me/proposals/199)!
properties (22)
authorhivebuzz
permlinknotify-nissou31-20221129t165222
categoryhive-114606
json_metadata{"image":["http://hivebuzz.me/notify.t6.png"]}
created2022-11-29 16:52:21
last_update2022-11-29 16:52:21
depth1
children0
last_payout2022-12-06 16:52:21
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length1,828
author_reputation370,814,027,443,028
root_title"Tangle (IOTA) : la Blockchain “sans bloc ni chaîne” ! "
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id118,707,979
net_rshares0
@stemsocial ·
re-nissou31-tangle-iota-la-blockchain-sans-1381d641f5dfa-20221126t210931685z
<div class='text-justify'> <div class='pull-left'>
 <img src='https://stem.openhive.network/images/stemsocialsupport7.png'> </div>

Thanks for your contribution to the <a href='/trending/hive-196387'>STEMsocial community</a>. Feel free to join us on <a href='https://discord.gg/9c7pKVD'>discord</a> to get to know the rest of us!

Please consider delegating to the @stemsocial account (85% of the curation rewards are returned).

You may also include @stemsocial as a beneficiary of the rewards of this post to get a stronger support.&nbsp;<br />&nbsp;<br />
</div>
properties (22)
authorstemsocial
permlinkre-nissou31-tangle-iota-la-blockchain-sans-1381d641f5dfa-20221126t210931685z
categoryhive-114606
json_metadata{"app":"STEMsocial"}
created2022-11-26 21:09:30
last_update2022-11-26 21:09:30
depth1
children0
last_payout2022-12-03 21:09:30
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length565
author_reputation22,933,187,386,771
root_title"Tangle (IOTA) : la Blockchain “sans bloc ni chaîne” ! "
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id118,638,659
net_rshares0