IoTeX Présente le Consortium Pantheon Blockchain lors de la Réunion 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 de l'Internet Industriel (IIC) est l'un des principaux consortiums IoT au monde, composé des principales organisations technologiques mondiales.

Chaque trimestre, les membres de l'IIC, qui compte 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 tenue du 22 au 26 juin, IoTeX a participé à quatre sessions pour partager nos derniers travaux avec les membres de l'IIC.

Le principal fait marquant pour IoTeX a été 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, en quoi Pantheon diffère des autres blockchains de consortium, la pile technologique unique et l'architecture 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 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 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 des 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 l'arrière pour stockage, traitement, etc. et 3) visualisation et analyse des données. La fiabilité des données est essentielle au succès de l'IOT, le fait que les données que vous fournissez à vos clients soient fiables déterminera combien de valeur vous leur apportez.

Une question naturelle est de savoir comment nous garantissons la fiabilité des données dans l'IOT ? C'est un sujet très chaud qui a été discuté pendant un certain temps dans le Groupe de travail sur la Sécurité ces dernières années. En bref, nous devons 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 de garantir 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 conservation des données. En gros, vous devez couvrir depuis l'appareil, une fois qu'il commence à collecter des données, et sécuriser la communication lorsque l'appareil envoie des données vers l'arrière. Vous devez également stocker les données de manière sécurisée et effectuer le traitement de manière sécurisée.

Pourquoi la blockchain est-elle importante ici ? Alors tout d'abord, regardons 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 ensemble de transactions. Ce réseau est maintenu par un groupe de nœuds de manière pair à pair. La blockchain vous fournit essentiellement un registre numérique frauduleusement perceptible et résistant à la fraude et ce registre numérique repose sur des nœuds distribués pour fonctionner sans aucune autorité centralisée.

Il existe deux types de blockchains qui ont été largement utilisés dans l'industrie. Le premier est la blockchain sans autorisation, essentiellement une blockchain publique. Dans ce type de blockchain, n'importe qui peut rejoindre le réseau et n'importe qui 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 autorisée, qui a beaucoup été discutée dans l'industrie. Ce type de blockchain autorisée est généralement formé par un ensemble de parties ou d'institutions transactionnelles connues. Elles se regroupent pour faire fonctionner 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é.

Bien que je pense que la blockchain publique est l'avenir, les blockchains autorisées ont toujours 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 autorisées vous donnent encore un bon exemple et aident les gens à mieux comprendre la valeur de cette technologie et comment elle fonctionne en pratique.

Alors un sujet que nous devons d'abord souligner est « quelles propriétés une blockchain apporte-t-elle dans les systèmes IoT ? » Voici cinq propriétés qui sont des caractéristiques clés fournies par la blockchain. La première est la décentralisation — ce qui signifie que la blockchain supprime le « point de défaillance unique » incarné dans une autorité centrale de confiance. Dans un cadre de blockchain, ce réseau est maintenu par un groupe de nœuds plutôt que par une autorité centrale de confiance. La deuxième propriété est l'immutabilité — la blockchain utilise des fonctions de hachage cryptographique pour lier tous les blocs ensemble, ce qui signifie qu'une fois que l'information est dans une blockchain, il est très difficile de la changer. La troisième est la transparence — la blockchain fournit un grand livre de transactions entièrement auditables et valides afin que chaque participant au système puisse 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 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 l'information est largement disponible sur l'ensemble du réseau, cela signifie que si certains nœuds sont hors ligne, cela ne pose pas de problème 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 écrivez votre logique métier dans un certain langage de programmation et le but principal est de rationaliser des processus commerciaux complexes. Ces processus impliquent généralement plusieurs intermédiaires dans le monde réel. Le contrat intelligent peut vous aider à rationaliser des processus complexes. Ce sont toutes les caractéristiques clés que la blockchain peut apporter à l'IoT.

Alors pourquoi travaillons-nous sur une autre blockchain d'entreprise ? Étant donné qu'il existe un certain nombre de blockchains de consortium qui existent, telles que Hyperledger, Ethereum for Enterprise, R3 Corda, les protocoles Baseline récemment émergés, et aussi des fournisseurs de cloud comme Amazon et Microsoft Azure qui offrent Blockchain-as-a-Service pour donner aux personnes familiarisées avec le cloud computing 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 où vous pouvez construire de nombreux types d'applications dessus. 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 leurs propres Blockchain-as-a-Service. La raison pour laquelle nous voulons travailler sur une nouvelle est que nous réalisons qu'il n'existe pas de bonne dédiée et conçue pour des fins IoT. Donc, nous essayons d'en construire une nouvelle 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. C'est une pile technologique de haut niveau que nous envisageons. Nous avons la couche de dispositifs IoT pour prendre en charge différents types de dispositifs IoT et protocoles de communication. La deuxième couche est une couche hybride avec blockchain de consortium et Cloud. En nous appuyant sur la deuxième couche hybride, nous avons les services IoT de base, y compris la gestion des utilisateurs, la gestion des dispositifs, la gestion du stockage, etc. Et au-dessus de cela se trouve la couche d'application afin que les utilisateurs puissent développer toutes sortes d'applications liées à l'IoT. Pantheon est entièrement open source — vous pouvez accéder à notre dépôt ici. Nous allons fournir des services IoT de base pour couvrir différentes applications IoT. L'objectif est de permettre une sécurité de bout en bout depuis le dispositif jusqu'à l'arrière-plan. Notre version initiale est principalement axée sur la gestion des utilisateurs et d'autres services de base sont en cours de développement actif par notre équipe de développement et seront progressivement ajoutés à cette pile technique.

Concernant l'architecture du système, voici à quoi ressemble Pantheon. Nous avons un certain nombre d'institutions qui coordonnent l'exécution de cette blockchain de consortium. Nous avons la passerelle API du nœud blockchain pour accéder à toutes les fonctions à l'intérieur de ce système 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 va interroger la passerelle API pour obtenir le hachage des données auxquelles il essaie d'accéder. Ils vont interroger un proxy d'accès aux données pour récupérer les données à partir 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 dispose de certaines autorisations pour accéder à ces données. Si l'autorisation est accordée, l'utilisateur peut récupérer les données de la base de données et les comparer avec le hachage qu'il reçoit de la blockchain. Il s'agit simplement d'un flux d'exemple pour montrer comment l'intégrité des données peut être assurée en utilisant notre système 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 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 exécuter plusieurs opérateurs de blocs — elles décideront qui peut être opérateur de blocs au sein de leur institution. Et elles géreront leurs 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, cela se fait hors chaîne par chaque institution. Nous avons cette structure hiérarchique où chaque institution gère ses propres utilisateurs et autorisations correspondantes. Les utilisateurs et les données avec autorisation sont stockés en toute sécurité dans une base de données chiffrée. Nous avons également un administrateur ici qui spécifiera comment créer des utilisateurs et définir leurs autorisations avec une liste de politiques d'accès. Les utilisateurs peuvent également être organisés en groupes d'utilisateurs et 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 vous le faites habituellement, puis vous pourrez ajouter plusieurs utilisateurs ainsi que préciser dans quel groupe vous souhaitez placer cet utilisateur.

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

Tous les accès à la blockchain sont basés sur des permissions dans le cadre d'un consortium. Un utilisateur et un service se verront attribuer un jeton d'authentification après leur connexion — ce jeton d'authentification est essentiellement un JWT. Ce jeton contient des données de permission. Actuellement, nous prenons en charge les permissions de 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 afin de 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 niveau 2 dans Pantheon. L'idée est que votre service de niveau 2, si vous avez une forte charge de demandes, peut les regrouper en utilisant un arbre de Merkle. Nous ne nous engageons qu'à la racine Merkle au premier niveau de la chaîne. De cette manière, nous pouvons améliorer le débit global.

Enfin, j'aimerais vous encourager à essayer Pantheon par vous-même. En gros, ce sont juste quelques étapes simples. Vous pouvez d'abord installer Docker, et cloner notre dépôt. Assurez-vous que les ports suivants sont disponibles dans votre système. Ensuite, il vous suffit d'exécuter un script très simple — cela tirera toutes les images Docker depuis Docker hub et mettra le service en route. 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. Depuis le 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 des blocs, si quelque chose se passe, vous pouvez aller 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, vous êtes bienvenus à nous contacter. Merci !

À propos d'IoTeX

Fondé en tant que 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 scientifiques et ingénieurs de recherche de haut niveau, IoTeX combine blockchain, matériel sécurisé et informatique confidentielle pour permettre des appareils IoT, des réseaux et des économies de nouvelle génération. IoTeX va dynamiser l'économie décentralisée future en « connectant le monde physique, bloc par bloc ».

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