IoTeX présente la blockchain Pantheon au Meeting Q2 de l'IIC

The main highlight for IoTeX was our Pantheon presentation to the IIC’s Blockchain Working Group, of which IoTeX is a Co-Chair along with Amazon & Huawei. In this presentation, we explain what a consortium blockchain is, how Pantheon differs from other consortium blockchains...

IoTeX Presents Pantheon Consortium Blockchain at IIC Q2 Meeting

Le Consortium Internet Industriel (IIC) est l'un des principaux consortiums IoT au monde, composé des plus grandes organisations technologiques mondiales.

Chaque trimestre, les membres de l'IIC, qui comptent plus de 300 leaders technologiques mondiaux, se réunissent pour partager de nouvelles recherches, des cas d'utilisation et des cadres de développement de produits. Lors de la Réunion des Membres du T2 qui s'est tenue du 22 au 26 juin, IoTeX a participé à quatre sessions pour partager nos derniers travaux avec les membres de l'IIC.

Le principal point fort pour IoTeX était notre présentation de Pantheon au Groupe de Travail Blockchain de l'IIC, dont IoTeX est Co-Président avec Amazon & Huawei. Dans cette présentation, nous expliquons ce qu'est une blockchain de consortium, comment Pantheon se distingue des autres blockchains de consortium, l'architecture et la pile technologique uniques de Pantheon, et bien plus encore.

Dans le reste de ce blog, nous partageons l'enregistrement vidéo et la transcription écrite de notre présentation de Pantheon — nous espérons que vous apprécierez !

Présentation — Enregistrement Vidéo

Présentation — Transcription Écrite

Bonjour à tous ! Je suis Xinxin Fan, responsable de la cryptographie chez IoTeX. Je suis également le Co-Président du Groupe de Travail Blockchain. Aujourd'hui, je suis heureux de vous présenter Pantheon, une blockchain de consortium orientée entreprise pour l'IoT.

Comme nous le savons tous, l'IoT consiste à prendre des décisions commerciales basées sur les données collectées par des appareils intelligents. Nous avons essentiellement trois blocs ici : 1) toutes sortes d'appareils intelligents collectant des données du monde physique, 2) toutes ces données seront transférées vers un backend pour le stockage, le traitement, etc. et 3) la visualisation et l'analyse des données. La fiabilité des données est essentielle au succès de l'IoT, si les données que vous fournissez à vos clients sont fiables déterminera combien de valeur vous apportez à vos clients.

Une question naturelle est de savoir comment nous assurons la fiabilité des données dans l'IoT ? C'est un sujet très discuté depuis un certain temps dans le Groupe de Travail Sécurité ces dernières années. En bref, nous devrions introduire le concept de l'Internet des Objets de Confiance (IoTT) — en gros, nous devons couvrir l'ensemble du cycle de vie des données pour l'IoTT afin d'assurer la fiabilité tout au long de ce processus. Nous devons considérer la collecte de données, les données en transit, les données au repos, le traitement des données, ainsi que la rétention des données. Essentiellement, vous couvrirez depuis l'appareil, une fois qu'il commence à collecter des données, et sécuriserez la communication lorsque l'appareil enverra des données au backend. Stockez également les données de manière sécurisée et effectuez le traitement de manière sécurisée.

Pourquoi la blockchain est-elle importante ici ? Donc d'abord, examinons brièvement la blockchain — c'est une définition donnée par le NIST. La blockchain, comme son nom l'indique, est une chaîne de blocs et chaque bloc comprend un certain nombre de transactions. Ce réseau est maintenu par un groupe de nœuds de manière pair-à-pair. La blockchain vous fournit essentiellement un grand livre numérique résistant aux falsifications et cet enregistrement numérique repose sur des nœuds distribués pour fonctionner sans autorités centralisées.

Il existe deux types de blockchains qui ont été largement utilisés dans l'industrie. Le premier est la blockchain sans permission, essentiellement une blockchain publique. Dans ce type de blockchain, tout le monde peut rejoindre le réseau et tout le monde peut lire les données du grand livre et valider les transactions. Ce type de grand livre réplique un haut degré de confiance. L'autre type est la blockchain avec permission, qui a beaucoup été discutée dans l'industrie. Ce type de blockchain avec permission est généralement formé par un ensemble de parties ou d'institutions connues qui effectuent des transactions. Elles se réunissent pour gérer ce grand livre. Ainsi, la validation est généralement contrôlée par un ensemble sélectionné de nœuds déterminés par toutes les parties participantes. Et ce type de grand livre réplique un haut degré de transparence et de responsabilité.

Alors que je crois que la blockchain publique est l'avenir, les blockchains avec permission ont encore une grande valeur dans cette période de transition entre les solutions centralisées que nous utilisons presque tous les jours et un monde entièrement décentralisé. Les versions avec permission vous donnent toujours un bon exemple et aident les gens à mieux comprendre la valeur de cette technologie et comment elle fonctionne en pratique.

Donc, un sujet que nous devons d'abord souligner est « quelles propriétés une blockchain apporte-t-elle aux systèmes IoT ? » Voici cinq propriétés qui sont des fonctionnalités clés offertes par la blockchain. La première est la décentralisation — ce qui signifie que la blockchain supprime le « point unique de défaillance » incarné dans une autorité centrale de confiance. Dans un cadre de blockchain, ce réseau est maintenu par un groupe de nœuds au lieu d'une autorité centrale de confiance. La deuxième propriété est l'immuabilité — la blockchain utilise des fonctions de hachage cryptographiques pour relier tous les blocs ensemble, ce qui signifie qu'une fois les informations entrées dans une blockchain, il est très difficile de les modifier. La troisième est la transparence — la blockchain fournit un grand livre de transactions entièrement auditable et valide, de sorte que chaque participant au système peut le voir. La quatrième concerne la sécurité et la résilience — la blockchain utilise la cryptographie à clé publique et les signatures numériques pour prouver la propriété des données, ce qui signifie qu'une fois que vous envoyez quelque chose à la blockchain, ce que vous prouvez, c'est que vous détenez la clé privée correspondante. Cela permet également de transférer la propriété, ce qui signifie que si vous transférez un certain actif d'une entité à une autre partie, vous pouvez utiliser votre clé privée pour le faire. Étant donné que la nature de la blockchain signifie que les informations sont largement disponibles sur l'ensemble du réseau, cela signifie que si certains nœuds sont hors ligne, ce n'est pas grave et vos informations sont toujours largement disponibles. La dernière est l'automatisation — la blockchain fournit un outil très utile appelé contrats intelligents, qui est un morceau de code déployé sur la blockchain. Vous rédigez votre logique commerciale dans un certain langage de programmation et le but principal est de rationaliser des processus métier complexes. Ces processus impliquent généralement de multiples intermédiaires dans le monde réel. Le contrat intelligent peut vous aider à rationaliser des processus complexes. Voici toutes les fonctionnalités clés que la blockchain peut apporter à l'IoT.

Pourquoi travaillons-nous sur une autre blockchain d'entreprise ? Compte tenu du fait qu'il existe un certain nombre de blockchains de consortium, comme Hyperledger, Ethereum pour les entreprises, R3 Corda, les protocoles Baseline récemment émergents, et aussi des fournisseurs de cloud comme Amazon et Microsoft Azure qui offrent Blockchain-as-a-Service pour donner aux personnes familières avec l'informatique en cloud une expérience similaire lors de l'utilisation de la blockchain. Alors pourquoi voulons-nous travailler sur une autre ? Toutes les solutions existantes ici, la plupart d'entre elles sont des solutions très génériques sur lesquelles vous pouvez créer de nombreux types d'applications. Certaines blockchains de consortium sont plus spécialisées ; par exemple, Corda est principalement utilisée dans l'industrie bancaire à des fins de paiement, et Amazon et Microsoft gèrent leur propre Blockchain-as-a-Service. La raison pour laquelle nous voulons travailler sur une nouvelle est que nous réalisons qu'il n'y a pas de bonne blockchain dédiée et conçue à des fins IoT. Nous essayons donc de construire une nouvelle blockchain pour inclure tous les services liés aux applications IoT et finalement fournir une sécurité de bout en bout.

C'est pourquoi nous travaillons sur Pantheon, qui est une blockchain de consortium orientée vers les entreprises, dédiée et conçue pour l'IoT. Voici l'architecture technologique de haut niveau que nous envisageons. Nous avons la couche des appareils IoT pour supporter différents types d'appareils IoT et de protocoles de communication. La deuxième couche est une couche hybride avec une blockchain de consortium et le Cloud. En s'appuyant sur cette deuxième couche hybride, nous avons les services IoT principaux, y compris la gestion des utilisateurs, la gestion des appareils, la gestion du stockage, etc. Au-dessus de cela, il y a la couche d'application pour que les utilisateurs puissent développer toutes sortes d'applications liées à l'IoT. Pantheon est complètement open source — vous pouvez accéder à notre répertoire ici. Nous allons fournir des services IoT principaux pour couvrir différentes applications IoT. L'objectif est de permettre une sécurité de bout en bout, de l'appareil à l'arrière-plan. Notre première version est principalement axée sur la gestion des utilisateurs et d'autres services principaux sont en cours de développement actif par notre équipe de développement et seront ajoutés progressivement à cette pile technique.

Concernant l'architecture système, voici à quoi ressemble Pantheon. Nous avons un certain nombre d'institutions qui coordonnent le fonctionnement de cette blockchain de consortium. Nous avons la passerelle API des nœuds de la blockchain pour accéder à toutes les fonctions à l'intérieur de ce système de blockchain. Nous avons une liste de groupe de consensus, qui est un certain nombre d'institutions exécutant un algorithme de consensus. Ici, nous donnons un exemple de flux : un utilisateur souhaite interroger des données de la blockchain. Par exemple, il interrogera la passerelle API pour obtenir le hash des données qu'il essaie d'accéder. Il interrogera un proxy d'accès aux données pour récupérer les données de la base de données hors chaîne. Ainsi, la politique de contrôle d'accès aux données dans la base de données vérifiera si l'utilisateur a certaines permissions pour accéder à ces données. Si la permission est accordée, l'utilisateur peut récupérer les données de la base de données et les comparer avec le hash qu'il reçoit de la blockchain. Ceci est juste un exemple de flux simple pour montrer comment l'intégrité des données peut être assurée en utilisant notre système de blockchain de consortium.

Vous pouvez utiliser notre explorateur de blockchain pour vérifier quel est le dernier bloc, toutes les transactions et les nœuds qui maintiennent le système de blockchain.

L'enregistrement des institutions est géré par un contrat intelligent dans notre système et toutes les institutions actuelles peuvent voter sur la participation d'une nouvelle institution. Elles décideront si elles souhaitent intégrer une nouvelle institution dans le consortium. Une institution peut faire fonctionner plusieurs opérateurs de blocs — elle décidera qui peut être un opérateur de blocs au sein de son institution. Et elle gérera ses propres opérateurs séparément.

Donc, ici, cette capture d'écran montre que nous avons plusieurs institutions ici — chaque institution peut gérer plusieurs opérateurs.

En ce qui concerne la gestion des utilisateurs, celle-ci est effectuée hors chaîne par chaque institution. Nous avons cette structure hiérarchique où chaque institution gère ses propres utilisateurs et les permissions correspondantes. Les utilisateurs et les données autorisées sont stockées de manière sécurisée dans une base de données cryptée. Nous avons également un administrateur ici qui spécifiera comment créer des utilisateurs et préciser leurs permissions avec une liste de politiques d'accès. Les utilisateurs peuvent également être organisés en groupes d'utilisateurs et ils peuvent être gérés par groupe d'utilisateurs.

Donc, la première fois que vous vous connectez à ce système, vous créerez un compte comme d'habitude, puis vous pourrez ajouter plusieurs utilisateurs ainsi que spécifier à quel groupe vous souhaitez assigner cet utilisateur.

Au sein du groupe, vous pouvez avoir des utilisateurs réguliers et des administrateurs qui peuvent créer ou ajouter de nouveaux utilisateurs et de nouveaux groupes et placer les utilisateurs dans différents groupes et attribuer les autorisations.

Tout l'accès à la blockchain est basé sur des autorisations dans un cadre de consortium. Un utilisateur et un service se verront attribuer un jeton d'authentification après leur connexion – ce jeton d'authentification est en gros un JWT. Ce jeton contient des données d'autorisation. Actuellement, nous prenons en charge des autorisations en lecture-écriture sur toutes les API de la chaîne. Le jeton peut être configuré pour expirer et chaque fois que vous interrogez une API, vous devez joindre votre jeton d'authentification pour faire une demande à un nœud de chaîne. Le jeton d'authentification sera validé sur la passerelle du nœud comme nous l'avons montré dans notre architecture.

Nous pouvons également gérer l'évolutivité de la couche 2 dans Pantheon. L'idée est que votre service de couche 2, si vous avez une forte charge de demandes, vous pouvez les regrouper à l'aide d'un arbre de Merkle. Nous ne commettons que la racine de Merkle à la première couche de la chaîne. De cette manière, nous pouvons améliorer le débit global.

Enfin, j'aimerais vous encourager à essayer Pantheon vous-même. En gros, ce sont juste quelques étapes simples. Vous pouvez d'abord installer Docker et cloner notre référentiel. Assurez-vous que les ports suivants sont disponibles sur votre système. Ensuite, vous exécutez un script très simple – cela téléchargera toutes les images Docker depuis Docker hub et mettra en route le service. Plus tard, vous pouvez ouvrir un navigateur et visiter cet hôte local sur ce port comme je l'ai fait ici. Il a différentes options que vous pouvez choisir – vous pouvez utiliser le Playground pour envoyer une requête à la passerelle API, c'est une requête GraphQL. Ensuite, vous pouvez retourner tous les différents résultats. À partir du tableau de bord, vous pouvez voir tous les blocs. Si vous cliquez sur une certaine adresse, vous pouvez voir tous les hachages, qui est l'expéditeur, et d'autres informations également.

Nous fournissons également un outil de surveillance basé sur Grafana pour faciliter la surveillance de vos systèmes blockchain. Comme la hauteur du bloc, si quelque chose se passe, vous pouvez venir ici pour comprendre ce qui ne va pas avec votre système.

C'est tout pour ma présentation – c'est une brève introduction à cette solution. Si vous avez des questions, n'hésitez pas à nous contacter. Merci !

À propos d'IoTeX

Fondé comme une plateforme open source en 2017, IoTeX construit l'Internet des Objets de Confiance, un écosystème ouvert où toutes les « choses » — humains, machines, entreprises et DApps — peuvent interagir avec confiance et confidentialité. Soutenu par une équipe mondiale de plus de 30 chercheurs et ingénieurs de haut niveau, IoTeX combine blockchain, matériel sécurisé et informatique confidentielle pour permettre des dispositifs, des réseaux et des économies IoT de nouvelle génération. IoTeX va habiliter l'économie décentralisée future en « connectant le monde physique, bloc par bloc ».

En savoir plus : Site web | Twitter | Telegram | Medium | Reddit