Qu’est-ce qu’Internet Node Token (INT) ? — Le White Paper, digéré

INTChain French Community
INTChain French Community
16 min readJul 1, 2019

Cet article est une traduction amateure de l’excellent article de Graytrain dont vous pouvez consulter la version originale ici. C’est donc Graytrain qui s’exprime ici, et toutes les phrases à la première personne lui sont attribuées.

INT: Une solution axée sur l’économie pour améliorer l’interconnexion des appareils de l’Internet des objets

Ceci est basé sur le white paper INT version 2 publié en avril 2018.

Le white paper d’INT est plutôt technique et de haut niveau. Il incombe au lecteur de comprendre la technologie afin de prendre conscience des implications de la solution IoT proposée. J’ai donc pensé que ce serait une bonne idée de le décomposer pour le reste d’entre nous qui ne passerons pas des heures à chercher la signification des termes employés.

Cet article n’est pas rédigé dans le même ordre que les catégories abordées dans le white paper, mais il a été réorganisé en un flux qui me semble tout à fait logique.

La technologie de la blockchain a fait ses preuves dans le domaine de la finance et dans d’autres domaines, mais nous pensons que sa meilleure utilisation est dans le domaine de l’Internet des Objets. À l’heure actuelle, le développement actuel de l’IoT pose plusieurs problèmes…

La mise en œuvre de la blockchain dans le domaine de l’IoT présente quelques inconvénients, notamment le logiciel développé sans penser au matériel à prendre en compte, qui pousse les fabricants de matériel à se conformer aux conceptions du logiciel. INT a adopté l’approche du logiciel conçu à partir du matériel. Permettre aux dispositifs existants et à la direction prise par l’écosystème IoT tel qu’il est actuellement défini de définir les bases du réseau tout en y associant les besoins du futur écosystème IoT.

INT se rend compte que pour réussir dans le domaine de l’Internet des objets, il faut trouver des solutions aux problèmes suivants.

  • Absence de standards avec le matériel, le protocole de communication, le partage et le stockage des données. S’il n’y a pas de langage standard ni de stockage de données standard, aucune communication croisée ou utilisation de données ne sera possible. Cela crée également une centralisation, car les données sont hébergées sur les serveurs des fabricants.
  • Inefficacité dans la manière dont les périphériques IoT interagissent avec le réseau. Dans les appareils IoT actuels, la connexion et l’authentification sont effectuées via des systèmes dans le cloud. Ce cadre est lent, utilise beaucoup de ressources et n’est pas adapté aux besoins futurs des dispositifs IoT.
  • Le coût de ce modèle avec des serveurs cloud pour les données, des serveurs centralisés volumineux pour l’informatique et les périphériques réseau est élevé. Avec un potentiel de plusieurs dizaines de milliards d’appareils, ce modèle est très coûteux.
  • La sécurité des systèmes centralisés offre un point de vulnérabilité pour de grandes quantités de données, quel que soit le problème de sécurité affectant l’ensemble du réseau.
  • La protection de la confidentialité est confiée aux systèmes centralisés. Ces appareils pourraient potentiellement transmettre toutes nos informations privées et nous devrions donc exiger des normes de confidentialité rigoureuses.

INT utilise cela comme points principaux à partir desquels ils cherchent à construire un réseau IoT. À partir de cela, ils définissent plus en détail les qualités qui permettraient de remédier aux problèmes observés et créent un réseau IoT pérenne.

Un nombre considérable d’appareils connectés à ce réseau, des ampoules électriques au réfrigérateur en passant par la voiture, transiteront de manière autonome au sein d’un réseau de plus en plus vaste, créant ainsi un monde intelligent et transparent de transmission de données. Le réseau doit pouvoir prendre en charge une multitude d’utilisations et d’applications. Les appareils doivent pouvoir interagir avec les données, entre eux et avec les autres réseaux. La sécurité du réseau doit être décentralisée, résistante aux intentions malveillantes et permettre une grande flexibilité. Enfin, les fabricants et les développeurs doivent pouvoir créer facilement des périphériques pour le réseau.

En bref, la fondation du réseau doit prendre en charge:

-Scalabilité — Comment peut-il s’adapter ?

-Applicabilité — A-t-il une capacité d’opérer des transferts de données, des transactions rapides et économiques, des contrats intelligents, confidentialité ?

-Interopérabilité — Peut-il communiquer avec le monde extérieur, les autres blockchains ?

-Consensus — At-il la possibilité d’implémenter un consensus d’une manière qui permette l’évolutivité et l’applicabilité ?

-Développement — Sera-t-il facile pour les fabricants de développer des périphériques et d’interagir avec le réseau ?

Pour une explication plus détaillée des points ci-dessus, ainsi que des informations plus détaillées sur la comparaison des projets, voir cet article.

Dans cette structure, les utilisations et les dispositifs, existants et futurs, constituent les fondements qui définissent les besoins du réseau. En fin de compte, vous ne réussirez pas dans ces objectifs, sauf si vous collaborez avec les fabricants pour normaliser et définir les exigences, puis créer un réseau pour le prendre en charge.

1. Architecture du système

INT utilisera un cadre multi-chaînes hétérogène comprenant une chaîne principale, «Thearchy», qui servira de point d’ancrage, reliant plusieurs sous-chaînes et relayant des informations entre elles [Fig. 1].

Chaque sous-chaîne aura une fonction spécifique, qu’il s’agisse d’un réseau d’un type de périphérique spécifique, d’une chaîne de stockage de données sans état, d’une sous-chaîne basée sur un contrat intelligent, d’une sous-chaîne avec des transactions rapides et gratuites, d’une sous-chaîne avec des transactions privées ou d’une autre utilisation spécifique. Celles-ci pourront toutes communiquer entre elles via la chaîne Thearchy, créant ainsi un réseau de sous-chaînes, une blockchain de blockchains.

Fig. 1 Architecture du réseau INT

Des sous-chaînes peuvent également être ajoutées au réseau avec la simple addition de nœuds pour les prendre en charge, sans nécessiter de hard fork ou de mises à jour coûteuses du réseau. Chaque sous-chaîne aura la possibilité de définir ses propres besoins et fonctionnalités, sans imposer de contraintes à l’ensemble du réseau. Cette facilité d’ajout de sous-chaînes permet une mise à l’échelle infinie avec une charge réseau minimale.

Ce cadre permet d’ajouter relativement facilement d’autres réseaux au réseau, qu’il s’agisse de chaînes de blocs existantes telles que Bitcoin, Ethereum, Zcash ou d’autres réseaux tels que des serveurs de données ou le réseau Internet, avec l’ajout de nœuds relais ou de type oracle.

Comme ces sous-chaînes sont parallèles à la chaîne Thearchy, les problèmes au sein de ce réseau, tels que l’encombrement des transactions, sont séparés de cette sous-chaîne sans affecter l’ensemble du réseau.

La chaîne Thearchy aura intrinsèquement très peu de fonctionnalités. Il existera principalement en tant que générateur de blocs et relanceur pour les sous-chaînes et la communication chaîne à chaîne.

Noeuds

Il y aura trois niveaux de nœuds dans le réseau, les nœuds Thearchy (chaîne principale), les supernodes (il n’est pas clair pour le moment si les nœuds Thearchy (méta) et les supernodes seront combinés en terme de fonction) et les nœuds de sous-chaîne inférieure, avec chaque nœud de sous-chaîne ne gérant que la vérification des transactions de sa chaîne. Toutes les vérifications plus importantes, les consensus à grande échelle et les communications chaîne à chaîne seront gérées par les niveaux de nœud Supernode et Thearchy [Fig. 2].

Fig. 2 Noeud de chaîne INT et structure de communication

Chaque super-nœud du réseau tiendra donc à jour un tableau avec les services logiciels et les spécifications sur la manière d’interagir avec chaque sous-réseau donné tout en fonctionnant comme une couche d’abstraction pour le matériel situé en dessous. Cela permettra aux périphériques et aux nœuds situés en dehors de cette sous-chaîne d’interagir avec les périphériques ou les services de cette sous-chaîne sans qu’il soit nécessaire de le programmer pour chaque chaîne ou type de périphérique. Des traducteurs pour périphériques de cette sous-chaîne, pour ainsi dire.

Cette communication nœud à nœud peut consister à demander de la puissance de calcul, les données de réseaux ou de périphériquex, à exécuter une transaction ou un contrat intelligent sur cette chaîne ou un autre service en échange d’un paiement. Comme un noeud sur le marché de négociation de noeud.

Les nœuds peuvent être des nœuds de type serveur traditionnels avec une capacité de calcul élevée ou des périphériques de type STM32 tels que Raspberry Pi ou Arduino pour une gestion de transaction simple. Les nœuds de serveur principaux peuvent être utilisés pour l’informatique en brouillard ou le machine learning, ainsi que pour la vérification des transactions et la coordination des transactions entre chaînes.

Consensus

Le mécanisme de consensus doit être capable de gérer un gros volume de transaction à partir d’une grande variété de types de transaction et ne doit donc pas être soumis aux mêmes points de défaillance que les structures de consensus actuelles.

Pour résoudre ce problème, INT utilisera une structure DPoS BFT à deux niveaux comme noyau de son nouvel algorithme de consensus à double chaîne. Ceci séparera la validation des transactions au niveau de la sous-chaîne de la charge de calcul associée à la génération de blocs et transmettra les données à la chaîne Thearchy pour la création de blocs [Fig. 3]. Cela permet aux sous-chaînes d’être indépendantes de la vitesse de génération des blocs, ce qui permet un débit transactionnel fluide.

Fig. 3 Structure de fonctionnement de la chaîne INT

Lorsque les sous-chaînes collectent et vérifient les transactions, à l’aide d’un DPoS BFT plus léger et plus rapide, elles sont transmises aux supernodes qui le vérifient ensuite à l’aide d’un DPoS BFT plus rigoureux au sein du pool de supernodes. Une fois le bloc haché, il est ajouté à la chaîne Thearchy et diffusé jusqu’à la sous-chaîne à laquelle il se rapporte.

Les super-noeuds du groupe de producteurs de blocs seront votés lors d’une élection de masse par les utilisateurs en opérant un staking de vos tokens comme un vote de confiance. Le Supernode sélectionné pour créer un bloc donné sera choisi au hasard dans le pool et récompensé pour le travail effectué. (Encore à confirmer: comme d’habitude dans ces structures maître / super-noeud, afin d’encourager la participation au réseau et au vote, les utilisateurs qui votent sont récompensés d’une partie de la récompense du noeud proportionnelle à la quantité de pièces misé. Cela signifie une récompense au bloc pour toute personne qui détient des tokens et vote ou qui maintient un nœud. Les conditions actuelles de staking pour être Supernode et la structure de récompense ne sont pas connues.)

C’est à partir de là que les supernodes vont transférer les transactions entre chaînes à d’autres supernodes.

Par cette conception, la chaîne Thearchy sera une blockchain avec chaque bloc appartenant à une certaine sous-chaîne [Fig. 4]. Les transactions de sous-chaînes ne seront pas mélangées au sein des blocs. Chaque en-tête de bloc aura un identifiant spécifiant à quelle sous-chaîne il appartient. Cela permettra aux nœuds de la sous-chaîne d’extraire rapidement l’historique des transactions de la chaîne Thearchy sans qu’il soit nécessaire de stocker l’intégralité de la blockchain. Cela réduit considérablement la capacité de stockage nécessaire pour constituer un nœud, ce qui permet aux plus petits périphériques IoT de devenir des nœuds de validation au sein du réseau.

Fig. 4 Structure de la blockchain de Thearchy

Pour en savoir plus sur cette architecture, consultez ce post.

2. Economie des tokens et monétisation des ressources

Économie des tokens

INT sera une structure de token à deux niveaux (comme Neo), le token INT fonctionnant comme un partage du réseau INT. INT ne sera pas utilisé dans les rémunérations au sein du réseau IoT, car le règlement des transactions ou des opérations doit avoir un système de mesure de la valeur stable pour évaluer le coût de fonctions données. INT utilisera donc un système de gaz très similaire à Ethereum, qui établit les coûts du gaz pour une fonction donnée et le gaz payé au-dessus est facturé en récompense pour l’extraction (utilisé comme droit de priorité de transaction). Ces fonctions seront réparties dans les groupes suivants:

  • Type de prix — payer le prix du marché pour une ressource
  • Type de mesure — payez en fonction du temps, des données ou d’une autre mesure
  • Type d’enchère concurrentielle — enchère pour l’utilisation des ressources, tarifée à la demande
  • Coût par achat — Payer en fonction de l’utilisation finale de la ressource

Cela sera davantage détaillé au sein de ces sections car les contrats intelligents impliqués dans l’exécution de ces transactions seront plus complexes.

Rapport de travail

Nous ne pouvons pas ajouter de fonctionnalités aux périphériques existants, mais nous pouvons créer un réseau qui prend en charge et encourage le partage de données, de périphériques et de ressources.

Compte tenu de la structure de consensus, aucun nœud de validation ordinaire ni aucun appareil IoT ne serait capable de générer des blocs et n’aurait donc aucune incitation économique à participer. Pour encourager le partage des données et la participation des noeuds d’appareils IoT au réseau, INT crée un calcul de paiement de salaire distinct des récompenses de comptabilité traditionnelles. Grâce à cette structure de rapport de travail, les appareils IoT peuvent gagner un «salaire» en fournissant des données et des fonctions au réseau.

Cela se fera dans un type de transaction spécifique où les périphériques IoT regroupent les détails du travail effectué dans un rapport périodique envoyé aux nœuds Thearchy. Au cours d’une période donnée, tous les périphériques IoT du réseau doivent signaler le travail effectué. Ceci sera entré dans un algorithme de calcul de salaire et produira un paiement basé sur le travail effectué sur chaque appareil du réseau. L’algorithme sera optimisé de manière itérative par les tendances issues du machine learning pour lutter contre la contrefaçon de données.

3. Contrats intelligents

Chaque sous-chaîne a la capacité de concevoir les exigences du sous-réseau, de la fréquence de génération des blocs de base à l’exécution de contrats intelligents plus complexes. L’utilisation d’un système de contrat intelligent basé sur une machine virtuelle complète, comme Ethereum, nécessiterait beaucoup de ressources et limiterait l’utilisation des périphériques IoT au sein de ce réseau. INT a donc créé sa propre architecture de contrat intelligente appelée INT Contract.

Basés sur le langage JavaScript bien connu et léger, ces contrats intelligents ne nécessiteront pas beaucoup de ressources, ce qui leur permettra d’être exécutés directement sur les systèmes d’exploitation des périphériques IoT, ce qui les rend plus proches des besoins en temps réel de l’écosystème.

De plus, étant basés sur JavaScript, les coûts d’apprentissage et de développement associés à l’ingénierie de ces contrats intelligents seront bien inférieurs à ceux d’un langage plus personnalisé.

4. Confidentialité

Afin de protéger la vie privée des utilisateurs, ils utiliseront leur propre algorithme de clé privée de comportement (BPK), basé sur des preuves à zéro connaissance. Celles-ci vous permettent de prouver quelque chose à un vérificateur (nœud) sans rien lui dire concernant ce que vous prouvez. Cela vous permettra, à vous ou au nœud, de partager des données ou de transmettre une transaction sans révéler votre identité ni l’origine des données. Ce système BPK utilisera également un apprentissage non supervisé, une modélisation de stratégie et une analyse du comportement de regroupement afin de mieux dissimuler les utilisateurs en regroupant des données et des requêtes similaires au système de signature en anneau utilisé par Monero.

Ce système BPK renforcera la sécurité totale en empêchant d’autres utilisateurs ou de mauvaises intentions de contrôler ou d’organiser des attaques contre un utilisateur, un appareil ou un groupe d’appareils spécifique.

5. Données du monde réel et interopérabilité

Oracle

Avoir un écosystème IoT sans la possibilité d’utiliser ou d’interagir avec des données du monde réel en dehors du réseau paralyse considérablement les capacités du réseau. Il est facile d’imaginer des scénarios dans lesquels les contrats intelligents nécessitent des données externes pour remplir toutes les conditions du contrat ou des appareils IoT utilisés pour mettre à jour des sites Web externes tels que la météo ou le trafic. Cela nécessite l’utilisation d’un outil automatisé agissant comme un transmetteur de données fiable entre Internet et le réseau INT pour une utilisation dans les contrats intelligents. Cet Oracle devra être décentralisé et ne pas dépendre des interactions humaines tout en permettant de lutter contre la contrefaçon de données.

Le shell INT développera des outils similaires à ceux d’Oracle qui permettront aux modules de contrat intelligents d’interroger des logiciels ou du matériel pour obtenir des données hors du réseau INT.

L’interopérabilité

L’interopérabilité définit la capacité de chaque réseau de sous-chaîne à interagir avec un autre réseau de sous-chaîne. Au sein du réseau INT, les sous-chaînes peuvent définir leurs propres actifs / jetons à utiliser dans ce sous-réseau. Il peut s’agir d’un jeton d’échange de valeur, tel que Bitcoin ou Zcash, ou d’un jeton de propriété qui s’appliquerait aux actifs / périphériques de ce réseau. Il peut arriver que vous souhaitiez vendre vos données dans une sous-chaîne et être payés sur une autre via une devise privée et anonyme, ou un contrat intelligent reposant sur des données de plusieurs autres sous-chaînes.

Le protocole d’interopérabilité entre les chaînes d’INT sera défini en deux parties: le protocole d’échange d’actifs entre chaînes et le protocole de transaction distribuée entre chaînes.

  • Échange d’actifs inter-chaînes: semblable à ce que beaucoup appellent «échanges atomiques», l’échange inter-chaînes d’actifs permettra une transaction sur une chaîne pour faciliter une transaction sur une autre. Il peut s’agir d’une simple lecture d’un appareil IoT déclenchant un autre appareil sur une autre sous-chaîne, une transaction d’un jeton à un autre (par exemple, Bitcoin pour Zcash), des données d’une chaîne pour un jeton sur une autre (c.-à-d. transfert de propriété d’actifs pour paiement, ou toute transaction entre 2 sous-chaînes. Ces transactions peuvent être effectuées entre des sous-chaînes au sein du réseau INT ou par une sous-chaîne vers un réseau extérieur (Bitcoin, Ethereum, Zcash, etc.) en utilisant les nœuds de relais INT.
  • Protocole de transaction distribuée inter-chaînes: il s’agit de l’utilisation de plusieurs sous-chaînes contribuant aux étapes d’un contrat intelligent. Il s’agit d’une extension du protocole Asset Exchange dans lequel une transaction simple est remplacée par un contrat intelligent nécessitant l’entrée de plusieurs autres sous-chaînes pour pouvoir être exécuté. C’est ce qui permettra d’agir à plus grande échelle en fonction de scénarios réels, par exemple, votre GPS signalant qu’il se dirige vers votre domicile, les capteurs de température de votre domicile activant votre appareil de chauffage pour qu’il atteigne la température souhaitée en fonction de la météo et de la théière pour que l’eau soit prête à votre retour chez vous. Ces contrats intelligents entre chaînes deviendront de plus en plus complexes à mesure que la diversité des réseaux et des sous-chaînes se développera pour devenir le réseau de contrats intelligents des DAPP sur lesquels l’écosystème IoT est basé.

6. Protocole de communication

L’architecture P2P INT utilisera DHT pour organiser les nœuds de réseau et utilisera les protocoles TCP / IP et UDP / IP comme base de leurs protocoles de communication. Cela permettra aux appareils IoT de s’intégrer de manière transparente au réseau INT, même dans des environnements de connexion très mobiles ou défectueux.

Les réseaux DHT sont des réseaux décentralisés de tables de hachage distribuées. Ils sont utilisés comme tables de recherche pour les paires de clés afin que les nœuds puissent extraire efficacement les valeurs associées à une clé donnée. Cela peut être utilisé pour maintenir une liste d’adresses de nœuds et de clés publiques (nœuds Thearchy, supernodes), de périphériques IoT et de leurs clés associées, ainsi que de systèmes de fichiers distribués et de partage d’informations entre homologues. Ce sera la clé de voûte du réseau de nœuds et du transfert des informations du périphérique IoT.

TCP / IP et UDP / IP sont les deux protocoles utilisés pour l’envoi de paquets de données via Internet. TCP est le protocole le plus utilisé sur Internet et concerne la fiabilité de la transmission des données. Il repose sur un système de poignée de main et de vérification des erreurs, au détriment de la complexité et des contrôles fastidieux de la connexion et de la validité des données. Ceci est très utile dans de nombreux cas, mais pose des problèmes lors de l’utilisation d’appareils très mobiles se connectant au réseau (téléphones, véhicules) et d’appareils dans des environnements de connexion défectueux.

UDP est un protocole beaucoup plus léger, utilisant le même paquet de données mais rejetant toutes les vérifications d’erreurs et les communications en retour au profit d’un en-tête simple et ponctuel de données pour le nœud. Il n’y a pas de vérification pour voir s’il écoute ou s’il l’a reçu. Si le nœud le manque, le périphérique ne le renverra pas, il enverra simplement le prochain paquet, etc. C’est ce qui convient le mieux aux activités telles que la diffusion en direct et les lectures de données à volume élevé (plusieurs transactions par minute) pour lesquelles les informations manquantes n’ont pas un impact important.

L’intégration de ces deux protocoles permettra à tous les périphériques de communiquer avec le réseau et de basculer de manière transparente entre les protocoles qui conviennent le mieux à la situation.

Dans l’une des dernières mises à jour hebdomadaires, ils ont également fait allusion aux réseaux mobiles ad hoc (MANET). MANET est un réseau de périphériques mobiles auto-configurant en permanence, sans infrastructure, connectés sans fil. Ceci est beaucoup plus complexe que les réseaux ci-dessus où chaque périphérique a un chemin défini pour acheminer les données. Dans un MANET, chaque périphérique doit transférer le trafic sans rapport avec sa propre utilisation et, par conséquent, se comporte comme un routeur pour les périphériques qui lui sont connectés. Ces réseaux peuvent fonctionner seuls ou être connectés à Internet. Ils ne précisent pas leurs intentions avec ce domaine de développement, mais il a quelques applications intéressantes pour annuler l’impact des périphériques entrant et sortant de la connexion réseau en étant connectés les uns aux autres et en stockant les données de leurs pairs ou en créant un réseau de nœuds pour permettre aux nœuds de distribuer le trafic automatiquement et à d’autres réseaux plus complexes de capteurs qui commencent à agir comme une intelligence artificielle.

7. DAPPs

Avec la croissance des appareils IoT à progression géométrique et l’amélioration du niveau d’intelligence des machines, de plus en plus de DAPPs IoT à exécution automatique seront installés sur des appareils intelligents et un échange crédible et en temps réel de données et de transactions automatiques sera mise en œuvre entre les machines et entre l’homme et la machine via les DAPPs IoT distribuées.

Les DAPP INT seront essentiellement des collections normalisées de contrats intelligents inter-chaînes établis pour des fonctions spécifiques. Les fabricants peuvent créer ces DAPP pour faciliter des actions IoT “cause à effet” plus complexes sans recourir à une interaction humaine ou à un traitement centralisé. Ceux-ci peuvent également utiliser le réseau de noeuds en tant que réseau de calcul prêtant au traitement de données et à une prise de décision intelligente basée sur des données IoT en temps réel. La capacité de ces DAPP ne cessera de croître à mesure que le réseau se développe et que de plus en plus de périphériques IoT sont présents sur le réseau.

--

--

INTChain French Community
INTChain French Community

Nous détaillons ici des informations publiées par INTchain et traduites à la destination des francophones, ainsi que des articles relatifs au projet.