La montée et le succès du Bitcoin au cours des six dernières années ont prouvé la valeur de la blockchain. Cependant, à l’état actuel, cette technologie a également un certain nombre d’inconvénients qui empêchent son utilisation comme plateforme de paiements à très large diffusion. On souligne notamment l’impossibilité d’absorber des gros volumes de micropaiements, une fonctionnalité de plus en plus demandée par l’industrie suite au développement croissant de l’IoT.
Les commissions à payer pour effectuer une transaction bitcoin rendent prohibitif les transferts de très petits montants puisque, dans ces cas, les frais sont plusieurs fois plus grands que les montants en jeu. Ces frais de commission servent d’incitation pour les créateurs des blocs et sont, de ce fait, irrévocables. Cela justifie la recherche de solutions essentiellement différentes de la technologie blockchain, sur laquelle sont basées les Bitcoin ainsi que pratiquement toutes les autres cryptocurrencies.
Dans cet article, nous discutons de l’approche blockchain-less mis en œuvre dans IOTA, une crypto-monnaie pour l’industrie Internet-of-Things, conçue pour fonctionner avec d’autres blockchains comme Bitcoin ou Ethereum.
En général, IOTA fonctionne de la manière suivante :
- La structure des données ne prend pas la forme d’une blockchain, c-à-d d’une chaîne de blocs contenant des transactions. A la place, on y trouve un DAG (directed acyclic graph) que nous appelons tangle. IOTA est une tangle-based cryptocurrency.
- Les transactions émises par les noeuds du peer-2-peer vont former le tangle, c’est-à-dire que les transactions forment le grand livre (ledger) sous forme de DAG.
- Lorsqu’une nouvelle transaction arrive, il doit approuver deux transactions précédentes. Ces approbations, représentées par des arêtes, contribuent à sécuriser le réseau.
- S’il n’y a pas de bord dirigé entre une transaction A et une transaction B, mais il y a un chemin de longueur >=2 de A à B, alors on dit que A approuve indirectement B.
Le réseau de peers est composé de noeuds qui émettent les transactions représentées schématiquement sous forme d’un carré vide (box). Chaque transaction a un poids proportionnel à la quantité de travail (proof-of-work) que le noeud d’émission y a investi. Une des notions cruciales est le poids cumulatif: il est défini comme le poids propre à une transaction plus la somme des poids de toutes les transactions qui l’approuvent directement ou indirectement. Les petits numéros dans le coin en bas sont les poids propres, tandis que les numéros en gras (haut à gauche) sont les poids cumulatifs.
Les commissions à payer pour effectuer une transaction bitcoin rendent prohibitif les transferts de très petits montants puisque, dans ces cas, les frais sont plusieurs fois plus grands que les montants en jeu. Ces frais de commission servent d’incitation pour les créateurs des blocs et sont, de ce fait, irrévocables. Cela justifie la recherche de solutions essentiellement différentes de la technologie blockchain, sur laquelle sont basées les Bitcoin ainsi que pratiquement toutes les autres cryptocurrencies.
Dans cet article, nous discutons de l’approche blockchain-less mis en œuvre dans IOTA, une crypto-monnaie pour l’industrie Internet-of-Things, conçue pour fonctionner avec d’autres blockchains comme Bitcoin ou Ethereum.
En général, IOTA fonctionne de la manière suivante :
- La structure des données ne prend pas la forme d’une blockchain, c-à-d d’une chaîne de blocs contenant des transactions. A la place, on y trouve un DAG (directed acyclic graph) que nous appelons tangle. IOTA est une tangle-based cryptocurrency.
- Les transactions émises par les noeuds du peer-2-peer vont former le tangle, c’est-à-dire que les transactions forment le grand livre (ledger) sous forme de DAG.
- Lorsqu’une nouvelle transaction arrive, il doit approuver deux transactions précédentes. Ces approbations, représentées par des arêtes, contribuent à sécuriser le réseau.
- S’il n’y a pas de bord dirigé entre une transaction A et une transaction B, mais il y a un chemin de longueur >=2 de A à B, alors on dit que A approuve indirectement B.
Le réseau de peers est composé de noeuds qui émettent les transactions représentées schématiquement sous forme d’un carré vide (box). Chaque transaction a un poids proportionnel à la quantité de travail (proof-of-work) que le noeud d’émission y a investi. Une des notions cruciales est le poids cumulatif: il est défini comme le poids propre à une transaction plus la somme des poids de toutes les transactions qui l’approuvent directement ou indirectement. Les petits numéros dans le coin en bas sont les poids propres, tandis que les numéros en gras (haut à gauche) sont les poids cumulatifs.
(le temps va de gauche à droite)
Autre notion importante: celle de la transaction genèse, qui est approuvée (directement ou indirectement) par toutes les autres transactions. Au début, il y a une adresse à l’équilibre contenant tous les jetons IOTA. Ensuite, on a envoyé ces jetons à plusieurs autres adresses dites fondatrices. Tous les jetons ont ainsi été créés au moment de la genèse et il n’y aura pas d’autres jetons créés par la suite. De ce fait, il n’y a pas de mining dans IOTA et les noeuds ne reçoivent pas de récompenses monétaires pour leur travail accompli.
Maintenant, l’idée principale dans IOTA est la suivante :
1) avant de pouvoir émettre une transaction, les utilisateurs doivent travailler à approuver d’autres transactions (deux ou plus) contribuant ainsi à la sécurité du réseau.
2) On suppose que les nœuds n’approuvent pas (directement ou indirectement) des transactions contradictoires. Au fil du temps, une transaction correcte obtient de plus en plus d’approbations (directes ou indirectes) et devient de plus en plus acceptée par le système. Il sera donc de plus en plus difficile (voire pratiquement impossible) d’accepter un échange qui effectuerait une double dépense.
Plus précisément, pour émettre une transaction, un noeud effectue les opérations suivantes :
• il choisit deux autres opérations à approuver selon un critère algorithmique.
• il vérifie si les deux opérations ne sont pas contradictoires
• pour que la transaction soit valide, le noeud doit résoudre un problème cryptographique (qui demande de la puissance informatique) semblable à ceux de la proof-of-work bitcoin.
Il convient de noter également que dans IOTA le ledger peut contenir des transactions en conflit. Dans ces cas, les noeuds doivent décider quelles transactions deviendront orphelines et donc sans valeur.
La règle principale que les noeuds utilisent pour décider entre deux transactions en conflit est la suivante: un nœud exécute l’algorithme de sélection plusieurs fois sur une transaction non confirmée (tip), et regarde laquelle des deux transactions est la plus susceptible d’être (indirectement) approuvée par l’algotrithme. Par exemple, si, après 100 itérations, une transaction a été sélectionnée 97 fois, on dit qu’elle est confirmée avec 97% de confiance.
Chaque nœud calcule aussi des statistiques, dont l’un est le nombre de nouvelles transactions reçues par un voisin. Si un noeud est trop paresseux, il sera abandonné par ses voisins. Ce mécanisme motive les noeuds à propager le plus possible les transactions via le réseau des peers.
L’idée d’utiliser des DAG dans le contexte des crypto-monnaies n’arrive toutefois pas avec IOTA. Les travaux du protocole GHOST avaient déjà proposé une modification de la structure bitcoin qui transformait le ledger en arbre au lieu d’une chaîne de blocs. Il est démontré qu’une telle modification permet de réduire les temps de confirmation et d’améliorer la sécurité globale du réseau. Ethereum utilise GHOST.
***
Le projet IOTA est important parce qu’il montre la vitalité de la recherche au tour des blockchains. Quand on met l’accident TheDAO et relative la difficulté à produire des smart-contracts bug-free à coté des titres comme IOTA – The Next Generation Blockchain, on mesure la vitesse à laquelle on avance dans le secteur.
Des projets comme IOTAtoken, Z-Cash, The Lightning Network, Flare … montrent qu’on sait produire en l’espace de quelques mois (un temps relativement court) des solutions alternatives dans la famille DLT originales et techniquement très pointues. Ces solutions restent bien encrées dans la philosophie de décentralisation blockchain bien que techniquement parfois on ne puisse plus parler de « chaines de blocks ».
On devine que le cadre du conseil blockchain va être complexe puisque le contexte sous-jacent se profile comme étant très variable. Une sorte de conseil dans le sable mouvant…
En effet, contrairement au conseil informatique standard ou les gros changements coïncidaient avec les major relases d’un langage (Java, C++…) ou à l’arrive d’un break technologique majeur (le Cloud Computing), dans le monde blockchain on a l’impression que les outils sortent avant la formalisation des solutions et des applications concrètes.
Une personne qui aurait souhaité développer une application IoT en janvier 2015 aurait choisit naturellement le bitcoin, mais il aurait pu également attendre Ethereum fin 2015 ou bien IOTAtoken quelques mois plus tard…
Si ce dynamisme pourrait retarder la décision de certains acteurs de prendre les choses en main, il prouve aussi que vraisemblablement les solutions seront au rendez-vous pour beaucoup de problématiques aujourd’hui encore ouvertes. Il y a beaucoup de place pour l’optimisation et l’innovation pour les cas spécifiques où les blockchain standard ne seraient pas 100% optimales.
Les dés sont jetés, la course est lancée et à notre avis on ne reviendra pas en arrière.
Autre notion importante: celle de la transaction genèse, qui est approuvée (directement ou indirectement) par toutes les autres transactions. Au début, il y a une adresse à l’équilibre contenant tous les jetons IOTA. Ensuite, on a envoyé ces jetons à plusieurs autres adresses dites fondatrices. Tous les jetons ont ainsi été créés au moment de la genèse et il n’y aura pas d’autres jetons créés par la suite. De ce fait, il n’y a pas de mining dans IOTA et les noeuds ne reçoivent pas de récompenses monétaires pour leur travail accompli.
Maintenant, l’idée principale dans IOTA est la suivante :
1) avant de pouvoir émettre une transaction, les utilisateurs doivent travailler à approuver d’autres transactions (deux ou plus) contribuant ainsi à la sécurité du réseau.
2) On suppose que les nœuds n’approuvent pas (directement ou indirectement) des transactions contradictoires. Au fil du temps, une transaction correcte obtient de plus en plus d’approbations (directes ou indirectes) et devient de plus en plus acceptée par le système. Il sera donc de plus en plus difficile (voire pratiquement impossible) d’accepter un échange qui effectuerait une double dépense.
Plus précisément, pour émettre une transaction, un noeud effectue les opérations suivantes :
• il choisit deux autres opérations à approuver selon un critère algorithmique.
• il vérifie si les deux opérations ne sont pas contradictoires
• pour que la transaction soit valide, le noeud doit résoudre un problème cryptographique (qui demande de la puissance informatique) semblable à ceux de la proof-of-work bitcoin.
Il convient de noter également que dans IOTA le ledger peut contenir des transactions en conflit. Dans ces cas, les noeuds doivent décider quelles transactions deviendront orphelines et donc sans valeur.
La règle principale que les noeuds utilisent pour décider entre deux transactions en conflit est la suivante: un nœud exécute l’algorithme de sélection plusieurs fois sur une transaction non confirmée (tip), et regarde laquelle des deux transactions est la plus susceptible d’être (indirectement) approuvée par l’algotrithme. Par exemple, si, après 100 itérations, une transaction a été sélectionnée 97 fois, on dit qu’elle est confirmée avec 97% de confiance.
Chaque nœud calcule aussi des statistiques, dont l’un est le nombre de nouvelles transactions reçues par un voisin. Si un noeud est trop paresseux, il sera abandonné par ses voisins. Ce mécanisme motive les noeuds à propager le plus possible les transactions via le réseau des peers.
L’idée d’utiliser des DAG dans le contexte des crypto-monnaies n’arrive toutefois pas avec IOTA. Les travaux du protocole GHOST avaient déjà proposé une modification de la structure bitcoin qui transformait le ledger en arbre au lieu d’une chaîne de blocs. Il est démontré qu’une telle modification permet de réduire les temps de confirmation et d’améliorer la sécurité globale du réseau. Ethereum utilise GHOST.
***
Le projet IOTA est important parce qu’il montre la vitalité de la recherche au tour des blockchains. Quand on met l’accident TheDAO et relative la difficulté à produire des smart-contracts bug-free à coté des titres comme IOTA – The Next Generation Blockchain, on mesure la vitesse à laquelle on avance dans le secteur.
Des projets comme IOTAtoken, Z-Cash, The Lightning Network, Flare … montrent qu’on sait produire en l’espace de quelques mois (un temps relativement court) des solutions alternatives dans la famille DLT originales et techniquement très pointues. Ces solutions restent bien encrées dans la philosophie de décentralisation blockchain bien que techniquement parfois on ne puisse plus parler de « chaines de blocks ».
On devine que le cadre du conseil blockchain va être complexe puisque le contexte sous-jacent se profile comme étant très variable. Une sorte de conseil dans le sable mouvant…
En effet, contrairement au conseil informatique standard ou les gros changements coïncidaient avec les major relases d’un langage (Java, C++…) ou à l’arrive d’un break technologique majeur (le Cloud Computing), dans le monde blockchain on a l’impression que les outils sortent avant la formalisation des solutions et des applications concrètes.
Une personne qui aurait souhaité développer une application IoT en janvier 2015 aurait choisit naturellement le bitcoin, mais il aurait pu également attendre Ethereum fin 2015 ou bien IOTAtoken quelques mois plus tard…
Si ce dynamisme pourrait retarder la décision de certains acteurs de prendre les choses en main, il prouve aussi que vraisemblablement les solutions seront au rendez-vous pour beaucoup de problématiques aujourd’hui encore ouvertes. Il y a beaucoup de place pour l’optimisation et l’innovation pour les cas spécifiques où les blockchain standard ne seraient pas 100% optimales.
Les dés sont jetés, la course est lancée et à notre avis on ne reviendra pas en arrière.
David Teruzzi est rédacteur du blog blogchaincafe.com, spécialisé dans la blockchain et son univers.
Il est en même temps directeur technique et co-fondateur de blockchain-conseil.fr
Il est en même temps directeur technique et co-fondateur de blockchain-conseil.fr
Les médias du groupe Finyear
Lisez gratuitement :
Le quotidien Finyear :
- Finyear Quotidien
La newsletter quotidienne :
- Finyear Newsletter
Recevez chaque matin par mail la newsletter Finyear, une sélection quotidienne des meilleures infos et expertises en Finance innovation, Blockchain révolution & Digital transformation.
Les 6 lettres mensuelles digitales :
- Le Directeur Financier
- Le Trésorier
- Le Credit Manager
- The Chief FinTech Officer
- The Chief Blockchain Officer
- The Chief Digital Officer
Le magazine trimestriel digital :
- Finyear Magazine
Un seul formulaire d'abonnement pour recevoir un avis de publication pour une ou plusieurs lettres
Le quotidien Finyear :
- Finyear Quotidien
La newsletter quotidienne :
- Finyear Newsletter
Recevez chaque matin par mail la newsletter Finyear, une sélection quotidienne des meilleures infos et expertises en Finance innovation, Blockchain révolution & Digital transformation.
Les 6 lettres mensuelles digitales :
- Le Directeur Financier
- Le Trésorier
- Le Credit Manager
- The Chief FinTech Officer
- The Chief Blockchain Officer
- The Chief Digital Officer
Le magazine trimestriel digital :
- Finyear Magazine
Un seul formulaire d'abonnement pour recevoir un avis de publication pour une ou plusieurs lettres
Autres articles
-
Bangk, une ICO pour un projet de néobanque éthique et décentralisée
-
Crypto : Les grands magasins Printemps en partenariat avec Binance Pay et Lyzi pour accepter les paiements en cryptomonnaie
-
Quelles sont les règles concernant le rachat d'un PER ?
-
Freqens : 3 millions pour la fintech afin de peaufiner sa plateforme de benchmarking des prix B2B
-
Wero, le portefeuille de paiement numérique d'EPI, arrive en Belgique