Rejoignez-Nous sur

Chainlink, l'Othereum Oracle

chainlink price july 2 2019

News

Chainlink, l'Othereum Oracle

Depuis des mois, 4chan's / biz / peut facilement être confondu avec / chainlink /, ce qui conduit le projet à être rejeté.

La récente hausse astronomique d’environ 10 fois en quelques semaines pourrait également conduire à l’appeler simplement une pompe à 4chans, mais y at-il réellement quelque chose ici?

La montée astronomique de Chainlink, juin 2019
La montée astronomique de Chainlink, juin 2019

En regardant de plus près, le livre blanc de ce projet est presque illisible, mais heureusement, Thomas Hodges, ingénieur en intégration pour Chainlink, a eu la gentillesse de nous donner une longue interview ci-dessous.

Chainlink Birdseye Voir

L'objectif de Chainlink est de connecter les contrats intelligents au monde réel par le biais de ce que l'on appelle des oracles.

Un exemple facile ici est Angleterre v Allemagne, coupe du monde, qui va gagner? Un amateur remplace BitPay où vous envoyez eth au contrat intelligent, un échange le transforme automatiquement en fiat, paye la pizzeria, vous obtenez la pizza, l’échange obtient l’eth.

Les cas d'utilisation sont innombrables, y compris dans les paiements de machine à machine, les assurances et bien plus encore, avec l'innovation ici: au lieu de vous connecter à un serveur qui fournit les données, vous vous connectez à de nombreux serveurs ou mieux appelés nœuds.

En dessous, la mise en oeuvre du code est très complexe, mais le code est entièrement ouvert, mais vous devez en principe choisir les nœuds. Vous pouvez également en exécuter un vous-même. Les données sont ensuite agrégées et envoyées au contrat intelligent en chaîne.

En fait, la blockchain est consciente de ce qui se passe à l’extérieur, ce qui, une fois connecté à des capteurs, peut rendre la technologie beaucoup plus puissante qu’aujourd’hui.

Tout cela a été rendu possible par un ICO en septembre 2017, alors que 32 millions de dollars avaient été collectés, d'où peut-être l'explication des 4 participants.

Le jeton de lien est un ERC20. Il n'y a pas de blockchain ici. Ceci est juste un middleware ou quelque chose qui tourne au-dessus d'Ethereum ou d'autres blockchains de contrats intelligents.

Enfin, l’utilisation potentielle du matériel de confiance ou des enclaves sécurisées dans lesquelles les données transitent sans que l’opérateur de nœud ne sache quelles données sont en cours d’utilisation est importante, la sécurité des données y étant considérablement accrue.

Chainlink, l'Oracle

Nous avons rencontré Thomas Hodges, ingénieur en intégration pour Chainlink, afin de mieux comprendre, au niveau conceptuel, le fonctionnement de tout cela.

Comment un contrat intelligent est-il écrit dans le flux de données?

Thomas Hodges: Le nœud Chainlink répond par son contrat oracle au contrat consommateur.

Comment? Comme dans la disons, nous parions sur le vainqueur de la coupe du monde, nous avons tous ces flux, on dit Allemagne, comment le contrat smart réagit-il maintenant à cela, comme dans la façon dont vous écrivez au contrat smart?

Ok, c’est un genre de question différent. Le processus ressemble à une demande asynchrone avec deux transactions en chaîne: vous créez une transaction qui demande des données; Le nœud répond avec des données.

Lorsque vous commencez à comprendre comment vous accomplissez cette première étape, vous devez comprendre un peu comment créer une demande.

En gros, vous indiqueriez au nœud où obtenir les données, telles que l'API à toucher, le champ de la réponse de cette API à analyser et à quel type de données.

Dans l'architecture actuelle, vous envoyez des demandes à plusieurs nœuds distincts et recevez les réponses correspondantes directement dans votre contrat intelligent consommateur.

C’est ce que nous faisons avec les contrats de données de référence pour stocker le prix des ETH / USD dans la chaîne.

Je comprends comment vous obtenez les données, j'essaie de comprendre comment on dit au contrat intelligent d’envoyer dire eth à l’adresse anglaise ou allemande, par exemple, et comment le contrat intelligent peut réellement déplacer l’éth, je pense que Sergey Nazarov a appelé ça déclenche?

C’est à vous de décider. Vous allez recevoir une réponse sur votre contrat de consommation, vous pouvez faire ce que vous voulez avec ça.

Mais comment ça se déclenche? Il a besoin de la clé privée ou de l'autorisation isOwner?

Le nœud Chainlink écrit dans son contrat oracle, à l'aide de sa clé privée, en appelant la méthode applyOracleRequest. Dans cette méthode, l'opérateur de nœud Chainlink collecte les paiements et déclenche votre contrat.

De cette façon, votre contrat ne reçoit qu'une réponse du contrat Oracle auquel vous envoyez la demande.

Oui, avec Chainlink, le monde extérieur ne peut que réagir à ce qui se passe dans la chaîne. On ne peut pas dire à la chaîne quoi faire?

Techniquement, le nœud Chainlink peut le faire, mais il ne recevra pas de paiement pour le faire. Nous créons un protocole de prépaiement qui permettrait au nœud Chainlink de faire exactement cela.

Alors, comment le contrat intelligent lit-il le nœud de chaîne?

Le contrat smart reçoit la réponse du contrat Oracle auquel il a envoyé la demande.

Comment reçoit-il la réponse? Par exemple, comment vous connectez-vous au contrat intelligent, onchain, disons eth?

Le nœud Chainlink appelle la méthode applyOracleRequest de son contrat oracle, qui appelle ensuite le contrat consommateur avec la réponse.

Bon pour créer un nouveau contrat avec les données?

Pas nécessairement. Vous pouvez fournir l'adresse et la fonction du contrat auquel vous souhaitez que la réponse soit envoyée.

Alors, comment le contrat d’oracle, qui est extérieur à eth, n’appelle-t-il pas eth?

Le contrat Oracle est en chaîne. Le nœud Chainlink est hors chaîne.

Alors, un pas en avant, comment un nœud de maillon de chaîne appelle-t-il le contrat Oracle?

Lorsque la demande est envoyée au contrat Oracle, un événement est consigné qui contient les données relatives à la demande. Le nœud Chainlink souscrit à ces événements et répond après le traitement de l'ID de travail demandé. Dans ce travail, une tâche appelée EthTx permet au nœud d'écrire la réponse dans le contrat Oracle.

Par eth tx, voulez-vous dire une transaction ethereum?

Oui, cela crée une transaction Ethereum, avec les données contenant la réponse.

Pour écrire dans le contrat smart, vous avez probablement besoin d'une autorisation, sinon tout le monde peut y écrire.

C’est pourquoi vous utilisez le modificateur recordChainlinkFulfillment. Pour que vous ne receviez une réponse que de la même adresse contractuelle Oracle que celle à laquelle vous avez envoyé la demande.

Et ensuite, comment gérez-vous l'agrégation? Pour ce qui est de la simple Allemagne (G) Angleterre (E), un nœud dit G, un autre E et je comprends l’aspect réputation, mais j’essaie de comprendre l’agrégation d’abord, comment vous mettez en quelque sorte toutes ces données en place. probablement une réponse ou envoyez-vous toutes les réponses dans cette transaction?

Actuellement, le contrat consommateur doit regrouper les réponses distinctes qu'il reçoit de chaque oracle auquel il a envoyé des demandes. Vous pouvez voir une implémentation de cette ici , et ce contrat est utilisé comme notre contrat de données de référence et peut être surveillé ici.

dans le protocole d'accords de service , ce processus serait simplifié en envoyant une seule demande et en recevant n réponses des nœuds oracle que vous avez sélectionnés dans l’accord. le contrat de coordinateur associés aux contrats de service est encore en développement.

Disons que nous avons 4 G et 5 Es, est-ce que ça va avec E?

Le contrat d’agrégateur permet donc à son propriétaire de définir les oracles auxquels envoyer les demandes, les tâches à déclencher et le montant à payer. Ensuite, il gère également les réponses, y compris m sur n, pour stocker la valeur médiane des réponses reçues et enregistrer le bloc sur lequel cette valeur a été calculée.

Ainsi, disons que vous envoyez 10 demandes à 10 oracles distincts, le créateur de l’agrégateur peut définir que, lorsque 7 oracles répondent, prenez la médiane au lieu d’attendre les 10.

Et si je comprends bien, dans l'exemple ci-dessus, nous avons 9 nœuds, donc 9 ensembles de données par le biais d'un émetteur, et cet ensemble est maintenant sur la chaîne?

Oui, nous avons envoyé 9 demandes à 9 oracles différents et reçu 9 réponses.

Avez-vous un contrat avec Etherscan contenant des données reçues d’un oracle?

Oui bien sûr, vous pouvez même voir le suivi actuel de notre contrat de données de référence ici . Pour prendre une réponse réelle à titre d'exemple, voir ceci transaction.

Donc, cette transaction est à un contrat très occupé avec des algorithmes et pas de données.

Il contient des données, il stocke le taux actuel ETH / USD et la hauteur de bloc à laquelle ce taux a été mis à jour pour la dernière fois.

Où puis-je cliquer sur Etherscan pour voir cela? Je regarde ce https://etherscan.io/address/0x89f70fa9f439dbd0a1bc22a09befc56ada04d9b4#contracts

C’est en fait un contrat Oracle, pas l’agrégateur. Vous voudriez regarder ceci: https://etherscan.io/address/0x79fEbF6B9F76853EDBcBc913e6aAE8232cFB9De9#readContract

Contrat d'agrégateur Chainlink, juillet 2019
Contrat d'agrégateur Chainlink, juillet 2019

Oui, et pour que ce soit très clair, que signifie 9240 (maintenant 9476) uint256? Je connais uint, mais plus quelle réponse ce contrat voulait-il et donc quelle était la signification de 9240?

9240 serait le regroupement des demandes envoyées. Par mesure de sécurité, nous suivons les groupes de demandes adressées aux oracles afin qu’elles ne reçoivent pas de réponses mélangées à des demandes différentes. En fait, vous souhaiterez examiner les valeurs de currentAnswer et de updatedHeight.

Techniquement parlant, lastCompletedAnswer peut être transformé en une variable interne ou privée, car le demandeur n’a pas vraiment à s’inquiéter de celle-ci.

La réponse actuelle est 28246698320 int256. Qu'est-ce que ça veut dire? Prix ​​de l’ETH? En satoshis je suppose?

CurrentAnswer est le prix actuel de l'ETH, multiplié par 100000000.

Intéressant.Si vous avez le temps si je peux compléter le tableau. L'idée est que quelqu'un comme moi peut être une source de données appropriée et exécuter un nœud, etc., où sont stockées mes données en tant que source de nœud?

Cela ressemble plus à vous, en tant qu’opérateur de nœud, d’analyseur de données, d’animateur ou de transporteur. Les données sont stockées à leur source, que ce soit une API, vous récupérez simplement ces données et les écrivez dans des contrats intelligents qui les ont demandées.

Le nœud lui-même n'est pas vraiment concerné par le stockage des données qu'il a récupérées.

Je ne peux donc pas entrer manuellement dire 420 pour le prix de l’éth?

Que voulez-vous dire? Comme dans un scénario où vous avez un oracle malveillant? La réponse à cela est la décentralisation. Pour que votre contrat ne soit pas déclenché par une réponse incorrecte / malveillante d’un seul oracle.

Non, je veux dire honnêtement, comme si j'avais un nœud chainlink, ils veulent que je dise ce que x est, et je viens d'entrer x.

Eh bien, d’une part, le nœud Chainlink ne prend pas la saisie manuelle. De toute façon, vous devrez écrire votre propre client pour le faire.

Alors, que fait le nœud?

Le nœud récupère la réponse à partir de l'API demandée et répond en chaîne. Tout est automatisé, sans intervention de l'opérateur.

Alors, qui exécute l'API?

Cela dépend de l'API. Un demandeur peut par exemple demander des données pour l’API de Kaiko.

Eh bien, ce n’est qu’un pas en avant. Je peux exécuter l'API et le nœud.

Sûr. Si vous êtes vous-même un fournisseur de données. Encore une fois, Kaiko en est un bon exemple. Ils fournissent une API et exécutent également un nœud Chainlink.

Pas familier avec eux

Il s’agit d’un service d’API qui fournit des données sur les prix des crypto-devises.

Je pense que ce que vous dites, c’est que l’opérateur de noeud est sûr de choisir l’API?

Pas exactement. Le demandeur peut également choisir l'API. Soit en le fournissant en tant que paramètre dans leur demande, soit en utilisant un ID de travail spécifique à une API.

Le but est donc de s’assurer que le chargeur de données ne ment pas sur ce que dit l’API?

Correct, en utilisant plusieurs nœuds pour extraire des données de la même API ou d’API similaires, comme dans le cas des prix chiffrés.

Je ne peux donc pas interférer avec l’API à moins d’être l’API? Et je ne peux évidemment pas dire… espérons que je ne peux pas le deviner.

Droite.

Intéressant, et je suppose que je ne peux pas simplement faire tout cela directement à l’API moi-même ou à plusieurs API dans le modèle de contrat de l’agrégateur?

Vous devez disposer d'une interface client entre votre contrat intelligent et l'API. Les contrats intelligents ne peuvent pas créer de références externes par eux-mêmes.

Pourquoi pas, vous avez dit que vous venez d'ethtx.

C'est le sens opposé: le nœud Chainlink écrit dans la chaîne de blocs. Un contrat intelligent ne peut pas atteindre des systèmes externes, comme une API, sans un middleware, ce qui est ce que Chainlink est.

Well Chainlink est un contrat intelligent.

Le protocole comprend des contrats intelligents, mais il s’agit également d’un client hors chaîne.

Un lecteur de contrat intelligent. Donc, vous voyez ce qui se passe dans le contrat intelligent, mais je comprends ce que vous dites, ici vous avez plusieurs serveurs qui le voient plutôt qu’un seul.

Droite. Sur la chaîne, le contrat oracle reçoit des requêtes et émet des événements qui sont lus par le nœud Chainlink hors chaîne.

Enfin, en ce qui concerne les enclaves sécurisées, comment sait-on qu’ils utilisent un enclave sécurisé, un matériel sécurisé, etc.?

SGX propose une attestation à distance pour cette assurance.

Qu'est-ce que ça veut dire? Donc, comme je suis ici, disons que j'ai copié un modèle ou quoi que ce soit et que je veux m'assurer que le nœud chainlink utilise un matériel de confiance, puis-je être assuré?

Oui, vous pouvez obtenir une assurance cryptographiquement prouvée que le nœud distant exécute SGX. https://software.intel.com/en-us/sgx/attestation-services

Y a-t-il quelqu'un qui peut parler de l'aspect commercial? Comme vous travaillez / avez rencontré Intel, ils ont développé ce matériel pour vous ou est-ce du matériel généralisé adaptable à ce que vous faites?

SGX est spécifiquement un SDK open source accessible à tous.

Donc, je pense que tout ce travail sur les liens de chaîne est en open source, vous voulez dire pourquoi je ne le copierais pas, supprimerais l'aspect du jeton et le remplacerais par eth?

Ce n’est pas vraiment ma préoccupation. Tout projet open source rencontre le même problème. Fondamentalement, il s’agit de faire confiance à la capacité de l’équipe de forking de conserver leur version du logiciel à long terme.

AILETTE

Le jeton de liaison sert à payer les opérateurs de nœuds pour répondre aux demandes. Un tel paiement peut évidemment être effectué en eth, mais une nouvelle équipe qui souhaite lancer le projet rencontrerait deux problèmes.

Tout d'abord, le financement. Chainlink a réuni des millions de dollars. Ils disposent donc des fonds nécessaires pour assurer la sécurité et la maintenance du logiciel à long terme. Une équipe brisée pourrait plutôt être juste un passe-temps ou un projet secondaire.

Le deuxième défi auquel ils sont confrontés concerne les compétences. L’équipe de Chainlink semble être très au courant de ce qu’elle fait, il est donc difficile de concourir et de rester à la hauteur.

Toutefois, la concurrence serait sans doute toujours bien accueillie dans l’espace libre, avec beaucoup de choses que l’on peut faire dans ce créneau spécifique, y compris les marchés où des frais peuvent être prélevés pour leur utilisation.

Ce qui en fait un projet très intéressant qui peut se développer de nombreuses manières au-delà de l’authentification et de la connexion par API

Une solution intéressante pourrait être de permettre à une personne, comme la police, d’entrer sur le lieu de l’accident et d’évaluer sa gravité.

Vous pouvez également faire la même chose avec les jugements des tribunaux: un simple «gain» «1 million de dollars», puis automatiquement libéré, ce qui peut potentiellement déclencher une assurance, et un réseau très compliqué, en particulier en matière de négligence ou de responsabilité délictuelle, le tout sans implication humaine, à l'exception du «gagnant». bit.

On peut facilement voir ici le potentiel d'abus. Le greffier pourrait mentir. Mais cela créerait alors un peu plus de travail pour envoyer manuellement le paiement au bon endroit et ferait évidemment en sorte que l'agent soit renvoyé et éventuellement emprisonné.

Parce que bien que ces choses se produisent automatiquement, nous pouvons les voir et nous savons évidemment, en particulier dans cet exemple simple de l'ordonnance du tribunal, que les informations saisies étaient incorrectes.

En effet, alors que les machines ou la blockchain pourraient faciliter une meilleure gestion de la complexité, les êtres humains régneraient quand même par l'exercice d'un jugement.

Il faudrait donc veiller à ce que le système fonctionne bien, ce qui est probable dans 99% des cas. Dans ces 1% des cas, il faut encore un peu plus de travail pour corriger l’erreur qui, dans ce cas, est une question d’argent, alors ce n’est pas comme si le système actuel n’avait pas le même problème de greffier.

Cela ne fait qu'accroître potentiellement l'efficacité des opérations de back-end et les automatiser. Au lieu que cette ordonnance du tribunal aille à un administrateur de l'avocat qui l'envoie à un administrateur de l'assurance qui passe aussi longtemps à cliquer sur toutes les cases et à le renvoyer à l'avocat avec le paiement, puis éventuellement à un moment donné après des mois pour atteindre le gagnant, voici en transformer beaucoup en code.

Ensuite, il y a l’aspect le plus «numérique» de la connexion de la blockchain aux capteurs et au wifi afin qu’elle soit au courant de ce qui se passe et nous permette ainsi de savoir ce qui se passe.

Ce qui en fait potentiellement un middleware puissant qui étend les capacités de la blockchain.

Droits d'auteur Trustnodes.com



Traduction de l’article de Trustnodes : Article Original

BlockBlog

Le Meilleur de l'Actualité Blockchain Francophone & Internationale | News, Guides, Avis & Tutoriels pour s'informer et démarrer facilement avec Bitcoin, les Crypto-Monnaies et le Blockchain. En Savoir Plus sur L'Équipe BlockBlog

Commenter cet Article

Commenter cet Article

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Plus dans News

Les Plus Populaires

Acheter des Bitcoin

Acheter des Alt-Coins

Sécuriser vos Cryptos

Vêtements et Produits Dérivés

Top