Les Oracles, lien entre la blockchain et le monde – Ethereum comment débuter

  • Léo Pestre Le Monde Des Cryptomonnaies: Le Livre Pour Débuter Dans Le Monde De La Blockchain
    Binding : Taschenbuch, Label : Independently published, Publisher : Independently published, medium : Taschenbuch, numberOfPages : 100, publicationDate : 2023-01-19, authors : Léo Pestre
  • le lien entre les mondes apassia
    apassia
  • Au-delà de tout: la vie !: Le coma, un lien entre deux mondes Couderc Jouzeau, Brigitte MINDSET EDITIONS
    Couderc Jouzeau, Brigitte
?>

Le potentiel d'Ethereum sera réalisé (ou non) grâce à l'utilisation qui sera faite "Smart-contract", des programmes informatiques qui sont exécutés de manière décentralisée et qui offrent une polyvalence inégalée au protocole. Pour implémenter de nombreux cas d'utilisation, Contrat intelligent doit cependant pouvoir fonctionner sur la base des données existantes à l'extérieur de la blockchain: qui a gagné ce match, quel est le prix EUR / USD à un instant T, quelle est la météo, la serrure électronique est ouverte, etc. Cependant, ces données ne sont pas disponibles sur une blockchain, qui par conception ne peut pas récupérer directement des informations à partir d'une source de données externe. Pour ces points de contact entre la blockchain et le monde réel, le concept Oracle a été inventé.

La technologie communément appelée "blockchain" ne permet pas la collecte de données à partir d'une source externe, et Ethereum ne fait pas exception. C'est la fonction même de la blockchain qui rend la tâche difficile. En effet, chaque participant à la blockchain doit pouvoir reconstituer à tout moment les différentes transactions qui s'y sont déroulées pour vérifier leur intégrité. Pour cela, chaque bloc de transaction est lié au suivant par son empreinte ou hachage, qui détermine la continuité de la blockchain.

Et si un protocole blockchain utilise un service externe? L'une des transactions dans un bloc X dépendra du contenu de ce service externe. Chaque fois qu'une personne télécharge la blockchain, un nouvel appel sera effectué vers ce service externe, qui est déjà un problème de chargement pour ce service. Mais le vrai souci se pose si ledit service n'offre plus les informations (il est hors ligne, piraté, etc.) ou s'il répond avec d'autres informations: le bloc X ne peut pas être résolu de la même manière que la première fois. Son contenu et donc son encombrement ne sont plus identiques, et le lien entre celui-ci et le bloc X + 1 n'est plus valide. Il en va de même pour les suivants. Cela peut arriver six mois, un an, dix ans après la validation du bloc X. L'ensemble de la blockchain créée après ce bloc ne peut alors plus être vérifié et l'immuabilité de la blockchain est remise en cause.

Pour cette raison, aucune fonction d'Ethereum ou de toute autre blockchain ne permet l'utilisation d'un service externe. La blockchain est donc aveugle au monde extérieur par la construction.

Oracle est un service responsable de la saisie manuelle de données externes dans la blockchain. Au temps T, qui a été défini à l'avance, le service récupérera les informations demandées et les insérera dans la blockchain à l'emplacement qui lui est désigné. Quand Contrat intelligent qui nécessite que ces données soient exécutées (au temps T), il recherchera des données sur la blockchain, à l'adresse spécifiée et s'exécutera en fonction de ces données.

Par exemple, Oracle est entré à minuit le 8 juillet 2016 à l'adresse 0x3615087316813abba … que la France a gagné 2-0 contre l'Allemagne à l'euro. Lors de la mise en œuvre du 9 juillet, le contrat de jeu intelligent qui utilise ces informations prévoit que le joueur A a perdu parce qu'il avait envoyé une transaction de jeu en Allemagne, tandis que B, qui avait envoyé une transaction de jeu en France, a gagné et doit restaurer ses gains, qui lui sont automatiquement envoyés. .

Bien sûr, cette intervention d'un Oracle, aussi pratique soit-elle, soulève de nombreuses questions: qui est cet oracle? comment lui faire confiance? N'est-ce pas la réintroduction d'un tiers de confiance dans une technologie qui est espionnée (Ferraille?) comme moins de confiance ? Que se passe-t-il si les informations ne sont pas ajoutées par Oracle ou si elles sont fausses?

Le système Oracle implique l'utilisation d'un tiers ou d'une société dont la tâche est de tenter d'insérer les informations demandées. C'est a priori payé pour le faire. Cette personne peut être nommée par les participants Contrat intelligent, s'ils se connaissent et que le contrat offre cette possibilité, ou par le créateur dudit Contrat intelligent, pré.

Oracle of Delphi prédit l'avenir d'Oedipu

Oracle de Delphes a prédit (décidé?) L'avenir d'Œdipe et sa fin tragique

En amendes, l'utilisation d'un Oracle équivaut à introduire un tiers de confiance, avec un pouvoir aussi exorbitant que son homologue mythologique: il décide seul du résultat de smart-contract, ce qui est fondamentalement impossible à saisir … Mais contrairement à son homologue Delphi, il peut échouer; et de plusieurs manières:

  • Il n'envoie aucune information à la blockchain, il est défectueux. Dans ce cas, le contrat ne pourra jamais être exécuté. Les concepteurs du contrat doivent avoir fourni une issue à ce scénario; par exemple, si aucune information n'a été saisie par Oracle au temps T, le contrat prend fin et chacun récupère sa participation initiale. Si rien n'est prévu, il y a un risque que tout argent gelé perde définitivement.
  • Il envoie des informations incorrectes ou volontairement incorrectes, par exemple parce que l'exécution conformément à ces fausses informations a un intérêt en lui. Dans ce cas, il est impossible de revenir en arrière sauf si le contrat prévoit une porte de sortie. Les informations sont saisies et stockées en permanence dans la blockchain; et le programme est exécuté en utilisant ces informations comme base.

Pour limiter la puissance d'Oracle, plusieurs structures plus ou moins complexes ont été envisagées.

  • Si les informations sont disponibles sur un serveur, il est possible d'utiliser un service dit prouvable-honnête, qui garantit la validité des informations spécifiées. C'est surtout ce que propose la société Oraclize, qui fonctionne comme indiqué dans le diagramme suivant.
    Voici comment fonctionne Oraclize

    Voici comment fonctionne Oraclize

    Oraclize et des oracles similaires fonctionnent avec une "preuve d'honnêteté" (Preuve de notaire TLS) qui garantit que les informations saisies sur la blockchain sont identiques à celles récupérées par Oraclize. Comme la blockchain, ces preuves sont publiques et vérifiables à l'aide de méthodes cryptographiques. Cela signifie que si un jour Oraclize entre des données de chaîne de blocs qui ne correspondent pas aux données récupérées sur le serveur, ces informations "malhonnêtes" seront immédiatement identifiées par une personne familière avec ces techniques. Ici, c'est le besoin d'Oracle de maintenir sa réputation à long terme qui garantit la fiabilité de ses prévisions.

  • L'oracle consensuel consiste à déporter le processus de collecte et d'envoi d'informations à un grand nombre de participants qui ont une certaine motivation pour donner la bonne réponse. Affaires gnose et Augure fonctionne particulièrement dans les marchés prédictifs qui sont également destinés à servir d'Oracle pour une variété de contrats. Ce modèle est plus complexe mais peut finalement fournir des informations fiables de manière totalement décentralisée: ces marchés prédictifs fonctionnent en fait directement sur Ethereum!

Enfin, l'oracle physique est une solution complémentaire voire indispensable lorsque les données nécessaires sont une certaine donnée physique: la porte X est-elle ouverte? quelle température est-il dans un tel endroit? Il est impossible ici de demander à une ou plusieurs personnes de valider ces informations spécifiques. Par conséquent, vous devez vous fier à un objet qui mesure les données physiques et à un mécanisme pour garantir que les informations n'ont pas changé avant de les envoyer à la blockchain. Ledger, en particulier, fonctionne avec un concept Oracle physique.

Cependant, ces mécanismes, loin de résoudre tous les problèmes posés par les oracles, suggèrent des solutions pragmatiques. Des constructions plus complexes peuvent également être imaginées, comme un appel à un deuxième Oracle si l'une des parties à un contrat intelligent conteste d'abord le résultat, ou même un mécanisme de résolution des conflits par Oracle automatisé … Quoi? Cependant, il n'y a aucun doute qu'Oracle, public ou privé, jouera un rôle crucial dans le développement des applications décentralisées les plus ambitieuses.

Si vous êtes intéressé par ces problèmes, je vous recommande également de lire les articles suivants en anglais: