Qu'est-ce qu'un oracle ?

Ce qui n'est pas tout à fait cohérent avec cette appellation quelque peu « inconsciente », c'est qu'un oracle blockchain est une source d'information tierce dont la seule fonction est de fournir des données à la blockchain, permettant ainsi de créer des contrats intelligents.

Fondamentalement, un contrat intelligent n’est qu’un code auto-exécutable. Le contrat intelligent évalue les données entrantes de l'oracle et lance l'exécution en fonction des informations reçues.

Prenons un exemple. Disons que John et John parient sur le prix du Bitcoin ce samedi. Zhang San estime que le prix du Bitcoin sera de 8 500 $ US ou plus. Au contraire, Xiao Hei estime que le prix du Bitcoin sera de 8 000 $ US ou moins. Ils ont donc conçu un contrat intelligent (auquel les deux parties enverraient des fonds), et celui qui prédisait le prix le plus proche du prix réel gagnait les fonds.

Pour que le contrat intelligent puisse déterminer le prix du Bitcoin et ainsi payer le gagnant, il doit interroger le prix du Bitcoin ce samedi via un oracle. Lorsque les données sur le prix du Bitcoin sont interrogées, par exemple, la valeur renvoyée est que le prix du Bitcoin samedi est de 8 600 $, puis le contrat intelligent sera exécuté selon ses conditions et enverra tous les fonds à Zhang San.

02 Types d'oracles

Les oracles fournissent des fonctionnalités supplémentaires aux contrats intelligents en leur fournissant un moyen de communiquer en dehors d'un réseau blockchain décentralisé.

Les oracles de la blockchain peuvent prendre de nombreuses formes, notamment :

1. Oracle logiciel

Cette forme d'oracle comprend généralement des sources d'informations en ligne facilement accessibles, telles que des sites Web et des bases de données publiques. Ils fournissent généralement des informations telles que : des relevés de température, des informations sur les transports publics et les prix actuels de divers actifs financiers.

Les oracles logiciels sont probablement le type d’oracles le plus puissant disponible en raison de leur interconnectivité inhérente avec Internet. Cette connexion permet aux oracles logiciels de fournir des informations à jour sur les contrats intelligents.

2. Matériel Oracle

Cette forme d'oracle est généralement responsable des événements se produisant dans le monde physique et envoie des données aux contrats intelligents. Par exemple, dans la gestion de la chaîne d'approvisionnement, si un objet doté d'une étiquette RFID arrive dans un entrepôt spécifique, ces données peuvent être envoyées à un contrat intelligent et un système Oracle matériel peut suivre les marchandises tout au long de la chaîne d'approvisionnement.

3. Oracle d'entrée

Cette forme de prédicteur a la fonctionnalité de simplement fournir des données à un contrat intelligent. Les données fournies sont externes au contrat intelligent et l'exécution commence après réception des informations. Le site Web d’informations qui fournit les prix du Bitcoin dans l’exemple ci-dessus peut être classé comme un oracle d’entrée.

4. Oracle de sortie

Ces oracles fournissent des données de contrats intelligents à des sources externes. Dans le cas de l'exemple ci-dessus, une fois que John est déterminé comme gagnant, le contrat intelligent peut communiquer cette information au fournisseur de portefeuille afin que son solde soit automatiquement mis à jour pour refléter l'augmentation des fonds.

Dans ce cas, le contrat intelligent lui-même peut fonctionner comme un oracle de sortie.

5. Oracle basé sur le consensus

La fonction d'un tel oracle est d'interroger plusieurs sources d'informations et d'en tirer des résultats basés sur leur consensus. Par exemple, l’exemple ci-dessus pourrait également utiliser 4 sites Web pour rechercher le prix du Bitcoin. Si toutes les sources Oracle (sites Web) renvoient la même valeur, le contrat intelligent peut s'exécuter avec succès.

03 Oracle nécessite de la confiance

Bien que les avantages des oracles soient très évidents, il existe un inconvénient : les oracles nécessitent de la confiance.

La source de données utilisée par l'oracle pour obtenir des informations et les transmettre au contrat intelligent doit être considérée comme fiable. En continuant avec l'exemple ci-dessus, si Zhang San pouvait contrôler d'une manière ou d'une autre ce site Web de prix Bitcoin, il pourrait facilement faire en sorte que le prix Bitcoin retourné atteigne 8 600 $, remportant ainsi la partie.

Ainsi, si les données fournies au contrat intelligent par l’oracle s’avèrent erronées, il existe un problème de sécurité. Une solution possible à ce problème consiste à demander des données à plusieurs bases de données Oracle au lieu d'une seule base de données Oracle.

Par exemple, si un oracle renvoie un prix Bitcoin de 8 600 $ et que 4 autres oracles renvoient un prix de 8 000 $, des conditions supplémentaires peuvent être programmées dans le contrat intelligent pour résoudre le conflit. Le contrat intelligent peut choisir de n'accepter qu'une valeur majoritaire, auquel cas John Doe devient le gagnant.