Oracles crypto : l’infrastructure dont dépend chaque protocole DeFi
Un protocole de prêt DeFi doit connaître le prix actuel de votre collatéral avant de pouvoir liquider votre position. Les blockchains ne peuvent pas récupérer ces données elles-mêmes. C'est ce vide que comblent les oracles, et c'est aussi là que se sont produits certains des plus grands exploits de l'histoire de la DeFi.
Key takeaways
- Une blockchain est un système déterministe.
- Un oracle est un service hors chaîne qui collecte des données externes, les signe et les soumet à la blockchain sous forme de transaction.
- La réponse dominante au problème de confiance est un réseau d’oracles décentralisé.
- Certains protocoles choisissent de ne pas dépendre du tout de réseaux d’oracles externes, et lisent à la place le prix directement depuis un AMM on-chain.
- Les exploits d’oracles ont coûté des centaines de millions de dollars à l’écosystème DeFi.
Un protocole de prêt DeFi doit connaître le prix actuel de votre collatéral avant de pouvoir liquider votre position. Les blockchains ne peuvent pas récupérer ces données elles-mêmes. C’est ce vide que comblent les oracles, et c’est aussi là que se sont produits certains des plus grands exploits de l’histoire de la DeFi.
Pourquoi les blockchains ne peuvent pas lire le monde extérieur
Une blockchain est un système déterministe. Chaque nœud exécutant le même code avec les mêmes entrées doit aboutir au même résultat. Si un smart contract pouvait effectuer une requête HTTP vers une API de prix, différents nœuds pourraient recevoir des réponses différentes à des moments différents, brisant le consensus. La blockchain est donc isolée par conception : elle ne peut voir que les données qui ont été inscrites sur la chaîne elle-même.
Cela pose un problème pour tout protocole ayant besoin d’informations du monde réel. Un protocole de prêt a besoin du prix du collatéral d’un emprunteur pour savoir quand déclencher une liquidation. Un marché de prédiction a besoin du résultat d’un événement. Un pont inter-chaînes doit savoir si un dépôt a été confirmé sur la chaîne d’origine. Aucune de ces données n’existe nativement sur la blockchain de destination.
Ce que fait un oracle
Un oracle est un service hors chaîne qui collecte des données externes, les signe et les soumet à la blockchain sous forme de transaction. Le smart contract lit cette transaction comme sa source de vérité. Le problème central des oracles n’est pas technique — envoyer un prix à une chaîne est trivial. Le problème, c’est la confiance : comment savoir que les données sont exactes, et comment empêcher l’opérateur de l’oracle de les manipuler pour en tirer profit aux dépens des utilisateurs du protocole ?
Un oracle centralisé unique, géré par une seule partie, résout le problème technique mais crée un point de défaillance unique et un conflit d’intérêts massif. Si l’opérateur de l’oracle peut manipuler le prix qu’il rapporte, il peut emprunter contre un collatéral gonflé, ou déclencher des liquidations injustes sur des emprunteurs honnêtes et empocher la pénalité.
Réseaux d’oracles décentralisés
La réponse dominante au problème de confiance est un réseau d’oracles décentralisé. Plusieurs opérateurs de nœuds indépendants récupèrent chacun les mêmes données auprès de plusieurs sources, agrègent leurs réponses (généralement en prenant la médiane) et soumettent une valeur de consensus on-chain. Manipuler le résultat nécessite de corrompre simultanément une majorité de nœuds indépendants, ce qui est coûteux et détectable.
Chainlink, lancé en 2019, est devenu le réseau d’oracles décentralisé le plus utilisé. Il exploite un ensemble de contrats de « price feed » sur Ethereum et de nombreuses autres chaînes, chacun entretenu par des dizaines d’opérateurs de nœuds indépendants qui mettent en stake des LINK en garantie contre les mauvais comportements. Les feeds se mettent à jour selon un rythme régulier (généralement toutes les heures) et chaque fois que le prix dévie au-delà d’un seuil (couramment 0,5 %). Des protocoles comme Aave, Compound et Synthetix s’appuient sur les feeds de Chainlink pour leur logique de liquidation centrale. Les données sur le réseau Chainlink sont suivies sur des explorateurs publics et sur le tableau de bord des data feeds du protocole lui-même.
D’autres approches incluent network/" class="twl-coinlink">Pyth Network, qui agrège des données directement auprès de sociétés de trading institutionnelles et publie des feeds à très faible latence conçus pour les protocoles de futures perpétuels, et Band Protocol, qui suit un modèle multi-nœuds similaire à celui de Chainlink mais construit initialement sur les chaînes Cosmos. Le tableau de bord DeFi Llama suit la valeur totale verrouillée dans les protocoles qui consomment ces feeds, donnant une idée de ce qui est en jeu si un feed venait à être compromis.
Prix on-chain contre prix de l’oracle : le TWAP
Certains protocoles choisissent de ne pas dépendre du tout de réseaux d’oracles externes, et lisent à la place le prix directement depuis un AMM on-chain. Uniswap V2 a introduit un feed de prix moyen pondéré dans le temps (TWAP) qu’un contrat externe pouvait lire : le prix moyen sur une fenêtre récente configurable. Comme un attaquant devrait déplacer le prix et le maintenir pendant toute la fenêtre de moyennage — une opération coûteuse et visible —, le TWAP est raisonnablement résistant à la manipulation par flash loan.
L’inconvénient est la latence. Un TWAP qui fait la moyenne sur trente minutes accusera un retard de trente minutes sur un marché qui bouge rapidement, ce qui peut laisser un protocole de prêt utiliser des prix de collatéral obsolètes pendant un flash crash. Les protocoles doivent choisir entre fraîcheur et résistance à la manipulation.
Exploits de manipulation d’oracles
Les exploits d’oracles ont coûté des centaines de millions de dollars à l’écosystème DeFi. Le schéma le plus courant utilise un flash loan : emprunter une somme importante en une seule transaction, l’utiliser pour déplacer le prix sur un AMM à faible liquidité qu’un protocole de prêt utilise comme oracle, emprunter contre le collatéral gonflé, et rembourser le flash loan — le tout avant que la transaction ne soit annulée. Comme tout se déroule de manière atomique au sein d’un seul bloc, il n’y a pas de temps pour que le prix revienne à la normale. L’attaque est rentable si le prêt du protocole dépasse ce que l’attaquant peut emprunter sur le marché libre.
L’exploit de Mango Markets en octobre 2022 a utilisé une variante de cette approche, manipulant le prix oracle du token MNGO pour emprunter près de 116 millions de dollars au protocole Mango lui-même. L’attaquant a ensuite soumis une proposition de gouvernance offrant de restituer la majeure partie des fonds en échange d’une immunité de poursuites, proposition que les détenteurs du token du protocole ont votée en faveur.
Pour les protocoles de la monétaire ou de dérivés.
Oracles et ponts inter-chaînes
À mesure que l’activité s’est étendue d’Ethereum vers d’autres chaînes, dont BNB Chain, Avalanche et Arbitrum, le problème des oracles a acquis une dimension inter-chaînes. Un pont qui permet aux utilisateurs de déplacer de l’ETH d’Ethereum vers Arbitrum doit vérifier que le dépôt a bien été effectué sur Ethereum. Cette vérification est elle-même un problème d’oracle : la chaîne de destination ne peut pas voir directement l’état de la chaîne d’origine.
Les ponts optimistes supposent que le transfert est valide et autorisent une fenêtre de contestation. Les ponts ZK utilisent des preuves cryptographiques pour attester de l’état de la chaîne d’origine avec des garanties mathématiques. Ces derniers sont plus sûrs mais coûteux en calcul, ce qui explique pourquoi la plupart des ponts en production utilisent encore une forme de multisignature ou d’attestation par comité, réintroduisant les hypothèses de confiance que les réseaux d’oracles décentralisés étaient censés éliminer.
Que rechercher lors de l’évaluation d’un protocole DeFi
Avant d’interagir avec un protocole de prêt ou de dérivés, il vaut la peine de comprendre la conception de son oracle. Questions clés : utilise-t-il un feed décentralisé ou une source unique ? Quel est le nombre minimum de rapports d’oracle nécessaires pour mettre à jour le prix ? Existe-t-il un coupe-circuit qui suspend les emprunts si le prix évolue de manière anormale ? Le code a-t-il été audité par un cabinet expérimenté dans les vecteurs d’attaque sur les oracles ? La basés sur des modèles pour toute pièce suivie ici, consultez la Chainlink : qu’est-ce qu’un oracle blockchain ? (documentation Chainlink Labs)
Cet article est fourni à titre d’information et d’éducation uniquement. Il ne constitue pas un conseil financier ni une recommandation d’utiliser un quelconque protocole DeFi. Le risque lié aux smart contracts, le risque de manipulation des oracles et l’incertitude réglementaire s’appliquent à tous les protocoles décentralisés. Effectuez vos propres recherches avant de déposer des fonds.


