Un oracle (oracle de la chaîne de blocs) c’est un service tiers qui relie le contrat intelligent avec le monde extérieur, principalement pour se nourrir d’informations prises de l’extérieur. L’oracle c’est la couche qui interroge, vérifie et authentifie les sources de données externesgénéralement via des API fiables, des flux de données d’entreprise propriétaires et Internet des objets puis transmet ces informations.
De nombreuses applications Ethereum ils utilisent des oracles. Par exemple, Augure utilise et traite des données et des informations pour comprendre comment réglementer son service de paris. Maillon de chaîne au lieu de cela, il fournit des services réseau Oracle décentralisés à de nombreux chaîne de blocs différent (Maillon de chaîne est très souvent cité comme le meilleur exemple d’oracle dans le monde de la cryptographie).
Des exemples de données transmises des oracles aux contrats intelligents incluent des informations sur les prix, la réussite d’un paiement, la température mesurée par un capteur, les résultats des élections, etc. Les données peuvent être fournies par d’autres logiciels (bases de données, serveurs ou essentiellement toute source de données en ligne) ou par du matériel (capteurs, lecteurs de codes-barres, etc.). Ce sont les soi-disant « oracles entrants » (oracle entrant).
Les « oracles sortants » (oracle sortant) envoient plutôt des informations de contrats intelligents au monde extérieur. Par exemple, un contrat intelligent qui reçoit un paiement peut envoyer des informations via un oracle sortant à un mécanisme qui déverrouille un verrou intelligent.
Si un oracle s’appuie sur une seule source de vérité (centralisée), cela peut être un problème – la source de données pourrait être violée par une attaque l’homme au milieu ou modifié par son propriétaire, afin d’influencer le contrat intelligent. D’où le concept d’oracles décentralisés (oracle consensuel), qui augmentent la fiabilité des informations fournies aux contrats intelligents en interrogeant plusieurs sources de données, distribuant ainsi la confiance entre les participants.