Leçon 2

Le mécanisme de base des oracles

Dans la leçon précédente, nous avons vu pourquoi les blockchains ont besoin d'oracles : une blockchain étant un système fermé, les smart contracts n'ont pas accès directement aux données du monde réel, d'où la nécessité d'un mécanisme permettant d'intégrer de façon sécurisée des informations off-chain sur la blockchain. Les oracles constituent l'infrastructure clé reliant les univers on-chain et off-chain. Néanmoins, le fonctionnement des oracles ne se limite pas à la simple lecture de données et à leur transfert vers la blockchain. Un système d'oracle fiable comprend généralement plusieurs composantes, parmi lesquelles la collecte des données, la validation, la publication on-chain et les mécanismes de mise à jour. Si ces éléments ne sont pas conçus de manière rigoureuse, des données incorrectes peuvent être inscrites sur la blockchain, ce qui mettrait en péril la sécurité de l'ensemble de l'écosystème DeFi. Dans cette leçon, nous détaillerons de façon systématique le processus de fonctionnement des oracle

Acquisition de données : comment les informations hors chaîne sont collectées

La première étape d’un système d’oracle consiste à acquérir les données nécessaires provenant du monde réel ou d’Internet. Ces données peuvent être issues des prix sur les plateformes d’échange, des indices des marchés financiers, des informations météorologiques, des résultats sportifs ou encore de dispositifs IoT.

En pratique, les oracles collectent généralement des données auprès de plusieurs sources, plutôt que de se fier à une seule. En effet, une source unique peut être erronée, retardée ou manipulée. En recueillant des données de différentes origines, le système améliore la fiabilité des informations et réduit les risques.

Les sources de données courantes comprennent :

  • Données de plateformes d’échange centralisées (prix du marché spot ou des produits dérivés)
  • Données de transactions on-chain (prix des transactions DEX ou indicateurs TWAP)
  • Fournisseurs de données professionnels (plateformes financières ou fournisseurs d’indices)
  • Systèmes d’information du monde réel (météo, vols, événements sportifs, etc.)

La collecte des données est généralement assurée par des nœuds oracles. Ces nœuds exécutent des logiciels spécifiques, surveillent en continu les sources de données externes et transmettent les dernières informations au réseau oracle pour traitement ultérieur.

Validation des données : prévention des erreurs et de la manipulation

Si un oracle se contentait de téléverser les données sur la blockchain, le système resterait vulnérable aux erreurs ou à la manipulation. C’est pourquoi la plupart des systèmes d’oracle effectuent une validation et une agrégation avant d’intégrer les données sur la chaîne.

Ce processus s’effectue généralement par collaboration entre plusieurs nœuds. Différents nœuds soumettent les données qu’ils ont collectées, qui sont ensuite agrégées via des algorithmes comme la moyenne ou la médiane. Ainsi, même si certains nœuds transmettent des données incorrectes, cela n’aura pas d’impact significatif sur le résultat final.

Certains réseaux d’oracle mettent également en place des mécanismes de sécurité supplémentaires tels que :

  • Systèmes de réputation des nœuds : évaluation de la fiabilité des nœuds selon leur performance historique
  • Mécanismes de staking et de pénalités : les nœuds doivent mettre en jeu des tokens et peuvent être sanctionnés en cas de soumission de données erronées
  • Algorithmes de détection d’anomalies : identification des valeurs aberrantes qui s’écartent fortement de la majorité des données

Grâce à ces mécanismes, les systèmes d’oracle peuvent limiter la manipulation malveillante des données et améliorer la qualité globale des informations.

Données on-chain : comment les smart contracts accèdent aux données externes

Après validation et agrégation, les nœuds oracles soumettent le résultat final sur la blockchain et l’intègrent dans des smart contracts spécifiques. Ce processus est couramment appelé “price feed”.

Du point de vue des smart contracts, les données des oracles ne proviennent pas directement du monde extérieur, mais sont stockées dans un contrat de données on-chain. Les autres protocoles DeFi n’ont qu’à appeler l’interface de ce contrat pour consulter les données les plus récentes.

Par exemple, lorsqu’un protocole de prêt détermine si un compte doit être liquidé, il peut suivre la logique suivante :

  1. Appeler le contrat oracle pour obtenir les prix des actifs
  2. Calculer la valeur des actifs en garantie
  3. Déterminer si elle est en dessous du seuil de liquidation
  4. Si les conditions sont réunies, exécuter la liquidation

De cette manière, les oracles deviennent un point d’entrée clé pour les applications on-chain, permettant aux smart contracts d’exécuter une logique automatisée basée sur des informations du monde réel.

Fréquence de mise à jour des données et mécanismes de synchronisation des prix

Dans les applications financières, la rapidité des données est également essentielle. Si les mises à jour des prix sont trop lentes, cela peut entraîner des retards de liquidation, augmenter les opportunités d’arbitrage ou même provoquer un risque systémique. Par conséquent, les systèmes d’oracle mettent généralement en œuvre des mécanismes spécifiques de mise à jour des données.

Différents scénarios d’application imposent des exigences variées en matière de fréquence de mise à jour. Certains protocoles requièrent des mises à jour des prix quasi en temps réel, tandis que d’autres privilégient la stabilité des données. Pour équilibrer efficacité et coûts, les oracles adoptent en général plusieurs stratégies de mise à jour.

Les mécanismes courants incluent :

  • Mises à jour programmées : actualisation des données à intervalles fixes
  • Déclencheurs de déviation de prix : actualisation lorsque les prix du marché dépassent un certain seuil
  • Déclencheurs à la demande on-chain : actualisation uniquement lorsque les smart contracts sollicitent des données

La conception de ces mécanismes doit prendre en compte les coûts réseau, la précision des données et la volatilité du marché. Si les mises à jour sont trop fréquentes, les coûts des transactions on-chain augmentent fortement ; si elles sont trop lentes, les prix peuvent accuser un retard important.

Il s’agit donc de trouver un équilibre entre efficacité, coût et sécurité, ce qui représente un défi majeur dans la conception des systèmes d’oracle.

Clause de non-responsabilité
* Les investissements en cryptomonnaies comportent des risques importants. Veuillez faire preuve de prudence. Le cours n'est pas destiné à fournir des conseils en investissement.
* Ce cours a été créé par l'auteur qui a rejoint Gate Learn. Toute opinion partagée par l'auteur ne représente pas Gate Learn.