Contenu de cet article
- Qu'est-ce qu'un oracle blockchain ?
- Exemples d'oracle blockchain
- Quels sont les différents types d'oracles blockchain ?
- Le problème des Oracles
- Conclusion
Qu'est-ce qu'un oracle blockchain ?
C'est là que les oracles blockchain entrent en jeu, car ils fournissent un lien entre des données hors-chaîne et des données sur chaîne. Les Oracles sont vitaux au sein de l'écosystème blockchain, car ils élargissent le champ d'application des contrats intelligents. Sans oracles blockchain, les contrats intelligents auraient un usage très limité car ils n'auraient accès qu'aux données présentes sur leurs réseaux respectifs.
Il est important de noter qu'un oracle blockchain ne constitue pas la source de données elle-même, mais plutôt la couche qui interroge, vérifie et authentifie les sources de données externes, puis relaie ensuite les informations. Les données transmises par les oracles se présentent sous de nombreuses formes – informations sur les prix, réalisation d'un paiement, température mesurée par un capteur.
Pour appeler des données provenant du monde extérieur, le contrat intelligent doit être invoqué et des ressources réseau doivent être dépensées. Certains oracles ont également la capacité de transmettre non seulement des informations aux contrats intelligents, mais aussi de les renvoyer ensuite à des sources externes.
Il existe de nombreux types d'oracles, le fonctionnement d'un oracle blockchain dépend entièrement de ce pour quoi il a été conçu. Cet article passera en revue certaines de ces conceptions.
Exemples d'oracle blockchain
Supposons qu’Alice et Bob placent un pari sur qui sera le vainqueur de l’élection présidentielle américaine. Alice pense que le candidat républicain va gagner, tandis que Bob croit que le démocrate sera le vainqueur. Ils s'accordent sur les conditions de la mise et verrouillent leurs fonds dans un contrat intelligent, qui enverra tous les fonds au vainqueur du pari en fonction des résultats des élections.
Sans oracle relayant les données, il n'y aurait pas eu de moyen de régler ce pari d'une manière fiable et non corruptible par l'un des participants.
Quels sont les différents types d'oracles blockchain ?
Les oracles blockchain peuvent être classés en fonction d'un certain nombre de qualités différentes:
- La Source – les données proviennent-elles d'un logiciel ou d'un périphérique matériel ?
- La Direction des informations – sont-elles entrantes ou sortantes ?
- La Confiance – est-il centralisé ou décentralisé ?
Un seul oracle peut être classé dans plusieurs de ces catégories. Par exemple, un oracle qui fournit des informations à partir du site Web d'une entreprise est un oracle logiciel d'entrée centralisé.
Oracles logiciels
Les oracles logiciels interagissent avec des sources d'informations en ligne et les transmettent à la blockchain. Ces informations peuvent provenir de bases de données en ligne, de serveurs, de sites Web – essentiellement, de n'importe quelle source de données sur le Web.
Le fait que les oracles logiciels soient connectés à Internet leur permet non seulement de fournir des informations à des contrats intelligents, mais aussi de transmettre ces informations en temps réel. Cela fait d'eux l'un des types les plus courants d'oracles blockchain.
Oracles matériels
Certains contrats intelligents doivent avoir une interface avec le monde réel. Les oracles matériels sont conçus pour obtenir des informations du monde physique et les mettre à la disposition des contrats intelligents. Ces informations pourraient être transmises à partir de capteurs électroniques, de scanners de codes-barres et d'autres dispositifs de lecture d'informations.
Un oracle matériel "traduit" essentiellement des événements réels en valeurs numériques qui peuvent être comprises par des contrats intelligents.
Par exemple, on pourrait avoir un capteur qui vérifie si un camion transportant des marchandises est arrivé dans une baie de chargement. Si c'est le cas, il transmet l'information à un contrat intelligent qui peut ensuite exécuter des décisions basées sur cette information.
Oracles d'entrée et de sortie
Les oracles d'entrée transmettent des informations à partir de sources externes vers des contrats intelligents, tandis que les oracles de sortie envoient des informations provenant de contrats intelligents vers le monde extérieur.
Oracles centralisés et décentralisés
Un oracle centralisé est contrôlé par une seule entité et constitue le seul fournisseur d'informations pour le contrat intelligent dont il est question. L'utilisation d'une seule source d'information peut être risquée – l'efficacité du contrat dépend entièrement de l'entité contrôlant l'oracle. En outre, toute interférence malveillante d'un mauvais acteur aura un impact direct sur le contrat intelligent. Le principal problème des oracles centralisés, c'est l'existence d'un point de faille unique, ce qui rend les contrats moins résistants aux vulnérabilités et aux attaques.
Les oracles décentralisés partagent certains objectifs similaires à ceux des blockchains publiques – éviter les risques de contrepartie. Ils augmentent la fiabilité des informations fournies aux contrats intelligents en ne reposant pas sur une seule source de vérité. Le contrat intelligent interroge plusieurs oracles pour déterminer la validité et la précision des données – c'est pourquoi les oracles décentralisés peuvent également être appelés oracles de consensus.
Certains projets blockchain fournissent des services oracle décentralisés à d'autres blockchains. Les oracles décentralisés peuvent également être utiles sur les marchés de prédiction, où la validité d'un certain résultat peut être vérifiée par consensus social.
Oracles spécifiques à un contrat
Un oracle spécifique à un contrat est conçu pour être utilisé par un seul contrat intelligent. Cela signifie que si l’on veut déployer plusieurs contrats intelligents, un nombre proportionnel d’oracles spécifiques doit être développé.
Ce type d'oracle est considéré comme très chronophage et coûteux à entretenir. Les entreprises qui veulent extraire des données à partir de diverses sources peuvent trouver cette approche plutôt impraticable. D'un autre côté, puisque les oracles spécifiques à un contrat peuvent être conçus à partir de zéro pour servir un cas d'utilisation spécifique, les développeurs en tirent une grande flexibilité pour les adapter à des exigences spécifiques.
Oracles humains
Le problème des Oracles
Puisque les contrats intelligents exécutent des décisions basées sur des données fournies par des oracles, ils sont essentiels pour parvenir écosystème blockchain sain. Le principal défi de la conception d'oracles est que si l'oracle est compromis, le contrat intelligent s'appuyant sur lui est également compromis. C'est ce que l'on appelle généralement le problème des Oracles.
Sachant que les oracles ne font pas partie du consensus principal d'une blockchain, ils ne font malheureusement pas partie des mécanismes de sécurité que les blockchains publiques peuvent fournir. Le conflit de fiabilité entre des oracles tierces et l'exécution sans besoin de confiance de contrats intelligents reste un problème non résolu dans sa globalité.
Les attaques dites de l'homme-intermédiaire peuvent également constituer une menace, dans celles-ci, un acteur malveillant parvient à accéder aux flux de données entre les oracles et les contrats, pour ensuite les modifier ou les falsifier.
Pour conclure
L'existence d'un mécanisme fiable qui facilite la communication entre les contrats intelligents et le monde extérieur est vital pour l'adoption mondiale des blockchains. Sans oracles blockchain, les contrats intelligents ne devraient compter que sur des informations déjà au sein de leurs réseaux, ce qui limiterait considérablement leurs capacités.