Qu'est-ce qu'un Oracle (crypto) ?

Les Oracles sont les yeux de la blockchains. Ils permettent de voir le monde en dehors. Explications.

Oracle by Daniel Hammer from the Noun Project

Un oracle est une couche logicielle permettant à la blockchain de communiquer avec le monde réel. Ils sont les yeux et la bouche de la blockchain. Sans eux, les smarts contracts sont prisonnier de la blockchain, et leur portée reste très limitée. Impossible, par exemple, de concevoir un système de paris sportifs décentralisé.

Les types d'oracles

Il y a 3 facteur globalement considérés dans la classification d'un oracle.

  • Le type de source : logicielle ou matérielle
  • La direction : information entrantes ou sortantes
  • Le fonctionnement de l'oracle

Le type de source : logicielle ou matérielle ?

Le premier facteur est le plus simple à comprendre : un oracle peut tout aussi bien être un logiciel qui surveille des évolutions de prix qu'un capteur météo placé quelque part. La source de données peut être physique ou logicielle. Par exemple, dans le cas ou on voudrait tracer l'origine des produits alimentaires sur une blockchain, les oracles seraient probablement des scanners de code-barre, distribués géographiquement. Les produits seraient scannés à la source, puis à chaque étape de leur chaine de distribution.

La direction : les yeux ou la bouche ?

Le second facteur distingue le type d'oracle : fournit-il des informations à la blockchain, ou permet-il à la blockchain de communiquer avec l'extérieur ? Est-il un oeil pour les smart contracts, leur permettant de voir le monde extérieur, ou alors une bouche, qui permet d'envoyer des ordres ou des informations à celui-ci ? Avec des oracles entrants et sortants, il est tout à fait possible d'avoir des smart contracts qui communiquent avec d'autres marchés que celui des cryptomonnaies, par exemple, ce qui démultiplie les usages. À quand un stablecoin indexé sur la valeur du SP500 ? Des smart contracts qui achètent des matières premières aux meilleurs prix ? Une carte vitale mondialisée sur laquelle les informations deviennent temporairement accessible à un médecin ? Des assurances hyper-spécifiques permettant de se prémunir des risques particuliers qu'une entreprise peut rencontrer ?

Le fonctionnement de l'oracle

Le troisième et dernier facteur est le système de l'oracle lui-même. Est il centralisé ou décentralisé ? Comment les informations sont elles-vérifiées ? Y'a t'il de multiples sources ? Un système de vote pour choisir ? Chaque smart contract devra décider quels oracles utiliser, et quel niveau de confiance leur accorder.

Dans certaines cas, on peut choisir de faire confiance à certaines sources de données centralisées :

  • Parce que le risque est faible : par exemple, si vous voulez confier un calcul complexe à Wolfram Alpha, ou si vous voulez lui demander quelle est la distance entre Los Angeles et New York pour estimer le prix de l'essence pour aller de l'un à l'autre. Peu de chance qu'il réponde à côté.
  • Parce que l'information que vous voulez est centralisée par essence : Si votre smart contract a besoin d'utiliser le prix d'achat du pétrole par Exxon Mobil, alors la décentralisation ne sert à rien: C'est Exxon qui décide de à quel prix elle achète le pétrole. C'est pareil si vous voulez savoir qui est ranké #1 dans les résultat de recherche Google pour "Bitcoin", ou de combien est l'impôt sur les société en France cet année. Si Google ou L'Etat français fournissent des API pour ça, autant les utiliser : des oracles centralisés feront aussi bien l'affaire.

Mais lorsque nous ne sommes pas dans ces situations et que les enjeux sont élevés, on préfèrera faire confiance à des oracles décentralisés comme BAND ou LINK. Pour connaître le cours actuel d'un Bitcoin qui change tout le temps, il vaut mieux une source de données décentralisée et fiable, carun mensonge volontaire ou un bug dans vos sources de données pourrait avoir des conséquences dramatiques.

Les oracles décentralisés : multiplier les sources pour une meilleure fiabilité

Les oracles décentralisés sont des réseaux qui organisent la collecte des informations et leur vérification de façon décentralisée. Ils multiplient les sources de données, récupèrent les résultats, les vérifient, les authentifient, et les envoient aux smart contracts. Un peu ce que vous devriez faire lorsque vous vous renseignez sur Internet, en somme.

Dans le cas de Chainlink ou BAND Protocol, par exemple, les noeuds du réseau doivent mettre en jeu (staking) leurs tokens LINK ou BAND, qui peuvent leur être retirés s'ils fournissent des mauvaises données aux système. Les noeuds ont également une réputation qui augmente ou diminue en fonction de la qualité des réponses qu'ils apportent au réseau. En fonction de cette réputation, ils se verront confier plus ou moins de requêtes dans le futur.

Comment ChainLink récupère les données, les fournit au blockchains, puis transfèrent les données des blockchains au reste du monde.

Chaque smart contrat spécifie les critères avec lesquels il veut que l'information soit récupérée (nombre de sources différentes, vitesse, réputation des noeuds, niveaux de vérification, etc). Le réseau se charge ensuite de récupérer et de fournir ces données avec les critères demandés. Le smart contract payera le prix adéquat pour celà.

Les oracles décentralisé utilisent également des systèmes de signatures et d'authentification pour vérifier que l'information n'est pas altérée sur le chemin. Chaque noeud qui aura récupéré l'information auprès d'une source disponible encryptera l'information avec sa clé privée. Il sera alors impossible d'altérer l'information par la suite.

Si les oracles sont capables de multiplier les sources, ils ne sont pas pour autant une source de vérité absolue. La décentralisation du processus ne doit pas empêcher les développeurs de rester vigilant quant à la qualité des informations qu'ils récupèreront. En effet, il peut exister des dizaines d'APIs sur Internet proposant d'accéder à des données météorologiques, mais celà n'empêche pas que toutes ces données peuvent provenir des mêmes capteurs. Les oracles mettent un pied dans un monde pour lequel la décentralisation n'a pas été le paradigme dominant au moment de sa construction, il ne faut jamais l'oublier. La centralisation attend à chaque zone d'ombre, prête à surgir. Le combat des oracles contre celle-ci est particulièrement périlleux, et il faudra du temps pour qu'ils parviennent à s'en affranchir efficacement.