Oracles, ou pourquoi les contrats intelligents n'ont-ils toujours pas changé le monde?

Pour ceux qui sont intéressés par le sujet des contrats intelligents, la réponse à la question posée dans la rubrique se trouve à première vue: à ce jour, les contrats ne disposent pas d'une source fiable et complète d'informations sur ce qui se passe dans le monde réel. À la suite de cela, une situation désastreuse émerge: nous pouvons décrire une logique complexe dans un contrat intelligent, et la blockchain nous fournira son exécution inconditionnelle. Et maintenant, semble-t-il, nous sommes à un pas d'éliminer le besoin d'un tiers lors de la conclusion de contrats - c'est ce que signifiaient les mots «changer le monde» dans le titre. Cependant, toute logique décrivant les processus du monde réel doit savoir ce qui se passe dans ce monde. Ainsi, le dernier obstacle nous sépare de la «révolution de la confiance» sous la forme de l'absence de fournisseurs d'informations ou d' oracles , comme on les appelle dans le monde des contrats intelligents. Une solution à ce problème donnerait un formidable élan à la prévalence et à l'applicabilité des contrats intelligents. Sinon, cette technologie risque de ne rester à jamais qu'une plate-forme pour la mise en œuvre d'ICO.



Les capacités qui ne trouvent pas d'application se transforment en rien.
Sten Nadolny

Oracles


Oracle est un fournisseur d'informations qui, à la demande d'un contrat, fournit à la chaîne hors ligne du monde des données fiables nécessaires au bon fonctionnement du contrat. Les principales exigences pour l'oracle sont la fiabilité et l' exhaustivité des informations fournies. Ici, la fiabilité signifie la capacité de confirmer / vérifier la validité des données, et l'exhaustivité signifie la capacité de fournir des données sur un large éventail d'événements du monde réel. On note séparément que l'oracle n'est pas une source d'information, c'est son fournisseur de la blockchain . Ainsi, le choix de la source d'information est l'un des paramètres clés de l'oracle, car pour que l'oracle soit fiable et complet, la source doit également être fiable et complète (nous parlerons des sources dans la section suivante).



Commençons par la propriété de confiance Oracle. Aujourd'hui, il existe deux approches principales pour atteindre la fiabilité des oracles. Le premier est le consensus des oracles . Comme son nom l'indique, le consensus de plusieurs validateurs indépendants est utilisé dans cette approche. Le principal problème de cette approche (en termes de fiabilité) est la création d'un réseau de validateurs indépendants. D'une part, si nous sélectionnons / nommons des participants par consensus (oracles), ils dépendront du mécanisme de sélection / nomination. Ainsi, la centralisation se poursuivra, bien que, bien sûr, dans une moindre mesure et sous une forme différente. D'un autre côté, si quelqu'un peut devenir un participant consensuel, le système devient vulnérable à une attaque Sybil . En outre, il est estimé que compromettre (piratage, soudoyer) plusieurs petits participants au consensus peut être plus facile que de compromettre un seul grand validateur, car un acteur majeur a des mesures de sécurité beaucoup plus sérieuses et les coûts de réputation sont beaucoup plus élevés.

Oraclize offre une alternative à la solution consensuelle Oracle: l'utilisateur choisit la source d'information sur Internet. Et pour prouver le bon fonctionnement de l'oracle, des preuves TLSNotary sont utilisées. Il s'agit d'une preuve cryptographique que les données reçues de la source sélectionnée sont transférées au contrat intelligent sous une forme inchangée.



Pour le moment, vous pouvez vérifier ces preuves sur Internet à l'aide d'un moniteur réseau pour Ethereum (il est instable au moment de la rédaction). À l'avenir, il est prévu de réaliser la possibilité de vérifier les preuves TLSNotary directement par le contrat sur le réseau Ethereum.

Il est important de noter que les deux approches ont un problème de confiance dans la source d'information / -kam: les deux nous garantissent dans une certaine mesure l'honnêteté du transfert des données de la source au contrat, mais elles ne garantissent pas l'honnêteté de la source (même si nous l'avons choisi nous-mêmes).

Sources d'information


Au début de cette section, nous abordons l'intégralité des données fournies par l'oracle. Atteindre l'exhaustivité signifie élargir le cercle des sources d'information, ce qui implique des questions encore plus importantes quant à la fiabilité de ces données. Prenons deux exemples simples: si votre contrat a besoin d'informations sur le taux ETH / USD actuel, alors vous pouvez considérer de grands échanges de crypto-monnaie comme sources, dont le consensus sera assez fiable. Et si le contrat doit savoir si la lumière est allumée dans votre chambre, il sera extrêmement difficile de trouver des témoins oculaires indépendants. Vous pouvez utiliser une source physique, par exemple un appareil photo dans la chambre, mais si vous le souhaitez, c'est facile à tromper: mettez un sac sur l'appareil photo et il fera toujours sombre dans votre chambre. Ainsi, avec une augmentation de l'exhaustivité des informations fournies par l'oracle, le problème de la recherche de sources fiables est encore plus aigu.

La source d'information la plus naturelle est centralisée . Nous sommes habitués à cette approche au quotidien: nous apprenons l'actualité sur notre site préféré, le taux de change du dollar sur le site de la Banque centrale. La plupart d'entre nous croient aveuglément à ces sources centralisées, et cette croyance est le plus souvent justifiée, car les coûts de réputation pour de si grandes entreprises dépassent les avantages potentiels qui peuvent être obtenus en vous fournissant de fausses informations. Il y a deux mais. Premièrement, la fiabilité: même lorsqu'il s'agit d'une source centralisée fiable, nous fonctionnons toujours avec foi et non avec connaissance. Deuxièmement, et plus important encore, l'exhaustivité: l'utilisation d'une source centralisée ne peut être considérée comme une approche fiable que pour un cercle étroit d'événements résonants.

La première façon de contourner les inconvénients d'une source centralisée est d'utiliser des sources consensuelles . Nous avons déjà discuté d'une approche similaire ci-dessus lorsque nous avons parlé du consensus des oracles. Comme dans le cas des oracles, cette approche améliore à la fois la fiabilité et l'exhaustivité des informations fournies, mais son effet positif est limité et présente ses inconvénients (voir la section précédente).

Une autre approche pour résoudre le problème des sources d'information est une méthode indirecte . L'idée est d'extraire des informations sur l'événement qui nous intéresse de sources indirectes.



Ces sources seront différentes pour chaque type d'événement: pour la température à Moscou - une photo Instagram avec la géolocalisation et la date appropriées, pour le résultat du match - des publications sur les réseaux sociaux avec les tags et la date correspondants, etc. Les succès de ces dernières années dans le domaine de l'apprentissage automatique sont susceptibles de nous permettre de déterminer le résultat d'événements passés avec une précision raisonnable à partir de sources indirectes. Quels modèles d'apprentissage automatique sont applicables pour cela, quelle précision sera, si les sources indirectes sont indépendantes - tous ces problèmes doivent être considérés séparément pour chaque événement spécifique, et le fait de leur solvabilité sera le critère pour l'applicabilité de la méthode indirecte pour cet événement.

Pour des tâches relativement simples, telles que la détermination du résultat d'un match par une sélection suffisante de messages de fans de sport, ces problèmes semblent être résolus. Il est supposé que le contrat se référera au nœud sur lequel les calculs sont effectués (en extrayant les prévisions de sources indirectes). La fiabilité des calculs est proposée pour confirmer cryptographiquement, comme cela est mis en œuvre, par exemple, dans le projet Golem .



Cette approche est la deuxième étape vers l'exhaustivité des oracles. Il ne s'agit pas de la lumière dans la chambre, mais de la météo, des résultats des élections, du lancement réussi du Falcon Heavy .

Dans un souci d'exhaustivité, nous aborderons le sujet des marchés de prédiction comme Augur . Le marché utilise la «sagesse de la foule» pour prédire les événements futurs. Les utilisateurs prédisent l'issue possible de ces événements en achetant des parts de rémunération pour un résultat correctement deviné (les gagnants se partageront la cagnotte proportionnelle à la taille de leurs paris). Ainsi, cette approche implique une motivation économique pour les participants à la prédiction: pour la bonne prédiction, l'utilisateur reçoit une récompense, et en cas de prédiction incorrecte, perd les fonds investis. La prévision dans ce cas est l'attente moyenne pondérée de tous les utilisateurs. L'utilisation des marchés de prédiction augmente considérablement l'exhaustivité des informations fournies, car vous pouvez prédire n'importe quoi (s'il y en a assez) et la fiabilité fournit la motivation économique des participants à la prédiction.

Cependant, tout n'est pas aussi rose que cela puisse paraître à première vue. Premièrement, la prédiction n'est que l'attente des participants au marché (de nombreux exemples d'événements peuvent être cités que personne ne s'attendait à voir se produire). Deuxièmement, dans un tel modèle, la manipulation de la prédiction est possible si les coûts de modification de la prédiction par faux sont inférieurs au profit du mauvais fonctionnement du contrat. Par exemple, si le contrat suppose un paiement important en cas d'événement A, et le fait de la survenance de cet événement détermine le marché prédictif avec un petit chiffre d'affaires de fonds, alors l'attaquant peut falsifier l'événement A, en ne dépensant qu'une partie de l'avantage obtenu pour manipuler la prédiction.

Conclusion


L'importance des oracles pour la technologie des contrats intelligents est difficile à surestimer. L'Oracle sert de fournisseur d'informations de la source au contrat. Et si les solutions existantes offrent aujourd'hui un transfert assez fiable de ces informations, le problème de sa fiabilité d'origine n'est toujours pas résolu. La création / sélection de sources d'informations fiables et complètes est la dernière frontière qui sépare les contrats intelligents de la distribution omniprésente. Compte tenu du développement actif des technologies blockchain, nous pouvons compter sur le franchissement au moins partiel de cette étape dans les années à venir.

Source: https://habr.com/ru/post/fr418791/


All Articles