F.A.Q.

Accueil F.A.Q.

BASES

Quelle est la différence entre le protocole IOTA, le registre IOTA et la monnaie iota ?

Le protocole IOTA (IRI et IXI: Le protocole est l’ensemble du code qui régit le fonctionnement du système IOTA. Il est dans ce cas précis constitué d’une implémentation de référence (appelée IRI) et d’une implémentation d’extension (appelée IXI). IRI est le code de base, qui doit être présent sur tous les serveurs voulant utiliser IOTA et le Tangle. Il est fait pour être le plus générique possible afin d’accommoder un maximum de possibilités. IXI quant à lui est un ensemble de modules supplémentaires que l’on peut utiliser en lien avec le Tangle afin d’ajouter des fonctionnalités (comme la Messagerie Authentifiée Masquée par exemple). 

Le registre IOTA (le Tangle: Le registre utilisé par IOTA porte le nom de Tangle. C’est l’ensemble des adresses et transactions effectuées dans le système IOTA. 

La monnaie iota (iota) : La monnaie iota est l’unité d’échange principale du système IOTA. 

Quelle est la différence entre iota et Miota ?

Un iota est la plus petite valeur admissible dans le système IOTA. Vu qu’un iota a une valeur en dollars extrêmement petite (de l’ordre du millionième de dollars), il est plus simple de parler en terme de millions de iotas, ou Miota (aussi écrits Mi). La nomenclature complète du iota et de ses différentes valeurs se trouve sur cette page relative à la monnaie iota.

Qu'est-ce qu'un token ou coin ?

Techniquement les deux termes sont différents, mais ils sont souvent utilisés pour parler de la même chose. 

Un coin : Un coin est la monnaie principale, l’unité d’échange d’un registre distribué. Ainsi le iota est le coin du registre IOTA. Il permet de différencier l’unité d’échange (=iota) du protocole IOTA (l’implémentation IRI) et du registre IOTA (= le Tangle). 

Un token : Un token est une autre unité d’échange particulière qui opère sur le registre d’une autre crypto. Il sert à faciliter les applications décentralisées ou à lancer une monnaie sur un registre robuste. Dans le cas de l’Ethereum on parle par exemple des tokens ERC20, qui sont d’autres cryptos qui opèrent sur base de la blockchain Ethereum. 

Pourquoi les sites d’échanges écrivent parfois IOT, IOTA ou MIOTA ?

En crypto, il n’y a aucune autorité en charge de réguler les sites d’échanges et apporter de l’uniformisation entre ceux-ci, chacun fait donc un peu ce qu’il veut. En règle générale, les sites échangent tous des Miotas (millions de iotas), mais ils lui donnent parfois d’autres noms. 

C’est quoi la fondation IOTA ?

La fondation IOTA est une association sans but lucratif (aussi appelée association 1901 en France) qui se charge de développer et promouvoir IOTA, ainsi que faire des recherches sur les registres distribués de manière plus générale. La fondation est basée en Allemagne et obéit aux règles strictes du droit allemand. Elle est composée de développeurs, chercheurs universitaires, experts industriels, ingénieurs et experts en business de tous horizons. Les travaux de la fondation sont tous réalisés dans une optique d’open-source et ont pour vocation d’accélérer l’adoption de IOTA comme protocole de référence pour l’Internet des Objets et l’économie des machines. La fondation travaille également en étroite collaboration avec les industriels qui cherchent utiliser IOTA pour des applications de grande envergure. 

A quoi sert IOTA ?

Le projet IOTA a deux grands modes d’utilisations. Le premier est de servir de mode de transaction/paiement (et plus spécialement des micro paiements sans frais), le second est le stockage des données de façon pérenne et sécurisée. IOTA se focalise avant tout sur l’internet des objets et l’émergence d’une économie des machines. Il y a déja plusieurs exemples d’utilisation IOTA dans des secteurs très variés.

Quel prix peut atteindre le Miota ?

Il est impossible de répondre précisément à ce genre de questions. Toutefois, on peut assez facilement déterminer une limite supérieure au-delà de laquelle le prix ne montera probablement jamais. Pour ce faire, il faut se baser sur la capitalisation du iota (market cap en anglais). Cette capitalisation est égale au nombre total de Miotas en circulations multipliés par la valeur d’un Miota. Cette capitalisation permet de comparer deux cryptos plus facilement. L’ensemble des cryptos était capitalisé à 500 Milliards de dollars en Décembre 2017. Si on imagine que les cryptos continuent à monter dans leur ensemble et que IOTA finit un jour par avoir à lui seul une capitalisation de 500 Milliards, cela signifierait que le Miota serait environ à 150$. On peut donc  raisonnablement penser qu’un Miota à 500$ voire 1000$ est très improbable (ou en tout cas pas avant très longtemps) car cela impliquerait une capitalisation du IOTA à plus de 1500 Milliard voir 3000 Milliards. Soit 3 à 6 fois plus que l’ensemble de toutes les cryptos actuellement (BitcoinEthereumLitecoin, etc.). 

Pourquoi IOTA est-il open source ? N’y a-t-il pas un risque qu’on le copie ?

La majorité des systèmes de registres distribués sont open source, ce qui veut dire que le code informatique qui leur permet de fonctionner est public et que n’importe qui peut le consulter et même proposer des modifications. L’open-source est un facteur extrêmement important de toutes les cryptos, car cela permet de vérifier que le code est correct, sans faute, et surtout qu’il n’est pas une arnaque. 

Vu que le code est disponible à tout le monde, il est techniquement possible pour n’importe qui de le copier, changer deux ou trois lignes et lancer sa propre crypto. Toutefois, le fonctionnement particulier du Tangle fait que celui-ci n’est pas très stable tant qu’il ne comporte pas un nombre élevé d’utilisateurs. Pour pallier à cela, la fondation utilise un coordinateur. Sans ce coordinateur, une simple copie du Tangle serait très vulnérable aux attaques. Par ailleurs, pour poser vraiment une menace, il faudrait que la copie finisse par attirer les utilisateurs du iota vers son utilisation à elle. Ce qui est très difficile à réaliser vu l’effet de réseau dont bénéficie IOTA (plus un réseau est grand, plus les gens veulent en être et son réticents à partir). 

Pourquoi le iota prendrait de la valeur si tout le monde peut créer un token sur le Tangle ?

La monnaie IOTA restera toujours la monnaie de base du Tangle et celle utilisée pour l’échange de données. Les sociétés n’auraient aucun intérêt à chacune sortir leurs propres monnaies qui seraient incompatibles les unes avec les autres.  Les autres monnaies basées sur le Tangle ne seraient donc de facto que des monnaies secondaires dès le départ. Par ailleurs, si l’ensemble des machines nécessite des iotas pour fonctionner et si toutes les données sont échangées également en iota, la demande ne pourra qu’augmenter. Vu que le nombre maximal de iotas en circulation est fixé, le prix ne peut que croître avec l’utilisation du Tangle. 

WALLET

C’est quoi un Wallet (portefeuille) ?

En crypto, un portefeuille (Wallet en anglais) est un programme qui vous permet de gérer les clés relatives à vos cryptos. Dans chaque projet, les coins sont stockés sur le registre (blockchain ou Tangle), le portefeuille n’est qu’un programme qui contient toutes les fonctions qui vous permettent d’accéder à vos coins et de les utiliser.  Vous trouverez plus d’infos à ce sujet sur la page d’explication des wallets. 

Faut-il toujours télécharger la dernière version du portefeuille manuellement ?

À l’heure actuelle il n’y a pas de mise à jour automatique du portefeuille. Il faut donc toujours le mettre à jour manuellement. Ce système est voulu car il permet de garantir que les nouvelles versions soient toujours open-source et qu’aucun code malicieux n’est introduit dans le portefeuille. Cela permet donc d’assurer que toutes les mises à jour se font de manière totalement transparente et sécurisée. Il faut donc se tenir informé de la présence de mises à jour afin de toujours avoir la dernière version du portefeuille et de bénéficier des meilleures performances et sécurités.  

C’est quoi la différence entre un client (light node) et un serveur (full node) ?

Un serveur est un ordinateur qui fait tourner directement le code du IOTA et qui détient donc une copie du Tangle. Pour fonctionner correctement, un tel ordinateur a donc besoin d’être en permanence connecté à internet et synchronisé avec d’autres serveurs. En faisant tourner un tel serveur on a donc l’avantage d’être parfaitement autonome et de n’avoir besoin de personne pour interagir avec le Tangle. Il est conseillé de n’opter pour un serveur que si vous êtes un utilisateur expérimenté et que vous comptez laisser votre machine allumée 24h/24 

Un client est un programme qui va se connecter à un serveur pour interagir avec le Tangle. Ce système est bien plus facile d’installation et ne nécessite pas d’avoir une copie du Tangle sur son ordinateur. Lorsque vous utilisez un client, il est important de noter qu’à aucun moment votre seed ne quitte votre ordinateur ou n’est envoyée au serveur auquel vous êtes connectés. Lors d’une connexion, le programme client utilise la seed en interne (pour trouver les adresses qui vous appartiennent, pour signer des transactions, etc), et n’envoie au serveur que les tâches à effectuer prémâchées afin que le serveur n’ait qu’à les envoyer sur le Tangle. 

Combien de temps faut-il pour que les transactions soient validées ?

Le temps nécessaire à la confirmation d’une transaction fluctue très fortement d’un moment à l’autre et d’un utilisateur à l’autre. Il dépend du serveur auquel votre portefeuille est connecté, de l’état du Tangle à ce moment, etc.  

Si après 20 minutes environ votre transaction n’est toujours pas validée, vous pouvez cliquer sur la transaction puis sur « montrer le paquet » et enfin « rattacher ». Ensuite cliquez à nouveau sur la transaction puis « montrer le paquet » et cliquez alors sur « promouvoir ». En répétant cette opération toutes les 20 minutes environ, vous augmenterez les chances de voir votre transaction validée. Notez que le faire plus souvent que toutes les 20 minutes est inutile, voir contreproductif.  

Quelle est la différence entre retransmettre, rattacher et promouvoir une transaction ?

Retransmettre : Cette opération sert à renvoyer exactement la même transaction à tous les serveurs qui sont connectés à votre serveur. Elle n’est utile que dans de très rares occasions (en cas de coupure d’internet durant un envoi par exemple). 

Rattacher: Si votre transaction n’est pas validée relativement rapidement, plus le temps passe et moins il est de probable qu’elle soit sélectionnée pour être validée par une nouvelle transaction. En rattachant la transaction, votre portefeuille va simplement trouver deux nouvelles extrémités du Tangle auxquelles il va rattacher votre transaction, comme si c’était une neuve. Il est conseillé de rattacher une transaction si elle n’est pas confirmée au bout de 20 minutes. Ce n’est pas utile de le faire trop rapidement, car il faut laisser le temps à de nouvelles transactions de trouver la vôtre avant. Le nouveau portefeuille Trinity permettra de réaliser cette opération tout seul sans que vous n’ayez à vous en occuper. 

Promouvoir : Promouvoir une transaction consiste à y attacher une transaction sans valeur. Cette transaction de promotion est très récente et a donc plus de chances d’être sélectionnée à son tour pour être validée par une nouvelle transaction. Vous pouvez promouvoir plusieurs fois une même transaction, cela augmentera considérablement les chances de voir votre transaction validée.  Le nouveau portefeuille Trinity permettra de réaliser cette opération tout seul sans que vous n’ayez à vous en occuper. 

Pourquoi les retraits sont parfois désactivés sur les sites d’échange ?

Il peut y avoir plusieurs raisons derrière cela. La première est une mise à jour de leurs serveurs et de leur portefeuille iota. Les portefeuilles des sites d’échanges sont plus complexes que ceux des utilisateurs normaux et leur mise à jour requiert un peu plus de temps. Les différentes fonctions (dépôt et retrait) sont donc désactivées durant cette opération. 
L’autre raison est qu’avec le système IOTA à chaque transaction qu’on émet, il faut valider deux autres transactions. C’est également valable pour les sites d’échanges. Quand beaucoup de gens désirent retirer des iotas en même temps, leurs serveurs doivent donc faire bien plus d’opérations que pour une autre crypto basée sur une blockchain (car là ce sont les mineurs qui font les calculs pour la validation). Les échanges ont donc une « liste d’attente » interne, puis ils envoient vos transactions à leurs serveurs pour qu’elles soient postées sur le tangle. Parfois la charge est telle que la liste d’attente interne du site d’échange se remplit plus vite qu’elle ne se vide. Ils décident alors de suspendre des retraits le temps qu’elle se résorbe, plutôt que de laisser les gens dans l’incertitude pendant un long moment. 

C’est quoi attacher une adresse ?

Attacher une adresse consiste à envoyer une transaction de 0 iotas à cette adresse. Cette transaction ne sera jamais validée et sera toujours marquée comme étant en attente de confirmation dans votre historique. Bien que techniquement ce ne soit pas 100% obligé d’attacher une adresse, il est très fortement conseillé de réaliser cette opération avant d’utiliser une adresse. En effet en attachant une adresse on indique au portefeuille qu’elle est utilisée et qu’il doit en tenir compte. 

Vu que le portefeuille n’a pas de mémoire, à chaque connexion avec votre seed, il va commencer par vérifier dans l’ordre toutes les adresses qui ont été générées avec celle-ci. Il va donc commencer à la première adresse et continuer de vérifier les suivantes jusqu’à ce que l’adresse qu’il veut vérifier n’ait jamais été utilisée. Prenons par exemple le cas ou vous auriez utilisé les adresses 1, 2 et 3, jamais attaché la 4 et que vous ayez 50 Mi dans l’adresse 5. A la connexion de votre portefeuille, il va commencer à l’adresse 1, puis 2 et 3 et s’arrêter à la 4 vu que pour lui vous ne l’avez pas utilisée. Il n’affichera donc pas les iotas présents à l’adresse 5 (il suffira alors d’attacher la 4 pour que le portefeuille se rende compte que la 5 est également à vous et que votre solde apparaisse).
Plus grave par contre, c’est dans le cas où vous réalisez plusieurs opérations en même temps, comme par exemple recevoir des iotas à une adresse sans l’avoir attachée avant et en même temps envoyer des iotas depuis une autre adresse. De tels cas de figure peuvent conduire à un problème de réutilisation d’adresse, ce qui signifierait que les iotas de certaines de vos adresses pourraient potentiellement courir le risque de se faire dérober par un pirate. 

En bref, afin d’être 100% certain, il est préférable de toujours attacher une adresse. 

Mon portefeuille affiche une balance de 0 iotas, que faire ?

Ce problème survient généralement suite à un snapshot (plus d’info sur les snapshot, ici). Pour faire court, vos iotas n’ont pas disparus, c’est votre portefeuille qui a oublié qu’ils sont à vous. Pour récupérer une balance correcte, il suffit de regénérer et attacher des adresses dans l’onglet réception de votre portefeuille, jusqu’à ce que votre balance réapparaisse. 

Ma seed est-elle sécurisée ?

Vu que la seed est constituée de 81 caractères choisis parmi une liste de 27 possibilités (26 lettres majuscules et le chiffre 9), il y a un nombre quasi-infini de possibilités de seed différentes (27 exposant 81, soit environ 8 suivi de 115 « 0 »). On ne se rend pas facilement compte de l’immensité de ce nombre, donc comparons le à quelque chose de plus tangible. Mathématiquement, on peut comparer votre seed à un atome parmi l’ensemble des atomes présents dans 1 000 000 000 000 000 000 000 000 000 d’univers comme le nôtre. Pour revenir à quelque chose d’encore plus terre à terre, on peut prouver que vous avez dix fois plus de chances de gagner à l’euromillion seize consécutives (en ne jouant qu’une grille à chaque fois) que de trouver une seed appartenant à quelqu’un.

Et si vous vous demandez si un super ordinateur ne pourrait pas essayer des millions de seeds par seconde pour trouver des seeds déjà utilisées, sachez que c’est également impossible. Même avec un ordinateur capable de générer et tester un trillion de seed par seconde (ce qui est déjà impossible physiquement), il faudrait à cet ordinateur un temps plus long que l’âge de l’univers pour tester toutes les seeds. 

Si vous avez bien respecté les conseils pour générer et stocker une seed, votre seed est sécurisée.

Qu'est-ce que la transition ?

La transition ne concerne que les personnes qui détenaient des iotas avant le 9 aout 2017. A cette date, le protocole IOTA a subi une mise à jour cryptographique importante. Il fallait donc faire une transition de sa seed qui fonctionnait sous l’ancien système vers une nouvelle seed sous le dernier système plus sécurisé. Plus d’information ici.

C’est quoi les claims ?

En octobre 2017, la fondation IOTA a remarqué que beaucoup de iotas étaient sur des adresses peu sécurisées (car la transition n’avait pas été faite ou car les adresses avaient déjà été utilisées par le passé pour faire des transactions sortantes). Afin d’éviter à ces personnes de voir leurs iotas se faire dérober, les développeurs ont décidé, avec l’accord de la communauté, de déplacer tous ces iotas vers une adresse générée par la fondation. Par la suite, les personnes dont les iotas ont été mis en sécurité devaient les réclamer à la fondation et prouver qu’ils étaient bien les propriétaires des adresses en question. Une très grande partie de ces claims ont été restitués début janvier 2018, le reste est rendu au fur et à mesure. 

Si vous constatez un jour que votre portefeuille vous affiche une balance de 0 iotas, assurez vous avant tout qu’il ne s’agit pas d’un souci du à un snapshot. Beaucoup de gens pensent qu’ils doivent se lancer dans la procédure de claim alors qu’il leur suffit en fait simplement d’aller dans l’onglet recevoir du portefeuille et d’attacher quelques adresses pour récupérer leur solde.

DÉVELOPPEURS

Où trouver le code de IOTA ?

A l’heure actuelle, l’implémentation de référence IOTA est faite en Java et est disponible à l’adresse suivante. La fondation développe également activement une implémentation C++ et Rust. 

Quelles spécifications faut-il pour faire tourner un full node ?

Il est nécessaire d’avoir une machine connectée en permanence à internet. Pour cette raison, il est recommandé d’utiliser un VPS plutôt qu’une machine chez vous. La configuration minimum est un CPU Single core et 4Gb de RAM. Mais il est recommandé d’utiliser au moins un CPU dual-core et 4Gb de RAM. La connexion internet doit avoir une bande passante minimale d’1MB/s en upload.  

Il faut également un disque dur d’au moins 8Gb (pour stocker IRI) mais également 20 à 30 Gb supplémentaires pour stocker la base de données. La base de données grandit très rapidement, il est donc conseillé d’avoir un minimum de 50Gb à l’heure actuelle et il est bien entendu préférable que le disque soit en SSD plutôt que HDD. 

Comment trouver des voisins ?

Les voisins sont des serveurs auxquels le vôtre se connecte afin de rentrer dans le maillage peer2peer. Pour trouver ces voisins, vous pouvez vous rendre sur le channel #neighbors du Discord officiel IOTA. 

Il existe également l’utilitaire Nelson, développé par Roman Semko (un développeur indépendant) que vous pouvez installer sur votre serveur. Cet utilitaire va vous connecter automatiquement à d’autres serveurs Nelson et vous changer plusieurs fois par heures de voisins. Avec Nelson vous n’avez donc techniquement plus besoin de voisins statiques (il est cependant toujours bon d’en garder deux ou trois dans l’éventualité où Nelson cesserait de fonctionner). 

A quoi sert CarrIOTA field pour un opérateur de full node ?

CarrIOTA Field est un autre service développé par Roman Semko (un développeur indépendant). Field agit principalement comme un répartisseur de charge. Ainsi les utilisateurs du client iota (light wallet) se connectent au serveur field, et celui-ci se charge de répartir les requêtes des clients à un serveur full node participant. Cela permet d’assurer au client d’être toujours rapidement connecté à un serveur synchronisé mais également de répartir la charge entre ces différents serveurs participants afin de fournir la meilleure expérience possible à l’utilisateur. 

En plus de cela, field permet de protéger votre serveur et de vous prémunir contre les attaques DDoS. De même, vous pouvez fermer l’accès API de votre serveur afin que seules les transactions field lui soient communiquées. Et finalement cerise sur le gâteau, le projet field dispose d’une adresse de donations. Les dons faits au field sont ensuite répartis aux différents serveurs participants au prorata du travail qu’ils ont effectué, ce qui permet donc d’amortir un peu les couts de maintenance de votre serveur. 

AVANCÉ

A quoi sert CarrIOTA field pour un utilisateur normal ?

Field est un serveur un peu particulier qu’on appelle un répartisseur de charge. En connectant votre wallet au serveur field (via « serveur personnalisé » : https://field.carriota.com:443), celui-ci va en fait vous trouver un serveur IOTA qui est synchronisé et qui n’est actuellement pas surchargé de demandes et il va lui demander de traiter vos requêtes. Ce système permet de s’assurer que vous soyez toujours en lien avec un serveur à jour et répondant.  

En plus de cela, field comporte l’énorme avantage de rattacher et promouvoir automatiquement toutes les transactions qu’il effectue, et ce même si vous avez quitté votre portefeuille, donc plus besoin de vous tracasser et de revenir vérifier toutes les dix minutes si votre transaction est validée ou non. Grâce à field, tout est mis en place pour vous garantir la meilleure expérience utilisateur. 

C’est quoi le coordinateur ? A quoi sert-il ?

Le Coordinateur (Coo pour les intimes) est un serveur un peu spécial. Il est détenu actuellement par la fondation IOTA et a pour but de protéger le réseau durant son développement. C’est pour cette raison qu’il est souvent assimilé à des petites roues qu’on place sur un vélo pour faciliter le début de l’apprentissage. 

Avant toute chose, il faut savoir que la sécurité d’un registre distribué vient du fait que beaucoup de personnes ont une copie de ce registre. Pour pirater ce dernier, il faut donc réussir à pirater plus de la moitié des utilisateurs (ou plus techniquement réunir une puissance de calcul permettant d’être plus rapide qu’un grand nombre de ces utilisateurs). Dans une blockchain normale, c’est la puissance globale de la moitié de tous les mineurs qu’il faut surpasser, ce qui est maintenant impossible pour le bitcoin ou l’ethereum vu l’énorme puissance que ça représenterait. Pour IOTA c’est un peu différent, vu qu’il n’y a pas de mineurs, le système devient de plus en plus sécurisé avec le taux de transactions qui y sont postées. Au début du projet (donc toujours à l’heure actuelle) ce taux est insuffisant pour garantir que personne ne pourra réunir suffisamment de puissance pour truquer le registre et ainsi pirater le Tangle. 

Pour contrer cela, le coordinateur a été mis en place par la fondation. Ce serveur particulier émet des transactions appelées milestones (ou bornes en francais). Toutes les transactions validées directement ou indirectement par ces milestones sont considérées comme valides par les autres serveurs du Tangle. Notons cependant que les autres serveurs vérifient que le coordinateur ne confirme pas n’importe quoi et que ce qu’il valide est bien juste. Cela permet donc un bon contrôle et garantit donc une certaine forme de décentralisation. 

Quand pourra-t-on retirer le coordinateur ?

Pour retirer le coordinateur, les développeurs doivent être certains que le Tangle soit suffisamment sécurisé par le volume de transactions émises. C’est donc un problème extrêmement difficile à résoudre. De nombreux mathématiciens, ingénieurs et développeurs travaillent d’arrache-pied afin de déterminer le moment où le coordinateur pourra être retiré avec 100% de certitude quant à la sécurité du Tangle. Ils espèrent que ce moment fatidique arrivera avant la fin 2018.  

En attendant, la fondation cherche a développer d’autres moyens d’utiliser le coordinateur afin de rendre le réseau plus décentralisé. Ainsi avant l’arrêt complet du Coo, on devrait voir apparaître une version décentralisée, ce qui ferait que plusieurs autres serveurs pourraient devenir à leur tour des coordinateurs et émettre leurs propres milestones. Ensuite l’idée est de réduire progressivement l’impact de ces milestones en en émettant moins et en faisant en sorte que de moins en moins de nœuds les écoutent avant d’arriver à un arrêt complet de l’utilisation de coordinateurs. 

Qu’est-ce qu’un snapshot ? Que faut-il faire ?

Le réseau IOTA véhicule un nombre très important de transactions et chaque serveur du réseau se doit de traiter et sauvegarder chacune de ces informations, ce qui conduit à des besoins en stockage sans cesse croissants. Pour éviter de devoir remplacer les disques durs sans cesse, un Snapshot (qu’on pourrait traduire par photo en français) est réalisé de temps en temps (en général tous les 2-3 mois).  

Lors d’un Snapshot, les serveurs vont « prendre une photo » du Tangle dans son état actuel et ne vont garder en mémoire que les adresses qui détiennent toujours des iotas (donc aucun iota n’est jamais perdu bien entendu). Toutes les adresses vides et toutes les transactions en elles mêmes seront effacées de leur mémoire. Les serveurs se retrouvent alors avec un registre basique qui contient toutes les adresses et les fonds qui y sont associées. Les opérations normales peuvent alors reprendre et le Tangle se remet a grandir jusqu’à ce qu’un prochain snapshot soit requis. 

A l’heure actuelle, les snapshots sont coordonnés par la Fondation IOTA, mais à l’avenir chaque serveur pourra décider de réaliser un snapshot local quand et comment il l’entend (pour autant qu’il garde au minimum toutes les adresses contenant des iotas). 

Le procédé actuel se fait en trois étapes : 

  1. La fondation prépare le registre épuré du snapshot ; 
  2. La communauté des opérateurs de serveurs vérifie si le registre du snapshot correspond bien à ce qu’ils ont dans leur copie du Tangle, que les adresses ont bien le bon solde et qu’aucun iota n’est manquant ; 
  3. Une fois un consensus obtenu sur les données du snapshot, la fondation donne le feu vert aux opérateurs des serveurs pour se mettre à jour et redémarrer sur base de ce snapshot. 

En tant que simple client, vous n’avez rien de particulier à faire durant un snapshot. Il est cependant possible que vous expérimentiez certains ralentissements du Tangle ou que certaines transactions en attente de confirmation disparaissent purement et simplement (dans quel cas, les iotas ne bougeront jamais l’adresse d’origine et il faudra refaire la transaction après le snapshot comme si elle n’avait jamais eu lieu). Il est également possible que suite à un snapshot votre portefeuille LightWallet vous indique une balance nulle. Pas d’inquiétude, vos iotas ne sont pas perdus ! Ce léger désagrément émane simplement d’une caractéristique du portefeuille en lui même (il n’a pas de mémoire). Pour récupérer la balance correcte, il suffit de générer et rattacher des adresses sous l’onglet «recevoir » jusqu’à ce que le portefeuille affiche à nouveau la balance correcte. Plus d’infos dans notre article sur le dernier snapshot

C’est quoi un snapshot local ?

Un snapshot local est un snapshot mais décidé uniquement par un serveur et non pas par la fondation. Ce développement est nécessaire car dans sa forme actuelle, un snapshot est fort disruptif (tous les serveurs le réalisent en même temps, le Tangle ralentit fortement durant ces périodes, etc.) et le fait que ce soit systématiquement la fondation qui en soit à l’origine fait que le processus n’est pas très décentralisé. 

Les snapshot locaux ne sont actuellement pas encore possibles, mais la fondation travaille activement à leur développement. 

C’est quoi un serveur permanant (permanode en anglais) ?

Un serveur permanant est un serveur IOTA qui ne fait jamais de snapshot et garde toujours la totalité des transactions en mémoire. Comme vous-vous en doutez, ce genre de serveur nécessite un volume de stockage faramineux. Il n’y a à l’heure actuelle aucun permanode réel en marche (plusieurs opérateurs de serveurs ont malgré tout une copie des anciens snapshots dans leurs serveurs, mais elle n’est pas reliée au Tangle actuel).  

On peut raisonnablement imaginer que les ressources nécessaires à l’élaboration d’un vrai permanode entraineront l’émergence de nouveaux business modèles, afin de rétribuer le service offert par ces serveurs. 

Pourquoi IOTA utilise le système ternaire ?

Le système de représenation binaire est actuellement utilisé par pratiquement tous les ordinateurs de la planète. Cependant plusieurs papiers scientifiques ont déjà démontré qu’un système basé sur la représentation ternaire pouvait entrainer une meilleure efficacité (et donc réduire la consommation éléctrique des objets l’utilisant par exemple) et une meilleure représentation des nombres négatifs au sein des systèmes informatiques.  

Les développeurs de IOTA pensent donc que les divers avantages du ternaire vont pousser les fabriquant d’objets connectés à insérer certains éléments ternaires dans leurs systèmes afin de gagner en efficacité. C’est donc un choix de design assez réfléchi et qui, s’il s’avère payant, permettrait de gagner une avance considérable sur tous les autres systèmes. 

IOTA peut-il fonctionner sans matériel ternaire ?

Oui bien entendu. C’est actuellement ce qui se passe d’ailleurs. Les programmes qui fonctionnent avec IOTA doivent juste à l’heure actuelle ajouter une étape de conversion des données du système binaire vers le système ternaire.  

La fondation IOTA travaille cependant actuellement sur l’élaboration d’une puce dédiée aux opérations ternaires (JINN) dans l’optique que celle-ci soit intégrée à tous les objets connectés dans le futur. Malheureusement peu d’infos sont disponibles sur cette technologie vu les différents accords de confidentialités qui entourent un projet de cette importance. 

C’est quoi une marche aléatoire de Monte-Carlo ?

Pour faire simple, la marche aléatoire de Monte-Carlo est la méthode statistique qui est utilisée pour trouver les extrémités du Tangle à valider pour poster une nouvelle transaction. 

Acutellement le processus de sélection des extrémités se fait comme suit : 

  1. Un « marcheur » est intialisé à une certaine profondeur dans le Tangle, 
  2. Le marcheur remonte alors , transaction par transaction, vers les extrêmités en ayant une plus grande probabilité d’aller vers les transactions qui ont un poids plus élevé (c’est ce processus qui se fait selon des règles mathématiques bien précises qui est appelé marche aléatoire), 
  3. Une fois l’extrémité atteinte, le marcheur redescend et recommence pour trouver la seconde extémité. 

Pourquoi ne peut-on pas réutiliser plusieurs fois les adresses ?

Lors de la signature d’une adresse en utilisant le procédé des signatures de Winternitz, la moitié de clé privée de votre adresse est révélée publiquement. Vu que cette clé est très longue, ce n’est pas un problème, il est toujours pratiquement impossible de déterminer l’autre moitié par force brute. Si toutefois vous récupérez des iotas sur cette même adresse et que vous refaites un transfert, une autre partie de la clé privée est révélée (pas nécessairement la même que lors de la première signature). Si vous n’avez pas de chance, ces deux parties se recoupent peu et il manque juste quelques caractères pour pouvoir détenir la clé complète. Ainsi si vous recevez encore une fois des iotas sur cette adresse, un pirate pourra facilement trouver les caractères manquant par force brute et dérober le contenu de votre adresse à votre insu. C’est pour ça qu’il ne faut en aucun cas réutiliser la même adresse. En principe le portefeuille vous donne un message d’erreur « réutilisation d’adresse » lorsque vous tentez de le faire afin de vous empêcher de commettre cette erreur. 

Notons toutefois que si vous avez par exemple 10i sur votre adresse et que vous envoyez 6i à Alice, votre portefeuille va automatiquement déplacer les 4i restant vers une nouvelle adresse qui vous appartient afin d’éviter justement que le solde restant n’encoure le risque d’être dérobé. 

La non-réutilisation d’une adresse n’est obligatoire que pour les adresses qui servent à envoyer. Vu que la réception de iotas n’entraine jamais de signature de votre part, vous pouvez sans souci recevoir plusieurs fois des iotas sur la même adresse. Mais dès que vous effectuez un transfert de ces iotas, alors là il devient indispensable d’utiliser une nouvelle adresse de réception par la suite. 

Comment les adresses sont-elles générées ?

Les seed, clés privées et adresses sont différents éléments de ce qu’on appelle la cryptographie asymétrique. Les adresses sont publiques et peuvent être distribuées à tout le monde, mais les clés privées sont uniquement connues de leur propriétaire. La cryptographie asymétrique se base sur des fonctions de hashage qui ont la particularité de ne fonctionner que dans un sens (asymétrique). Elles  permettent de calculer une adresse sur base d’une clé privée, mais jamais l’inverse. La fonction de hashage utilisée par IOTA s’apelle Curl et les clés privées et adresses en lien avec votre seed sont générées par le portefeuille de manière simple, déterminée et toujours identique. 
Lorsque vous entrez votre seed dans le portefeuille, celui-ci va utiliser la fonction Curl sur cette seed et un numéro d’indice, la réponse de cette fonction sera une clé privée. En utilisant une nouvelle fois Curl sur cette clé privée, on obtient alors l’adresse qui y est liée. Les adresses suivantes sont générées de la même manière, en incrémentant l’indice ajouté à la seed lors du premier hashage. 

Comment fonctionnent les signatures ?

Lorsque vous recevez des iotas sur une adresse (appelons-la l’adresse A), votre portefeuille ne fait aucune opération particulière, c’est celui de l’envoyeur qui fait tout le travail et qui signe la transaction. Vous pouvez donc sans risque recevoir plusieurs fois des iotas sur une même adresse sans en changer. 

Une fois que vous voulez vous-même envoyer des iotas, votre portefeuille va devoir signer la transaction permettant le transfert des iotas de votre adresse vers celle du destinataire. Sans rentrer dans les détails, la méthode de signature choisie par IOTA (Winternitz One-Time Signature) afin d’assurer une résistance aux ordinateurs quantiques a un point négatif important. Lors d’une signature en IOTA, une partie de la clé privée (ce qui sécurise donc l’adresse d’où émane le transfert) est révélée. Cette partie est en général équivalente à 50% des caractères de la clé, choisis aléatoirement. Ce mécanisme entraine donc qu’à chaque signature d’un transfert d’une même adresse, vous diminuez sa sécurité. Lors de la première signature une première moitié est révélée aléatoirement, puis si vous refaites une signature, une autre partie aléatoire de la clé est révélée et ainsi de suite. Techniquement, même après une signature, il est pratiquement impossible de trouver l’autre moitié de la clé (il reste environ 27^40 possibilités). Par contre après une seconde signature, si vous n’avez pas de chance il est possible que presque toute la clé ait été révélée. A ce moment, ça devient assez simple pour un hacker de trouver les derniers caractères de votre clé par force brute et ainsi accéder aux iotas qui seraient à nouveau déposés sur cette adresse à l’avenir. 

En conclusion, après un transfert, il faut systématiquement générer une nouvelle adresse de réception dans l’onglet « recevoir » du portefeuille et transmettre cette adresses aux personnes qui voudraient alors vous faire un versement. 

C’est quoi les signatures de Winternitz ?

La signature de Winternitz est la méthode cryptographique qui permet de signer une transaction (de certifier que vous êtes bien l’auteur des iotas que vous voulez envoyer). Contrairement à la méthode par courbes elliptique (ECC), cette méthode est connue pour être incrackable et également résistante aux ordinateurs quantiques. Cependant, lors d’une signature, une partie de la clé privée de l’adresse d’où émane la transaction est révélée (de l’adresse pas de la seed). Il est donc important de ne plus réutiliser cette adresse par la suite.