Dans le monde de la blockchain, pour que les contrats intelligents accèdent à des données du monde réel, les machines d'oracle sont indispensables. En fait, je pense que c'est une partie souvent sous-estimée par beaucoup de gens.



Les contrats intelligents sont très puissants pour les données à l'intérieur de la blockchain, mais ils ne peuvent pas accéder directement aux informations du monde extérieur. Par exemple, si vous souhaitez refléter le volume de trading du pétrole brut d'aujourd'hui dans un contrat, cette information se trouve hors chaîne, donc un intermédiaire est nécessaire. C'est là que joue le rôle de la machine d'oracle.

Le fonctionnement de cette machine d'oracle est en réalité une simple requête-réponse. Le contrat intelligent envoie une demande de « donnez-moi ces données » à l'extérieur, l'oracle capte cette demande, récupère les données du monde réel, puis les renvoie à la chaîne. Ce processus constitue le fonctionnement de base d'une machine d'oracle.

Dans l'industrie de la blockchain, le projet qui détient la part de marché la plus importante est Chainlink. Chainlink est une machine d'oracle décentralisée, spécialisée dans la fourniture de données du monde réel de la manière la plus sécurisée possible vers la blockchain. Avec le jeton LINK, ils construisent un écosystème basé sur un système d'incitations.

Pour faire fonctionner l'oracle Chainlink, il faut transférer des jetons LINK. Ces jetons sont implémentés selon la norme ERC677 sur le réseau Ethereum. C'est un point crucial. La norme ERC20 standard ne permet pas d'exécuter simultanément un paiement et une requête de service. C'est pourquoi Chainlink a proposé sa propre norme ERC677.

La méthode clé d'ERC677 est « transferAndCall ». Elle permet de réaliser le transfert de jetons et la requête de service en une seule transaction. Lorsqu'un utilisateur exécute transferAndCall, en plus du transfert ERC20, l'adresse destinataire voit automatiquement la méthode onTokenTransfer appelée.

Lorsque la machine d'oracle reçoit une requête, elle effectue d'abord plusieurs vérifications de sécurité : vérifier si l'expéditeur est bien le contrat de jetons LINK, si la taille des données est appropriée, si le sélecteur de fonction est correct. Si ces vérifications sont passées, un identifiant unique requestId est généré et enregistré dans un journal d'événements.

Ce journal est surveillé par des nœuds hors chaîne. Ces nœuds lisent les informations nécessaires depuis l'événement, puis récupèrent les données du monde réel via une API réseau. Ensuite, ils appellent la méthode fulfillOracleRequest pour renvoyer les données à la chaîne. C'est ce cycle complet qui constitue le fonctionnement de la machine d'oracle.

Côté implémentation, Chainlink fournit déjà des flux de prix pour des paires de trading existantes, appelés Aggregator. Avec ces flux, les développeurs n'ont pas besoin de spécifier leur propre API. Les principales paires comme ETH/USD sont déjà disponibles, et il suffit d'appeler la méthode latestRoundData() pour obtenir le prix le plus récent.

Dans la majorité des applications, il suffit de lire le prix le plus récent. En particulier pour les prix en USD, la précision est uniformément fixée à 8 chiffres, ce qui élimine la nécessité de traitements complexes. En résumé, la mise en œuvre d'un flux de prix via une machine d'oracle est plus simple qu'on ne le pense.

Ce système permet aux protocoles DeFi et aux produits financiers complexes de fonctionner. Sans machine d'oracle, il serait impossible de faire le pont entre la blockchain et le monde réel. Sur Gate.io, on peut également voir divers projets utilisant ces oracles, donc si cela vous intéresse, n'hésitez pas à jeter un œil.
ETH-0,79%
Voir l'original
Cette page peut inclure du contenu de tiers fourni à des fins d'information uniquement. Gate ne garantit ni l'exactitude ni la validité de ces contenus, n’endosse pas les opinions exprimées, et ne fournit aucun conseil financier ou professionnel à travers ces informations. Voir la section Avertissement pour plus de détails.
  • Récompense
  • Commentaire
  • Reposter
  • Partager
Commentaire
Ajouter un commentaire
Ajouter un commentaire
Aucun commentaire
  • Épingler