À retenir

  • Les oracles de blockchain sont des services qui relient les contrats intelligents aux données du monde extérieur, comme des flux de prix, des relevés météorologiques ou des résultats d’événements.

  • Les oracles peuvent être classés selon la source des données (logiciel vs. matériel), la direction (entrant vs. sortant) et le modèle de confiance (centralisé vs. décentralisé).

  • Le problème de l’oracle désigne le risque qu’un oracle compromis ou inexact puisse corrompre les contrats intelligents qui s’appuient sur lui.

  • Les réseaux d’oracles décentralisés répondent à ce risque en puisant les données auprès de plusieurs fournisseurs indépendants plutôt que d’un point unique.

Binance Academy courses banner

Introduction

Un oracle blockchain est un service tiers qui alimente une blockchain avec des données externes. Les smart contracts sont des programmes qui s’exécutent automatiquement lorsque des conditions spécifiques sont remplies, mais ils ne peuvent lire que les données qui existent sur leur propre blockchain. Les oracles résolvent cette limite en agissant comme des passerelles entre la logique en chaîne et l’information hors chaîne.

Les oracles sont essentiels à la finance décentralisée (DeFi) et à d’autres applications blockchain. Sans données externes exactes, un smart contract ne peut pas réagir à des événements du monde réel tels que les variations du prix des actifs, les résultats sportifs ou les confirmations d’expédition. Cet article explique comment fonctionnent les oracles, les principaux types, les défis auxquels ils font face et l’évolution du secteur ces dernières années.

Qu’est-ce qu’un oracle blockchain ?

Un oracle blockchain n’est pas la source de données elle-même. C’est la couche qui interroge, vérifie et relaye des informations externes vers un smart contract. Les données peuvent prendre de nombreuses formes : prix des actifs, température mesurée par un capteur, résultat d’un match sportif, ou confirmation qu’un paiement a été reçu.

Lorsqu’un smart contract a besoin d’informations externes, il envoie une requête à un oracle. L’oracle récupère ensuite les données depuis une ou plusieurs sources hors chaîne, les met en forme pour que le smart contract puisse les traiter, puis les soumet en chaîne. Le smart contract s’exécute ensuite en fonction de ce qu’il reçoit.

Comme les smart contracts s’exécutent de manière déterministe en fonction des données qu’ils reçoivent, la fiabilité d’un oracle influence directement la fiabilité du contrat. Un oracle qui fournit des données inexactes ou manipulées peut provoquer une exécution incorrecte du smart contract, pouvant entraîner des pertes financières.

Un exemple de fonctionnement d’un oracle

Supposons que deux personnes placent un pari sur l’issue d’un match sportif et immobilisent leurs fonds dans un smart contract. Le contrat est conçu pour libérer les fonds au vainqueur une fois le résultat connu. Comme la blockchain ne peut pas accéder directement au résultat du match, le smart contract s’appuie sur un oracle pour le lui fournir.

Après la fin du match, l’oracle interroge une source de données fiable, récupère le résultat et le soumet au smart contract. Le contrat distribue ensuite automatiquement les fonds selon le résultat. Sans l’oracle, aucun des deux participants ne pourrait déclencher le contrat sans l’accord de l’autre, ce qui réintroduirait le problème de confiance que le contrat était précisément conçu à éliminer.

Types d’oracles de blockchain

Les oracles peuvent être classés de plusieurs façons selon l’origine des données, la direction de leur flux et la manière dont la confiance est gérée.

Oracles logiciels

Les oracles logiciels récupèrent des données depuis des sources en ligne telles que des sites web, des API et des bases de données. Ce sont les plus courants et ils servent à fournir des informations en temps réel comme les prix des actifs, les taux de change ou l’état d’un vol. Comme ils sont connectés à Internet, ils peuvent relayer les données rapidement et en continu.

Oracles matériels

Les oracles matériels connectent des dispositifs du monde réel aux blockchains. Par exemple, un capteur sur un conteneur d’expédition peut détecter l’arrivée des marchandises à destination et relayer cette information à un smart contract qui libère alors automatiquement le paiement. Les scanners de codes-barres, les traceurs GPS et les capteurs de température sont des exemples courants de sources de données d’oracles matériels.

Oracles entrants et sortants

Les oracles entrants font entrer des données de sources externes dans un smart contract. Les oracles sortants, à l’inverse, transmettent des informations d’un smart contract vers un système externe. Un oracle sortant pourrait par exemple déclencher une serrure intelligente physique pour s’ouvrir lorsqu’un paiement est confirmé en chaîne.

Oracles centralisés

Un oracle centralisé est contrôlé par une seule entité. Bien qu’il soit simple à mettre en œuvre, un oracle centralisé introduit un point de défaillance unique. Si le fournisseur est compromis, s’il passe hors ligne ou s’il soumet des données inexactes, tous les smart contracts qui en dépendent sont affectés. Pour cette raison, les oracles centralisés sont généralement considérés comme inadaptés aux cas d’usage à forte valeur ou adversariaux.

Oracles décentralisés

Les oracles décentralisés agrègent des données provenant de plusieurs sources indépendantes afin de réduire l’impact d’une défaillance ou d’une manipulation isolée. Plutôt que de s’appuyer sur un seul fournisseur, le smart contract reçoit des données d’un réseau de nœuds, et la valeur finale est déterminée par consensus ou par agrégation pondérée.

Les oracles décentralisés n’éliminent pas entièrement la confiance, mais la répartissent entre de nombreux participants. Cela rend la collusion ou la manipulation nettement plus difficiles et coûteuses.

Oracles spécifiques à un contrat

Un oracle spécifique à un contrat est conçu pour servir un seul smart contract. Bien que cela permette aux développeurs de personnaliser l’oracle précisément pour leur cas d’usage, sa conception et sa maintenance sont chronophages et coûteuses. La plupart des applications modernes utilisent plutôt des réseaux d’oracles partagés à usage général, que de créer des oracles dédiés.

Oracles humains

Dans certains cas, des personnes disposant de connaissances spécialisées agissent comme des oracles. Un expert juridique pourrait vérifier les termes d’un contrat, ou un journaliste pourrait confirmer le résultat d’un événement. Les oracles humains peuvent authentifier leur identité via des méthodes cryptographiques, mais ils introduisent néanmoins un jugement humain et les risques associés.

Le problème de l’oracle

Le problème de l’oracle désigne le défi fondamental consistant à faire confiance à des données externes dans un système sans confiance. Les blockchains sont conçues pour être résistantes aux altérations, mais les oracles introduisent une dépendance à une information provenant de l’extérieur de la blockchain, en dehors du mécanisme de consensus. Cela crée une vulnérabilité.

Si un oracle fournit des données incorrectes, que ce soit à cause d’une défaillance technique, d’une manipulation des données ou d’une attaque de type « man-in-the-middle », les smart contracts qui s’y fient s’exécuteront de manière inadaptée. La manipulation d’oracle a été exploitée dans plusieurs incidents DeFi : des attaquants ont temporairement faussé des flux de prix afin de déclencher des conditions de contrat avantageuses et de soutirer des fonds.

Les réseaux d’oracles décentralisés constituent la principale réponse architecturale à ce problème. En exigeant que plusieurs fournisseurs de données indépendants parviennent à un accord sur une valeur avant qu’elle ne soit soumise en chaîne, ces réseaux rendent la manipulation nettement plus difficile. Des incitations cryptoeconomiques, telles que le staking et le slashing, sont souvent utilisées pour aligner le comportement des nœuds d’oracle sur l’exactitude.

Développements récents dans les oracles de blockchain

L’infrastructure d’oracle s’est considérablement étendue au-delà de la simple fourniture de flux de prix. Les protocoles de messagerie inter-chaînes utilisent désormais des réseaux d’oracles pour vérifier et relayer l’état entre différentes blockchains, permettant ainsi aux actifs et aux instructions de circuler entre des réseaux. C’est important pour les applications décentralisées (DApps) qui fonctionnent simultanément sur plusieurs chaînes.

Des modèles d’oracles « pull » en temps réel ont également émergé comme alternative au modèle traditionnel « push ». Dans un modèle « pull », les données sont publiées hors chaîne et « tirées » en chaîne seulement lorsqu’un smart contract en a besoin, ce qui réduit les coûts de gaz et la latence. Cette approche est devenue populaire pour les applications DeFi à haute fréquence, comme les plateformes de trading perpétuel.

La croissance de la tokenisation d’actifs du monde réel a créé une demande pour une nouvelle catégorie de données d’oracles : registres de propriété légale, notations de crédit, livraisons de matières premières et vérifications d’identité. Ces cas d’usage exigent des oracles qu’ils relaient non seulement des données numériques, mais aussi des informations structurées au niveau des documents, ce qui soulève de nouveaux défis pour la conception des oracles.

Les frameworks d’agents IA ont également commencé à intégrer des réseaux d’oracles comme sources de données pour la prise de décision autonome en chaîne. Dans ces configurations, un agent IA utilise des données de marché ou environnementales fournies par les oracles pour déclencher des actions de smart contract sans intervention humaine. Cela augmente l’importance de l’exactitude des données, car les erreurs se propagent automatiquement.

FAQ

Qu’est-ce qu’un oracle blockchain, simplement ?

Un oracle blockchain est un service qui fournit à un smart contract des informations provenant de l’extérieur de la blockchain. Les smart contracts ne peuvent accéder qu’aux données stockées sur leur propre réseau ; les oracles agissent donc comme des messagers qui récupèrent et transmettent des données externes, comme des prix, des relevés météo ou des résultats d’événements.

Pourquoi les oracles sont-ils importants pour la DeFi ?

La plupart des applications DeFi reposent sur les prix actuels des actifs pour fonctionner correctement. Les plateformes de prêt ont besoin de prix exacts pour déterminer la valeur des garanties. Les plateformes de dérivés en ont besoin pour calculer le profit et la perte. Sans des oracles fiables, ces applications ne pourraient pas fonctionner en toute sécurité. L’exactitude des protocoles DeFi dépend donc directement de la qualité des réseaux d’oracles qu’ils utilisent.

Quel est le problème de l’oracle ?

Le problème de l’oracle est le défi consistant à introduire des données externes fiables dans un système conçu pour fonctionner sans confiance. Les blockchains vérifient leurs propres transactions internes via le consensus, mais elles n’ont aucun mécanisme intégré pour vérifier si des données provenant du monde extérieur sont exactes. Des données d’oracle compromises ou inexactes peuvent amener les smart contracts à s’exécuter de manière non intentionnelle.

Quelle est la différence entre les oracles centralisés et décentralisés ?

Un oracle centralisé dépend d’un seul fournisseur, ce qui crée un point de défaillance unique. Un oracle décentralisé utilise un réseau de fournisseurs de données indépendants et combine leurs entrées via un consensus ou une agrégation. En général, les oracles décentralisés sont considérés comme plus sûrs pour les cas d’usage à forte valeur, car ils sont plus difficiles à manipuler.

Les oracles peuvent-ils envoyer des données hors d’une blockchain ?

Oui. Les oracles sortants transmettent des données ou des instructions d’un smart contract vers des systèmes externes. Par exemple, un smart contract pourrait utiliser un oracle sortant pour signaler un appareil physique, déclencher un paiement sur un système bancaire traditionnel, ou avertir une API externe lorsqu’une condition est satisfaite en chaîne.

Réflexions finales

Les oracles blockchain constituent une couche fondamentale pour l’utilité des smart contracts. Sans des données externes fiables, les smart contracts sont limités aux informations déjà présentes en chaîne, ce qui réduit considérablement ce qu’ils peuvent faire. Les réseaux d’oracles décentralisés traitent le problème de l’oracle en répartissant la collecte des données et leur vérification entre de nombreux participants indépendants.

Pour aller plus loin

  • Que sont les smart contracts et comment fonctionnent-ils ?

  • Qu’est-ce que la finance décentralisée (DeFi) ?

  • Qu’est-ce que l’Oracle Binance ?

  • Que sont les actifs du monde réel (RWA) dans la DeFi et la crypto ?

  • Que sont les applications décentralisées (DApps) ?

Déclaration : ce contenu vous est présenté « tel quel », uniquement à des fins d’information générale et d’éducation, sans aucune déclaration ni garantie de quelque nature que ce soit. Il ne doit pas être interprété comme un conseil financier, juridique ou professionnel, ni comme une recommandation d’achat d’un produit ou service particulier. Vous devriez demander votre propre avis à des conseillers professionnels appropriés. Lorsque le contenu est fourni par un contributeur tiers, veuillez noter que les opinions exprimées appartiennent au contributeur tiers et ne reflètent pas nécessairement celles de Binance Academy. Les prix des actifs numériques peuvent être volatils. La valeur de votre investissement peut diminuer ou augmenter et vous pourriez ne pas récupérer le montant investi. Vous êtes seul responsable de vos décisions d’investissement et Binance Academy n’est pas responsable des pertes que vous pourriez subir. Pour plus d’informations, veuillez consulter nos Conditions d’utilisation, l’Avertissement relatif aux risques et les Conditions de Binance Academy.