Définition d’un oracle en crypto
Dans la Grèce antique, un oracle était un intermédiaire entre les humains et les dieux. Il transmettait la réponse des dieux aux questions des humains.
Dans la blockchain, un oracle est un service tiers qui permet de fournir des informations extérieures à celle-ci afin de permettre le fonctionnement de dApps (applications décentralisées) via l’exécution de smart contracts (contrats intelligents).
Ces informations peuvent être le cours d’une crypto monnaie, des résultats sportifs, la météo,…
L’oracle décentralisé le plus utilisé dans l’écosystème crypto se nomme Chainlink (LINK).
Utilité d’un oracle
Les blockchains et les smart contracts ne pouvant pas accéder aux données en dehors du réseau, c’est là que l’oracle entre en jeu.
L’oracle permet d’ajouter des données du monde extérieur dans un réseau distribué (blockchain / DAG), ce qui élargit considérablement le champ d’application des smart contracts. Ces derniers n’étant plus limités aux seules données présentes dans la blockchain.
Exemple : l’oracle permet d’automatiser des tâches, par exemple, supposons que vous souhaitez créer un concurrent d’une application l’application de taxi / VTC comme Uber ou Bolt mais totalement décentralisée.
L’Oracle peut fournir une information au réseau comme « le passager est entré dans le véhicule » ou encore « le passager a terminé sa course », si l’information est distribuée automatiquement au réseau, on peut alors créer une condition dans le smart contract « si le passager a terminé sa course, autoriser le taxi à prendre une nouvelle course ».
Sans oracle, il aurait été nécessaire d’avoir une équipe de personnes en charge d’écrire manuellement ces informations dans la blockchain.
Les différents types d’oracles
- Les oracles d’entrée : c’est le type d’oracle le plus utilisé, il va chercher des données dans le monde réel (off-chain) pour alimenter les smart contracts sur un réseau distribué (blockchain). Ces types d’oracles sont utilisés pour fournir aux smart contracts DeFi un accès on-chain aux données des marchés financiers
- Les oracles de sortie : ils permettent aux smart contracts de déclencher l’exécution de certaines actions aux systèmes off-chain. Il peut s’agir d’informer un réseau bancaire d’effectuer un paiement ou de déverrouiller la porte d’une voiture de location une fois le paiement on-chain effectué
- Les oracles cross-chain : ces oracles peuvent lire et écrire des informations entre différentes blockchains. Ils permettent l’interopérabilité pour le déplacement des données et des actifs entre les blockchains
- Les oracles de calcul : de plus en plus utilisés, ils utilisent des calculs sécurisés off-chain pour fournir des services décentralisés qui ne sont pas pratiques à réaliser on-chain en raison de contraintes techniques, juridiques ou financières
La fiabilité d’un oracle
L’oracle faisant office d’autorité et de vérité, s’assurer de sa fiabilité est essentiel. En effet, une fois le smart contract exécuté, il n’a pas de retour en arrière possible.
Les oracles disposent de plusieurs sources afin de recouper l’information demandée par le smart contract. Par exemple, pour un pari sur le score d’un match de foot, l’oracle va aller chercher le score du match en question sur une dizaine de sites fiables différents afin qu’il n’y ait pas de doutes. Le smart contract pourra alors exécuter le résultat du pari.
Si l’oracle n’utilisait qu’une seule source de données, il prendrait le risque qu’elle soit erronée ou corrompue.
Cas d’utilisation d’un oracle dans la blockchain
Voici les cas d’utilisation les plus couramment adoptés:
- La finance décentralisée (DeFi) : les oracles y sont nécessaires pour accéder aux données financières sur les actifs et les marchés. Par exemple, une plateforme comme AAVE va utiliser des oracles de prix pour déterminer la capacité d’emprunt des utilisateurs et vérifier si les positions des utilisateurs sont sous-collatéralisées et sujettes à liquidation
- Les NFTs dynamiques et leur gamification : les oracles vont permettre de modifier l’apparence, la valeur ou la distribution d’un NFT en fonction d’événements extérieurs, de l’heure ou de la météo… Les oracles de calcul vont être utilisés pour générer un caractère aléatoire dans l’attribution des caractéristiques du NFT, dans des tirages au sort ou encore dans l’apparition de récompenses dans des jeux Play to Earn
- Les assurances : les oracles d’entrée sont utilisés pour vérifier la survenue d’événements assurables grâce à des données satellites ou des capteurs physiques par exemple. Les oracles de sortie vont être utilisés pour fournir au smart contract un moyen d’effectuer le paiement du sinistre
Conclusion au sujet des oracles
Les oracles sont donc utilisés par les développeurs de smart contracts pour construire des applications décentralisées et ainsi élargir les cas d’utilisation de la blockchain.
Tout comme Internet a considérablement modifié la manière dont les informations sont échangées, les smart contracts alimentés par des oracles sont en train de redéfinir la manière dont la société échange des valeurs et applique les accords contractuels.