Oracles sur la blockchain : guide complet

Par Kraken Learn team
8 min
15 mars 2024

Résumé des oracles de la blockchain

  • Les développeurs programment souvent des contrats intelligents pour les activer lorsque certains événements réels ont lieu
  • Les oracles fournissent automatiquement ces informations réelles à la blockchain sans intervention humaine
  • L’intégration de données off-chain permet aux applications décentralisées (DApp) d’offrir une plus grande variété d’expériences utilisateur, telles que le trading, les marchés de prédiction, les jeux d’argent et plus encore

Qu’est-ce qu’un oracle de blockchain ?

Les oracles fournissent aux blockchains et aux contrats intelligents des données réelles qui, autrement, n’existeraient pas sur la blockchain. 

Les blockchains étant spécialement conçues pour suivre les informations stockées sur leurs réseaux, elles peuvent avoir du mal à accéder aux informations du "monde réel" qui ne proviennent pas de la blockchain elle-même.

En permettant aux blockchains d’accéder aux données réelles, les oracles permettent aux développeurs de créer un plus large éventail d’applications décentralisées (DApp)

Chaque DApp se compose de contrats intelligents, c’est-à-dire de morceaux de code informatique qui exécutent certaines fonctions lorsque des conditions prédéterminées sont remplies. Ces services fonctionnent de la même manière que les applications de votre smartphone, mais sans faire appel à un intermédiaire humain. 

Les blockchains peuvent être des réseaux isolés qui n’ont pas directement accès à des événements ou des conditions du monde réel. Souvent, les blockchains ne peuvent accéder qu’aux données qui existent déjà sur leurs réseaux et ne peuvent donc pas accéder aux données qui ne sont pas directement créées et stockées on-chain. 

En injectant des données réelles, telles que les cours des actions ou les résultats des matchs sportifs, dans des contrats intelligents, les développeurs peuvent étendre considérablement les fonctionnalités des applications qu’ils créent.

Par exemple, en utilisant un service Oracle, un développeur peut créer une application de marché de prédiction décentralisée.

En utilisant des contrats intelligents, l’application permettrait aux utilisateurs de spéculer sur le résultat de tout événement futur avec d’autres personnes dans le monde entier. Il peut s’agir de parier sur le pays qui remportera la prochaine Coupe du monde de la FIFA, qui remportera la prochaine élection présidentielle américaine ou tout autre résultat du choix du développeur.

Grâce aux données réelles des oracles, le marché de prédiction peut automatiquement régler les paris sans qu’un intermédiaire humain approuve qui a gagné.

Pourquoi les oracles sont-ils importants ?

Sans oracles pour fournir un accès aux données off-chain, les réseaux blockchain n’auraient pas accès à des informations telles que les cours des marchés boursiers, les données d’identité des utilisateurs, les scores sportifs, la météo, les transactions sur d’autres blockchains et bien plus encore. 

Au lieu de cela, la blockchain nécessiterait probablement l’intervention d’une personne pour fournir les informations. Cela entraîne un risque de centralisation, qui saperait l’un des principaux facteurs de différenciation des réseaux blockchain : la décentralisation.

De nombreux protocoles de finance décentralisée (DeFi) ne pourraient exister sans oracles et leur capacité à introduire des données dans des informations sources tout en restant décentralisés . 

Les protocoles de prêt comme Aave (AAVE) qui permettent aux utilisateurs de prêter et d’emprunter des tokens nécessitent une surveillance étroite des prix des tokens pour fonctionner. Si ces prix pouvaient être manipulés par un seul individu, cela ruinerait la nature décentralisée du protocole.

Des protocoles de trading comme dYdX (DYDX) s’appuient sur des oracles pour renvoyer les flux de prix des actifs échangeables. Si ces flux de prix n’étaient fournis que par un seul individu ou une seule société, le service de trading s’appuierait entièrement sur ce flux centralisé pour exploiter sa plateforme de trading décentralisée.

Les protocoles de jeu comme Augur v2 (REPV2) ont besoin d’oracles pour récupérer les scores sportifs. Si le protocole ne s’appuyait pas sur le consensus du réseau quant au résultat d’un match particulier, mais s’appuyait plutôt sur une seule personne pour fournir le résultat, le protocole s’appuyait sur une seule source de vérité susceptible d’être manipulée.

En fin de compte, les oracles jouent un rôle important en reliant le monde décentralisé de la technologie de la blockchain aux événements physiques. Bien que nous ayons toujours compté sur des intermédiaires centralisés et "de confiance" pour remplir cette fonction par le passé, les oracles offrent un moyen plus transparent et infalsifiable de vérifier les résultats.

Comment fonctionne un oracle blockchain ?

Un oracle comporte deux composantes :

  1. Un contrat intelligent on-chain
  2. Un réseau Oracle

Si une DApp a besoin de données réelles d’un oracle, ses développeurs connectent son contrat intelligent au contrat intelligent de l’oracle. Le contrat intelligent de l’oracle surveille le contrat intelligent DApp lié pour les demandes de données off-chain. 

Lorsque le contrat intelligent d’une DApp demande des données off-chain, comme le résultat d’un certain événement, le contrat intelligent de l’oracle transmet cette demande de données au réseau Oracle. 

Un réseau Oracle est un ensemble d’ordinateurs qui coopèrent pour trouver et vérifier des données. Une fois qu’il a trouvé ces données, atteint un consensus sur leur validité et réformé les données pour qu’elles soient lisibles par la blockchain, le réseau transmet ces données au contrat intelligent Oracle.

Enfin, le contrat intelligent d’oracle transmet les données au contrat intelligent d’origine pour exécuter et valider la transaction initiale avec le contexte supplémentaire fourni par les données off-chain de l’oracle.

Les compromis des oracles de la blockchain

Bien que les oracles DeFi puissent être utiles, ils nécessitent des DApp qui les utilisent pour faire certains compromis.

Certains protocoles reçoivent des éloges parce qu'ils sont "sans oracles" et ne dépendent pas des oracles pour obtenir des informations. Les utilisateurs de blockchain qui comprennent les inconvénients des réseaux Oracle peuvent mieux comprendre la DeFi et mieux évaluer les tokens DeFi.

Vecteurs d’attaque

Les blockchains restent souvent isolées pour une raison : protéger leurs données. 

Autoriser les oracles à apporter des données extérieures on-chain comporte certains risques. 

De nombreux oracles utilisent une infrastructure et des réseaux propriétaires (par exemple, les trois couches de décentralisation dans les flux de prix Chainlink) pour sécuriser et transmettre les données. 

Les pirates peuvent attaquer cette infrastructure d’une manière qu’ils ne peuvent pas attaquer les blockchains. Ainsi, bien que les oracles puissent ajouter des informations utiles à un écosystème de blockchain, ils peuvent également le rendre moins sûr si le réseau est confronté à une attaque coordonnée.

Manipulation des données

Les attaques d’oracle peuvent nuire aux utilisateurs par la manipulation de données de nombreuses manières. 

Par exemple, un pirate peut manipuler un oracle pour signaler le mauvais prix du bitcoin à un marché décentralisé. Dans ce cas, les traders peuvent acheter ou vendre à perte par rapport au bon prix du marché.

De même, des informations de prix incorrectes peuvent déclencher des défauts de paiement et des liquidations de prêts sur les plateformes décentralisées de prêt et de yield farming.

Des informations inexactes sur des événements sportifs peuvent donner lieu à des paiements injustifiés sur les DApp de jeux d’argent. Les pertes des utilisateurs dues à ce type de données manipulées peuvent se déclencher soudainement et être coûteuses pour les utilisateurs.

En 2022, une célèbre plateforme DeFi sur la blockchain Solana appelée Mango Markets (MNGO) a été exploitée en raison de la manipulation d’oracles. 

Le pirate a d’abord fait grimper artificiellement le prix du token natif, MNGO, de près de 30x. Puis, le pirate a drainé le protocole de ses fonds en souscrivant des prêts massifs en utilisant le token MNGO artificiellement gonflé comme garantie. 

L’oracle recevait une mauvaise entrée via un prix du token gonflé, ce qui avait pour effet secondaire de supposer à tort que la garantie du pirate valait beaucoup plus qu’elle ne l’était en réalité.

Comment limiter le risque Oracle

Certains oracles sont plus risqués que d’autres. Par exemple, les réseaux Oracle plus petits ou plus récents peuvent être plus vulnérables aux attaques que les réseaux plus grands et plus anciens qui ont été fiables au fil du temps. 

Les réseaux Oracle plus récents peuvent avoir une infrastructure éprouvée, ce qui peut laisser songeur s’il existe des points de vulnérabilité non découverts.

Une façon de limiter les risques liés aux oracles est de s’engager avec des protocoles qui n’utilisent pas d’oracles ou qui utilisent des réseaux Oracle dont la fiabilité a été démontrée.

Uniswap (UNI) est le parfait exemple d’un protocole DeFi qui n’utilise pas d’oracle et présente donc l’avantage de ne pas en utiliser. 

En raison de la nature des pools de liquidités et de la façon dont ils fixent le prix des actifs, Uniswap ne s’appuie pas sur des données de prix externes. Au lieu de cela, Uniswap est en mesure de générer toutes les données dont elle a besoin pour fonctionner directement à partir de ses propres contrats intelligents.

Oracles populaires sur la blockchain

Bien qu’aucun oracle ne soit garanti à l’abri des cyberattaques, il existe plusieurs services de premier plan que de nombreux traders et protocoles DeFi utilisent : 

Chainlink (LINK) est le principal réseau oracle de la DeFi, permettant plus de 10 000 milliards de dollars de transactions à ce jour. Chainlink propose de nombreux produits, y compris le Cross-Chain Interoperability Protocol, un réseau solide pour la transmission de données entre différentes blockchains. Consultez notre article du Centre d’apprentissage de Kraken intitulé Qu’est-ce que Chainlink ? pour en savoir plus sur le fonctionnement de ce protocole.

LINK icon
$9.020
-0,33 %
24 H
link

Pyth (PYTH) permet de sécuriser et de fournir des données pour des centaines de DApp, principalement des DApp DeFi sur le réseau Solana (SOL).

PYTH icon
$0.043
-3,98 %
24 H
pyth

API3 (API3) fournit des données pour des centaines de DApp différentes. Le réseau regroupe des données directement issues des oracles de première partie pour offrir divers services sur des dizaines de blockchains.

API3 icon
api3
$0.28
-0,31 %
24 H
api3

Band Protocol (BAND) est basé sur le kit de développement logiciel Cosmos (ATOM) et est le plus présent dans l’écosystème Cosmos. Le réseau Oracle joue un rôle important dans la sécurisation de dizaines de DApp et blockchains différentes. Consultez notre article du Centre d’apprentissage de Kraken Qu’est-ce que Band Protocol ? pour en savoir plus sur le fonctionnement de ce protocole.

BAND icon
band
$0.22
-3,28 %
24 H
band

Lancez-vous avec les réseaux Oracle sur Kraken

La plupart des principaux réseaux Oracle disposent de tokens qui contribuent à l’infrastructure du réseau et tirent leur valeur de son succès.

Kraken propose des actifs numériques pour la plupart des principaux réseaux oracles de la DeFi et les actifs qui utilisent leurs services en ce moment.