Oasis Network – Une blockchain pour la gestion de données confidentielles

Oasis Network est un nouveau réseau blockchain en proof of stake, dédié au contrôle de données. La plateforme permettra d’accéder à de nombreux services, axés sur le partage, l’analyse et la confidentialité des données personnelles.

Cet article vous est proposé en collaboration avec Oasis Labs, dans le cadre de leur campagne communautaire de subventions.

La présentation générale du projet est disponible dans nos colonnes. Nous nous pencherons aujourd’hui sur l’aspect technique d’Oasis Network. Plusieurs entreprises utilisent déjà une blockchain, ou un registre distribué, pour « tokéniser » de la donnée. Voyons comment Oasis se distingue de ses concurrents.

Oasis Roadmap
La feuille de route d’Oasis Labs

Le réseau Oasis et son protocole

La plateforme blockchain d’Oasis fonctionne en proof of stake (preuve d’enjeu). Ce mécanisme de consensus est désormais très utilisé au sein des réseaux décentralisés, de par son faible coût énergétique et son bon compromis entre décentralisation, sécurité et scalabilité.

Par conception, Oasis Network permet une décentralisation maximale, tout en restant scalable.

En effet, le réseau doit être capable de traiter une grande quantité de données, mais en étant rapide, et en permettant d’effectuer des calculs complexes sur ces dernières.

Le choix a donc été fait de séparer le protocole de consensus des instances de calcul.

Cela permet de pallier les problèmes de congestion qui peuvent se poser sur d’autres réseaux. Le protocole de consensus est modulable : il est possible de changer de mécanisme en fonction des avancées technologiques.

Rejoindre Oasis sur Telegram »

La blockchain d’Oasis permet d’exécuter des smart contracts de façon simultanée : ces instances sont appelées ParaTimes.

Ce design offre plusieurs avantages. Il est ainsi possible d’utiliser plusieurs méthodes de vérification des résultats d’un smart contract, et cela améliore aussi la scalabilité. De plus, cela réduit les coûts nécessaires pour obtenir un niveau de sécurité donné, grâce à la séparation entre l’exécution des smart contracts et le consensus.

Pour exécuter les instructions des smart contracts, Oasis utilise des TEE pour Trusted Execution Environments. Nous pourrions le traduire par environnement d’exécution de confiance. En effet, ce sont des enclaves isolées et sécurisés. Par exemple, la plateforme de cloud computing décentralisée française iExec utilise les SGX d’Intel.

Les objectifs d’Oasis Network

Oasis permettra d’assurer la confidentialité de ses smart contracts de bout en bout. Cela ouvre de nombreuses possibilités dans la gestion de données et dans la finance décentralisée.

Exemples de cas d’usage dans la DeFi

Le réseau doit alors assurer les propriétés suivantes :

  • Flexibilité : l’architecture du réseau doit permettre de modifier facilement les différents paramètres des nœuds d’exécution.
  • Extensibilité : les utilisateurs doivent pouvoir ajouter facilement de nouvelles méthodes de calcul.
  • Scalabilité : le réseau doit pouvoir s’adapter à la montée en charge. Mieux encore, sa capacité de traitement augmente avec le nombre de nœuds.
  • Sécurité : cela va de soi. Le réseau doit pouvoir permettre à ses utilisateurs de traiter leurs données avec une sécurité optimale.
  • Isolation des fautes : il ne doit pas y avoir de point unique de défaillance. Si l’un des composants du système est défaillant, cela ne doit pas compromettre le reste du réseau.

Les performances avancées sont aussi impressionnantes que celles des plateformes blockchain de dernière génération.

Oasis Network versus Ethereum

Architecture de la plateforme

La blockchain d’Oasis est donc modulaire et présente une caractéristique notable. En effet, comme mentionné précédemment, les nœuds exécutant les smart contracts (ParaTimes) sont isolés des nœuds gérant le consensus. Le réseau est donc divisé en deux couches.

Oasis Network Architecture
Oasis Network – Architecture

Le mécanisme de consensus

La couche dédiée au consensus est simple, pour un niveau de sécurité optimal. Oasis utilise ainsi un algorithme BFT (tolérant aux fautes byzantines) basé sur Tendermint. Les nœuds validateurs s’occupent donc seulement des opérations classiques :

  • Transfert des tokens natifs de la blockchain, staking, délégation ;
  • Sélection des validateurs ;
  • Sélection des ParaTimes ;
  • Vérification des données issues des ParaTimes ;
  • Injection des données issues des ParaTimes dans la blockchain.

Le token natif de la blockchain d’Oasis (le ROSE) sert à payer les frais de transaction. Les soldes des différentes adresses sont publics.

Afin de vérifier les calculs fournis par les ParaTimes, l’interface avec la couche de consensus utilise une méthode nommé discrepancy detection (détection des écarts).

Cela consiste à sélectionner différents nœuds dédiés au calcul, de façon aléatoire. Ensuite, l’algorithme compare leurs résultats. Ils doivent être tous strictement identiques. Si aucun écart n’est détecté, les données sont injectées dans la blockchain. Mais en cas d’erreur, un protocole nommé discrepancy resolution prend le relai. Il devra déterminer les bons résultats, ce qui sera plus lent, et les nœuds fautifs seront pénalisés.

Il faut noter que ce mécanisme est beaucoup moins coûteux qu’un algorithme BFT classique pour assurer la vérifiabilité des calculs.

Les ParaTimes

Les ParaTimes sont indépendants, ce qui remplit l’objectif de flexibilité. Il est donc possible de les configurer à sa guise. Cette indépendance confère un gros avantage : une tâche complexe exécutée sur un ParaTime ne ralentit pas une tâche très simple sur une autre. De plus, cette décentralisation totale permet à tout développeur de créer le ParaTime seyant à son application.

Ainsi, un utilisateur peut souhaiter exécuter des smart contracts de façon confidentielle, en utilisant par exemple des zk-SNARKs. Ou bien une entreprise peut souhaiter, pour des raisons juridiques, exécuter ses calculs sur des nœuds définis.

Structure des ParaTimes

Les ParaTimes permettent donc d’exécuter des smart contracts de façon totalement confidentielle. Pour ce faire, les calculs sont effectués dans des TEE (environnements d’exécution de confiance).

Les ParaTimes peuvent tourner simultanément. Il est aussi possible d’exécuter des smart contracts de type ERC-20 au sein d’un ParaTime. Ainsi, le token correspondant est indépendant du token natif d’Oasis (ROSE). De plus, il est possible de rendre ces contrats confidentiels : cela permet de masquer le solde des adresses, le montant des transactions, etc.

Rejoindre Oasis sur Telegram »

Chaque ParaTime paie des frais aux nœuds dédiés au consensus : cela protège la blockchain du spam. Si l’un des ParaTimes fait défaut, il n’enverra tout simplement pas son dernier état vers la couche de consensus. Ainsi, la défaillance d’un ParaTime n’a pas d’incidence sur le fonctionnement du réseau.

Les TEE et les cleanrooms, des enclaves sécurisées pour traiter les données

Les environnements d’exécution de confiance permettent d’assurer trois fonctions essentielles.

  • Premièrement, la confidentialité des données traitées et des calculs effectués. Aucune tierce partie ne peut connaître le contenu de l’enclave et l’état des calculs.
  • Deuxièmement, le maintien de l’intégrité des données et de leur traitement. Puisque ces enclaves sont inaccessibles, même si la machine-hôte est corrompue, les calculs et les données ne sont pas affectés.
  • Enfin, il est possible de prouver à une tierce partie que les calculs ont bien été effectués dans l’enclave, sans accès physique à la machine.

Bien entendu, tout ceci est essentiel pour traiter des données sensibles. Données médicales, financières, publicitaires, logistiques : de nombreux secteurs comptent sur les nouvelles technologies pour s’améliorer. Les blockchains actuelles ont des défauts de confidentialité et permettent difficilement de traiter ces données sensibles. De même, les problèmes de confidentialité limitent les possibilités de la finance décentralisée.

La réponse technologique d’Oasis Labs s’appuie donc sur ces enclaves sécurisées.

Schéma des enclaves sécurisées

Ces TEE nécessitent un Key Manager (gestionnaire de clés). Ainsi, une entité sécurisée et hautement disponible détient les clés cryptographiques pour les fournir aux TEE si besoin est. Les développeurs peuvent utiliser l’implémentation de référence d’Oasis Labs (proche du système de Google), mais il est aussi possible d’utiliser son propre système.

En revanche, les instances ParaTime utilisant un système de chiffrement homomorphe n’ont pas besoin de key manager. En effet, seules les entités ayant appliqué le chiffrement homomorphe aux données d’entrées peuvent déchiffrer les résultats en sortie.

L’Oasis Gateway : interagir avec les applications décentralisées

Oasis Labs a souhaité rendre sa plateforme de cloud computing de la donnée la plus accessible possible. C’est en effet la condition sine qua non pour que les utilisateurs finaux franchissent le cap de la décentralisation.

Pour ces derniers, une dApp ne doit pas être plus compliquée à utiliser qu’une application classique. Et ce n’est pour l’instant pas le cas :

  • Les dApps sont généralement plus lentes ;
  • Il faut savoir utiliser un wallet et gérer les frais de transactions ;
  • De nombreuses notifications / demandes d’approbation des transactions perturbent l’utilisateur ;
  • Enfin, la barrière conceptuelle blockchain/crypto est difficile à franchir.

Oasis Network Structure
Schéma Oasis Gateway

Le kit de développement d’Oasis se nomme Parcel. Les développeurs de dApps ont accès à un tableau de bord. Ce dernier est similaire à ce que l’on retrouve chez les géant du cloud comme AWS. Ce sont donc les développeurs de dApps qui gèreront les wallets de leurs clients – bien qu’il y aura toujours la possibilité de leur en donner l’accès. Cela permet aussi au créateur d’une dApp de baser son business model sur les frais, à l’instar des applications traditionnelles.

Ce modèle sans wallet est une nouvelle expérience dans le domaine des plateformes d’applications décentralisées. L’équipe d’Oasis Labs fait ainsi le pari que cela augmentera leur adoption.

Deux API permettent d’interagir avec le réseau : ExecuteService et DeployService. ExecuteService est la principale, puisqu’elle permet d’interagir avec un smart contract déjà déployé. DeployService permet d’initier le déploiement d’un contrat sur le réseau.

Conclusion

Le projet d’Oasis Network est ambitieux. Afin de le mener à bien, l’équipe d’Oasis Labs a innové et fait preuve de créativité.

Tout d’abord, la séparation entre les couches « consensus » et « calcul » du réseau offre de nouvelles perspectives techniques. Ensuite, l‘encapsulation des instances exécutant les smart contracts permet une grande flexibilité. Enfin, la possibilité de proposer aux utilisateurs finaux des interfaces dépourvues de tout crypto-wallet est un énorme changement dans l’univers des applications décentralisées.

Pour aller plus loin

Réseaux sociaux

Ressources techniques

Morgan Phuc

Cofounder @ 8Decimals & Partner @ Node Guardians - Making crypto great again - Journal du Coin / BitConseil