Ict: Le futur de IOTA

iota ict

La version 0.4 d’Ict vient d’être publiée par la fondation. Ce nouveau projet devrait servir de base pour la transition de IOTA de l’internet vers l’Internet des Objet.

Le développement d’Ict 

Ict (à prononcer « Ickt ») pour Iota Controlled agenT est un projet expérimental de la fondation IOTA. Come-from-Beyond a débuté son implémentation dans la seconde partie de l’année. Puis en décembre, la fondation s’est réorganisée en deux grands départements : Alpha et Omega. Le premier est en charge de la version actuelle de IOTA (IRI notamment), la seconde s’occupe des projets de recherche Qubic, groupements économiques  et Ict.  

Microhash, une des dernières recrues de la fondation, a donc pris pour mission de poursuivre le développement d’Ict. Depuis décembre il poursuit les développements à un rythme incessant, de nouvelles fonctionnalités s’ajoutant quasi chaque semaine. 

Omega-Ict 

L’idée derrière Ict est de réaliser un système IOTA capable de tourner de lui-même sur des objets très limités en ressources. En effet, l’implémentation actuelle des nodes IOTA (IRI) nécessite beaucoup de ressources pour fonctionner correctement. Elle n’est donc pas adaptée aux objets connectés, à l’internet des objets, aux petits systèmes très limités en puissance, etc. 

Concrètement, Ict est un programme extrêmement basique, qui pourra être étendu par des modules supplémentaires. Pour l’instant, il ne fait que transmettre des « messages » au sein d’un réseau pair-à-pair. Bien entendu, ces messages sont écrits dans le format des transaction IOTA. Comme pour IRI, ils peuvent donc représenter des transferts de fonds, des messages textes ou encore les données de capteurs. Ce système de transmission est déjà implémenté à l’heure qu’il est. 

Les autres parties d’Ict sont toujours en cours de développement. Il s’agit de  

    • IOTA eXtension Interface (IXI) : qui permet d’ajouter de façon extrêmement simple de nouvelles fonctionnalités à Ict. Cette partie est déjà fonctionnelle et presque finalisée. Plus d’infos plus loin dans l’article. 
    • Le fonctionnement en essaim : les Ict pourront s’ajuster entre eux pour partager des tâches trop complexes pour être réalisées individuellement. Il sera par exemple possible de stocker un gros fichier sur Ict, et les différents appareils se le partageront et stockerons chacun une partie (avec de la redondance). 
    • Les groupements économiques : Ce sera l’unique consensus intégré à Ict. Ceux qui le désirent pourront ajouter d’autres mécanismes de consensus (un coordinteur par exemple) par la suite sous la forme d’IXIs. 

Concrètement, il faut donc voir Ict comme la couche de base d’un système plus complexe. Il ne comprend que les grandes fonctions incontournables : transmission, consensus et logique d’essaim. Sa vraie puissance réside dans la modularité et la possibilité d’étendre ses capacités avec des IXIs. 

Actuellement la plupart des gens font tourner Ict sur des Raspberry pi (toutes les versions fonctionnent) ou sur des petits serveurs gratuits (google-f1-micro). Le Tangle créé par ces Ict n’est qu’un testnet, isolé du « vrai » Tangle et incompatible avec celui-ci. Cela permet d’éviter les problèmes et de tester plus aisément toute une gamme de fonctionnalités. Quand l’ensemble du code d’Ict sera fini et sécurisé, le « vrai » Tangle actuel sera rendu compatible avec celui d’Ict. Vu qu’Ict est en quelque sorte la version finale de la vision de la Fondation, il est logique que ce soit le Tangle actuel qui soit rendu compatible et non l’inverse. Vu que le Tangle d’Ict possèdera les mêmes propriétés que le vrai Tangle, chaque module implémenté sur lui pourra tirer profits des avantages des systèmes distribués. Ils seront donc immuables, permanents, incensurables, robustes, … 

Les modules IXI 

Les extensions permettent d’ajouter des modules à Ict, afin d’augmenter les capacités des appareils sur lesquels il fonctionne. Ces systèmes tourneront par-dessus Ict et leur fonctionnement se reposera sur Ict pour la transmission des données. On pourrait donc créer n’importe quelle application et un IXI qui va avec. L’appli peut être installée sur votre smartphone, et l’IXI sur votre Raspberry qui fait tourner Ict. Les actions prises par l’appli seront donc communiquées à l’IXI qui les traduira en transactions IOTA standard pour qu’Ict se charge ensuite de les transmettre au réseau. Et dans l’autre sens, l’IXI pourra lire les transactions sur le réseau Ict et récupérer celles qui lui correspondent pour qu’ensuite elles soient affichées dans l’appli mobile. 

ict iota chat

Quelques exemples d’IXI permettront d’y voir plus clair au sujet des possibilités qu’ils offrent. 

    • Une IXI peut gérer le stockage des transactions sur les nodes. On pourrait donc avoir des nodes qui stockent uniquement quelques minutes, ou des permanodes qui stockent l’ensemble des transactions indéfiniment. Vu le coté modulable, il sera possible d’optimiser ce stockage avec le type de base de données qui convient le mieux à chaque application. 
    • Une IXI pourrait se charger de transmettre des données venant du système sur lequel tourne Ict. Si Ict tourne par exemple sur une montre connectée, cet IXI pourrait transmettre les battements cardiaques sur le réseau de manière autonome. Comme la montre n’a pas besoin de retenir les autres transactions, elle n’a pas besoin de l’IXI stockage, ce qui l’allège considérablement. 
    • Une IXI pourrait permettre d’héberger des sites webs de manière décentralisée contre un paiement. Le code du site serait découpé et stocké de manière permanant sur les Ict participants. Ces Ict se verraient récompensés par des IOTAs pour l’espace de stockage qu’ils bloquent pour le site. En utilisant la logique d’essaim d’Ict, le site serait réparti de manière redondante assurant une bonne efficacité et un accès fiable au service. 

IXI disponibles 

Afin de prouver le système, la fondation a développé chat.ixi. Avec ce concept, tous les membres du réseau qui installent cet IXI peuvent communiquer entre eux. Les messages sont des transactions et les différents salons de chat sont des adresses auxquelles sont envoyées ces transactions. Le module se charge donc de lier correctement les transactions aux adresses et d’afficher les messages des différents salons. Ça parait un peu futile à premier vue, mais il ne faut pas oublier que les transactions obéissent aux règles du Tangle. Dès lors, elles en ont toutes les propriétés. Les messages du chat sont donc parfaitement immuables et il est impossible de les modifier ou les effacer. De même, comme le réseau est distribué, on ne peut pas simplement fermer un serveur pour couper le système. Le chat est donc un système impossible à censurer et qui retient tous les messages qui y sont postés. 

Une autre IXI a également été développée par la communauté : report.ixi. Son rôle est de fournier des statistiques sur les différents nœuds du réseau et de fournir un accès à ces statistiques. Les nœuds qui l’utilisent envoient donc régulièrement leur état le statut de leurs connexions aux autres nœuds. Ces données peuvent alors être utilisées pour avoir une visualisation globale du réseau, ce qui permet de voir rapidement si les nœuds sont bien interconnectés et si les transactions s’y propagent correctement. Il offre également la possibilité de créer des simulations avec la vraie topologie du réseau pour faire des tests de manière isolée. C’est donc extrêmement utile pour les développeurs de la fondation ou les différents chercheurs qui s’intéressent à Ict. 

D’autres IXI sont déjà en cours de développement par la communauté. Un premier permet par exemple d’envoyer un mail ou une notification lorsque le nœud à un problème (qu’il ne reçoit plus de transactions par exemple). Un autre IXI offre la possibilité de créer des IXI dans n’importe quel langage de programmation. Chaque jour de nouvelles idées fleurissent au sein de la communauté et de nouvelles IXI entrent en développement. 

Conclusion 

Ict est un projet fantastique, dont le développement se fait à un rythme effréné. En 10 jours à peine, le nombre de nodes a explosé de 30 à plus de 300 (données recueillies grâce à report.ixi). Même si le projet n’en est qu’à ses premiers balbutiements, de plus en plus de développeurs s’y intéressent. Chaque jour, des IXI entrent en développement et de nouvelles idées surgissent de la part de la communauté. 

À terme, Ict a pour vocation d’être la seule implémentation de IOTA (IRI pourra être re-créé en combinant une suite d’IXI à Ict). Si la vision de IOTA se réalise, il sera la base et le standard employé dans chaque communication de l’Internet des Objets. 

Les développeurs font tout leur possible pour rendre Ict facile d’utilisation par des gens qui n’y connaissent rien en programmation. A partir de la version 0.4, une interface web permet de tout paramétrer, d’installer des IXI, etc.
Nous posterons dans les jours qui viennent un guide pour installer Ict sur une Raspberry, afin que vous puissiez vous aussi nous rejoindre dans l’aventure.

Laisser un commentaire