Integritee Network : Le guide technique

INTEGRITEE LE GUIDE TECHNIQUE

Notre premier article sur le sujet, présentait de manière globale et vulgarisée le projet. Cet article a pour but d’expliquer le fonctionnement technique et les possibilités architecturales de la parachain Integritee. Pour cela, il est nécessaire de décomposer l’article en plusieurs points, afin que bout à bout cela vous éclaire sur le fonctionnement d’Integritee !

Architecture globale du réseau

 

Integritee, a pour but d’établir une parachain à la fois sur Polkadot et Kusama, ainsi le réseau présentera une architecture de layer 1 ou les nœuds transmettront toutes les interactions effectuées sur la layer 1 et les sidechains (layer 2), qui sera construite de manière à accueillir des dapps, qui elles-mêmes représenteront pour chaque dapp une sidechain (layer 2), les blocks de la layer one seront ensuite transmis et validés sur la relay chain (Polkadot/Kusama, layer 0).

Les datas transitent de manière privée, à travers les TEE Intel, des nœuds de sidechains (dapps, layer 2), des Off-chain workers d’Integritee (Layer 1), et, les collators transmettent les blocks de la parachain à la relay chaine (layer 0) afin de les valider.

Les datas transitant dans les TEE sont inaccessibles, même pour les entités possédant les processeurs faisant fonctionner ces environnements, cela garantit la confidentialité et la sécurité des datas.



Afin de garantir l’intégrité et la sécurité du réseau, chaque nœud du réseau (nœuds des sidechains, off-chain workers…) doit soumettre on-chain une attestation du constructeur que leur processeur Intel exécute les taches de manière adéquate, et qu’il n’est pas corrompu, garantissant l’intégrité du TEE de ce nœud.

Chaque nœud doit soumettre on-chain, cette attestation de manière régulière (au moins une fois par mois).

Chaque nœud a une adresse cryptographique ainsi liée à son attestation, et en invoquant de 2 principales manières ces adresses, les utilisateurs peuvent interagir grâce à Integritee avec les différentes dapps.

Passage par les Offchain workers

 

Une des possibilités pour l’utilisateur, sera d’invoquer une action de changement d’état avec des extrinsincs ou d’appel à un oracle, selon la procédure d’appel à un offchain worker.

Un utilisateur sélectionne le nœud voulu pour exécuter son appel.

L’utilisateur demande la clé de protection à l’offchain worker afin de crypter son action (création d’une clé ECDSA éphémère).

L’utilisateur envoie son call crypté à l’offchain worker, l’offchain worker execute l’appel dans son TEE et renvoie une confirmation à la layer one.

Pour exécuter une action, un nouvel appel est nécessaire, c’est ce qu’integritee appelle une invocation indirecte, qui s’exécute directement du coup on-chain sur la layer one, ce n’est pas la méthode la plus efficiente pour transiter la plus grosse quantité de datas et actions sur le réseau.

Passage par les validateurs sidechains (Layer 2)

Une solution élégante a donc été pensée afin d’optimiser la scalabilité de la parachain Integritee, chaque dapp, donc sidechain, doit avoir au moins 2 validateurs, mais un grand nombre n’est pas nécessaire, car grâce à l’exécution des tâches dans les TEE et des attestations d’intégrité des processeurs, cela réduit la complexité de vérification à mettre en place pour les dapps, les zones de TEE se faisant mutuellement confiance dans ce système.

Les blocks des sidechains sont paramétrés avec un blocktime < à 1 seconde, permettant ainsi d’exécuter énormément d’action on-chain et de manière non synchronisée à la layer one. Tous les hash des blocks des sidechains sont ensuite envoyés à la layer one ou ils seront finalisés.

Pour les utilisateurs passer directement par les validateurs des sidechains, permet d’utiliser une invocation de l’attestation de manière directe, vu qu’elles sont on-chain. Il envoie au validateur choisi selon la dapp voulue son call, qui l’éxécute directement sur la layer 2 dès qu’un nouveau block est produit. Le changement d’état de la sidechain est transmis à tous les validateurs de la sidechainet le hash du block transmis à la layer one (parachain Integritee).


Le passage de ce système permet d’augmenter la capacité grandement de la chaîne, la chaîne principale peut accueillir des centaines de sidechains, avec l’exécution des transactions à travers les TEE on-chain via des sidechains, cela permettrait d’éxécuter des centaines de milliers de transactions par seconde, permettant ainsi d’imaginer un déploiement massif de dapps, les smart-contracts RustInk! seront supportés, un bridge ETH également.

Au vu du caractère confidentiel et inviolable des TEE, on peut imaginer un déploiement de plateforme de DEFI, des plateformes de contenu premium, des messageries cryptées, des services de KYC décentralisés, du stockage de data, des plateformes partageant des informations anonymes de données de santé, pouvant servir à la recherche médicale, ou, d’établir des statistiques pour des entreprises, des oracles et bien d’autres…

Integritee se positionne en tout cas comme un futur acteur majeur du marché des datas/dapps sur Polkadot et Kusama et nous le suivons attentivement !

Related Post

2 Replies to “Integritee Network : Le guide technique”

  1. Bonjour, connaissez-vous un document qui différencierait tous ces projets liés à la confidentialité/protection des données/anonymat. Notamment entre autres: SCRT, ROSE, PHALA, TEER, Axel. Cordialement.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *