Pourquoi choisir l'oracle blockchain ?

Sommaire5 sections
  1. 01Pourquoi la chaîne est aveugle par construction
  2. 02Le maillon le plus faible de la chaîne
  3. 03Quatre familles, quatre usages
  4. 04Les questions à poser avant de signer
  5. 05Ce qu’un oracle ne réglera jamais

Un contrat intelligent est aussi solide que la plus mauvaise des données qu’on lui donne à lire. C’est par là qu’il faut prendre la question des oracles, plutôt que par la liste de leurs familles. Une chaîne de blocs ne sait rien de ce qui se passe en dehors d’elle : ni le cours de l’euro, ni le score d’un match, ni la température d’un conteneur réfrigéré. L’oracle est la pièce qui va chercher cette information et la dépose dans la chaîne. Choisir un oracle, c’est donc choisir à qui l’on confie la vérité, et la plupart des vols spectaculaires de la finance décentralisée sont passés par là.

Pourquoi la chaîne est aveugle par construction

Tous les nœuds d’un réseau doivent aboutir au même résultat en rejouant le même code. Si un contrat allait lui-même interroger un site météo, deux nœuds qui l’exécutent à une seconde d’intervalle obtiendraient deux réponses différentes, et le réseau ne trouverait plus d’accord. Cet isolement est la condition même du consensus, et aucune chaîne sérieuse n’y déroge.

D’où le détour par l’oracle. Une donnée extérieure est d’abord écrite dans une transaction, donc inscrite dans un bloc, donc identique pour tout le monde. Ensuite seulement le contrat la lit. L’oracle ne stocke pas la donnée, il la relaie et il en atteste la provenance.

Le maillon le plus faible de la chaîne

Voilà le nœud du problème. Un contrat d’assurance retard de vol peut être audité ligne par ligne, sa logique peut être irréprochable : si l’unique source qui lui dit « le vol a décollé à l’heure » est piratée, bugue ou ment, le contrat exécutera fidèlement une décision fausse. Et il l’exécutera sans recours, puisque personne ne peut annuler.

Le cas le plus fréquent concerne les prix. Un contrat de prêt décentralisé vérifie en continu la valeur de la garantie déposée. Un attaquant qui parvient à faire bouger le prix affiché par l’oracle, ne serait-ce que quelques secondes, emprunte bien au-delà de ce qu’il a déposé et disparaît.

Quatre familles, quatre usages

Les oracles logiciels

Ce sont les plus répandus. Ils interrogent des interfaces web : cours de bourse, taux de change, horaires d’avions, résultats sportifs, données publiques d’un organisme officiel. Rapides à brancher, faciles à mettre à jour, et dépendants de la solidité du site interrogé.

Les oracles matériels

Ici la donnée vient d’un capteur physique posé sur un objet : une sonde de température dans un camion frigorifique, une puce RFID sur une palette, un lecteur de code-barres en entrepôt. Ils servent surtout au suivi de chaîne logistique, où l’enjeu est de prouver qu’un lot n’a pas rompu la chaîne du froid entre Nantes et Marseille. Leur point sensible se déplace vers le matériel lui-même, qui peut être trafiqué sur place.

Les oracles entrants et sortants

Un oracle entrant apporte une information du dehors vers le contrat. Un oracle sortant fait le trajet inverse : le contrat déclenche une action dans le monde physique, comme le déverrouillage d’une serrure connectée une fois le paiement confirmé et la signature cryptographique validée. Les deux sens se combinent dans la plupart des installations sérieuses.

Les oracles à consensus

Plutôt qu’une source, un réseau de fournisseurs indépendants publie chacun sa valeur, et le contrat retient un agrégat, en général la médiane. Une source isolée qui déraille est écartée par le calcul. C’est le modèle retenu par les grands réseaux d’oracles décentralisés, et le seul qui tienne dès qu’il y a de l’argent en jeu.

Les questions à poser avant de signer

Combien de sources indépendantes alimentent la valeur, et sont-elles vraiment indépendantes ou tirent-elles toutes du même fournisseur en amont ? Que fait le contrat si l’oracle cesse de publier pendant deux heures : il se fige, ou il continue avec la dernière valeur connue, ce qui est souvent pire ? À quelle fréquence la donnée est-elle rafraîchie, et qui paie ces écritures ?

Ajoutez un garde-fou simple : un seuil de déviation. Si la nouvelle valeur s’écarte de plus de 10 % de la précédente en une seule mise à jour, le contrat suspend au lieu d’exécuter. Beaucoup d’attaques par manipulation de prix auraient été arrêtées net par cette seule règle.

Ce qu’un oracle ne réglera jamais

Un oracle atteste qu’une donnée vient bien de la source annoncée et qu’elle n’a pas été modifiée en route. Il ne dit rien de sa justesse. Si le capteur est mal calibré ou si l’organisme qui publie le chiffre se trompe, l’erreur entre dans la chaîne et y reste, inscrite pour toujours avec la même autorité que le reste. Multiplier les sources réduit le risque de manipulation, jamais celui d’une erreur partagée par toutes.

Résumer cet article avec :

Partager :

Blockchain