Introduction
La blockchain et les contrats intelligents sont des systèmes fermés. Cependant, les contrats intelligents en chaine ont très souvent besoin d’acquérir des informations du monde extérieur pour l’exécution du code. C’est là qu’intervient l’Oracle que nous présenterons dans cet article.
Définition
Un Oracle blockchain est un élément qui permet d’acquérir des données réelles du monde extérieur (données hors chaine) afin de les connecter avec les données de la blockchain (données en chaine) pour exécuter le programme. L’oracle agit ainsi comme une API (Application Programming Interface) qui une interface servant de pont entre les blockchain et le monde extérieur.
On entend par « données du monde extérieur » des données comme le résultat d’un match de football, d’une élection, du retard ou annulation de vol d’une compagnie aérienne, de la météo, du cours d’un actif financier, l’authenticité d’une œuvre d’art, la survenue d’un sinistre etc…
Fonctionnement d’un Oracle
Le principe de fonctionnement d’un oracle est simple. En effet, il collecte, vérifie analyse et authentifie des données hors chaine provenant de différentes sources qu’il livre ensuite au système fermé ou au contrat intelligent. Les données transmises peuvent concernés des payements, les prix, les conditions météorologiques comme citer ci-haut.
L’oracle doit alors se connecter aux meilleures sources d’informations comme des sites gouvernementaux, des capteurs de température, des institutions crédibles, des plateformes spécialisées, et biens d’autres puis, les traiter afin d’aboutir à un résultat au plus proche du réel. Le réseau Chainlink en est un bon exemple.
Les types d’oracles blockchain
En fonction de l’endroit où ils obtiennent leurs données, les oracles peuvent être classés en différents groupe :
- Les Oracles Harware (oracles physique): ils reçoivent leurs informations à partir de dispositifs multiples d’acquisition tels que des capteurs de température, de direction du vent, de position du soleil, de capteurs sonores, de capteurs de pressions, de mouvement ou encore de QR code et code barre.
- Les oracles Software (oracle logiciel): ce types d’oracles obtiennent et fournissent des données à partir des services internet tels que des serveurs des sites web et des bases de données. Ils peuvent fournir des données en temps réel comme les fluctuations des prix d’un actif, les taux de change ou les cours de matière première.
Pourquoi faire confiance à un Oracle ? Pour faire confiance aux Oracles il est nécessaire de ne pas sélectionner une seule source de données. Imaginez si cette source venait à être erronée (piratage, erreur, manipulation…), alors la blockchain se baserait sur des données erronées également : c’est le principal problème que rencontre les oracles. En effet le Single Point of Failure (SPF) est une partie du mécanisme que s’il tombe en panne ou est indisponible, cela entrainera l’arrêt de tout le système.
Les grandes familles d’oracle
- Les oracles centralisés : ce sont des oracles contrôlés par un tiers qui est le principal fournisseur de données. Le SPF est le point critique d’un oracle centralisé car l’oracle obtient ses informations d’une seule source et peut donc être sujet au piratage ou la mise hors service du capteur.
- Les oracles décentralisés : ces oracles ont le potentiel de résoudre le principal problème de l’oracle. En effet le système ne se basera pas sur une ou quelques sources d’informations mais sur une myriade de sources indépendantes les unes des autres et qui n’ont aucun lien ou aucune connaissance comme telle. Le résultat sera donc basé sur un poids majoritaire des sources d’informations comme par exemple la valeur la plus fournie par les capteurs. Chainlink, MakerDao, Band Protocol et Augur développent des oracles décentralisés pour la résolutiion du problème de l’oracle.
- Les oracles humains : ici, des personnes procédant de connaissances spécialisées dans des domaines précis, peuvent être pris comme des oracles à un système donné. Ces personnes collectent et vérifient l’authenticité des informations et valident les données pour les contrats intelligents. Étant donné que les oracles humains peuvent vérifier leur identité à l’aide de la cryptographie, la possibilité qu’un fraudeur falsifie leur identité et fournisse des données corrompues est relativement faible.
L’exemple le plus illustratif de l’oracle est que vous pouvez en créer un pour suivre le cours d’une action comme le celle de Google et agir sur ce marché d’action Google. Le Protocol Mirror en est un bon exemple. Par la mise sur pied des jetons comme mGoog, mAApl, mAMZN, le protocol permet aux investisseurs de suivre les actions de Google, Apple Amazone et bien d’autres sans être propriétaire réel des actions en question.
En fonction de la direction des données dans le réseau, on entend généralement parler d’Oracle Entrant (les données vont du monde physique vers la blockchain), d’Oracle Sortant (les données vont de la blockchain vers le monde physique) et d’Oracle Prédictif permettant de confirmer des résultats futurs, notamment grâce à la sagesse des foules.
Conclusion
De ce qui précède, nous pouvons conclure que les oracles facilitent la communication entre la blockchain et le monde extérieur ce qui en fait un élément fondamental à l’adoption des crypto-monnaies. L’évolution de la technologie dans le domaine des blockchains oracle devra davantage se pencher sur le problème qu’ils rencontrent qu’est le Single Point of Failure (SPF) ou Point de Défaillance Unique.
Sources : https://www.coinhouse.com/, https://cryptoast.fr/, https://academy.binance.com/, https://www.cointribune.com/,