Comment les Oracle Machines deviennent des ponts de données entre la Blockchain et le monde réel

robot
Création du résumé en cours

Oracle Machine : le pont entre la Blockchain et le monde réel

Dans la technologie Blockchain, l'Oracle Machine joue un rôle d'infrastructure essentiel. C'est un système capable de fournir des informations externes aux contrats intelligents sur la chaîne, agissant comme un middleware entre la Blockchain et le monde extérieur. La fonction principale de l'Oracle Machine est de fournir les données externes nécessaires aux contrats intelligents sur la Blockchain.

Prenons un exemple, supposons que nous créions un contrat intelligent sur le réseau Ethereum qui nécessite d'obtenir des données sur le volume des transactions de pétrole brut pour un jour donné. Étant donné que le contrat intelligent lui-même ne peut pas accéder directement à ces données du monde réel hors chaîne, il doit donc passer par une Oracle Machine pour y parvenir. Dans ce cas, le contrat intelligent écrira les données de volume des transactions de pétrole brut nécessaires dans le journal des événements. Par la suite, un processus hors chaîne sera lancé pour surveiller et s'abonner à ce journal des événements. Lorsque la demande dans la transaction est détectée, ce processus soumettra une transaction sur la chaîne, appelant les méthodes pertinentes du contrat, pour télécharger les informations sur le volume des transactions de pétrole brut pour la date spécifiée dans le contrat intelligent.

Oracle Machine détaillé série Chainlink (1)

Chainlink : le leader des Oracles de Blockchain

Dans le domaine des Oracle Machines, Chainlink est sans aucun doute le projet ayant la plus grande part de marché. En tant que solution d'Oracle Machine décentralisée, l'objectif de Chainlink est de fournir des données générées dans le monde réel à la Blockchain de la manière la plus sécurisée possible. Sur la base des principes fondamentaux des Oracle Machines, Chainlink a construit un écosystème autour du token LINK, formant un cercle vertueux grâce à des incitations économiques.

Oracle Machine détaillé série Chainlink (partie 1)

Le déclenchement de l'oracle Chainlink nécessite un transfert de jetons LINK. LINK est un jeton de contrat ERC677 basé sur le réseau Ethereum. Les fonctions d'oracle basées sur le jeton LINK ERC677 appartiennent à un mode de demande/réponse.

transfertEtAppel dans le token ERC677

La norme ERC677 a été proposée par Chainlink pour s'adapter aux scénarios de services d'oracle. Elle ajoute la méthode transferAndCall sur la base de l'ERC20 standard, combinant paiement et demande de service, répondant ainsi aux besoins des scénarios d'affaires d'oracle.

Lorsque les utilisateurs effectuent un transfert avec transferAndCall, en plus du transfert ERC20 habituel, il sera également vérifié si l'adresse de réception est une adresse de contrat. Si c'est le cas, la méthode onTokenTransfer de cette adresse sera appelée. Il est important de noter qu'avant de demander des services d'Oracle Machine, les utilisateurs doivent d'abord confirmer la fiabilité de cet Oracle Machine, car les services d'Oracle Machine nécessitent un paiement préalable.

Oracle Machine détaillé série de Chainlink (1)

Processus de demande d'oracle sur la Blockchain

Lorsque les consommateurs d'oracle utilisent la méthode transferAndCall pour payer des frais et demander un service, la méthode onTokenTransfer dans le contrat oracle effectue d'abord une série de vérifications de sécurité. Cela inclut la vérification que le transfert est un jeton LINK, la vérification que la longueur des données ne dépasse pas les limites, la validation que les données contiennent le bon sélecteur de fonction, etc.

Après la vérification de sécurité, le contrat générera un identifiant de demande unique (requestId) et fixera le temps d'expiration de la demande. Enfin, le contrat émettra un événement OracleRequest, qui contiendra les données détaillées de la demande.

Oracle Machine détaillé série Chainlink (partie 1)

Mécanisme de réponse des nœuds hors chaîne

Les nœuds hors chaîne, après avoir reçu l'événement OracleRequest, analyseront les informations spécifiques à la demande et utiliseront l'API réseau pour obtenir les données nécessaires. Ensuite, le nœud appellera la méthode fulfillOracleRequest pour soumettre les données sur la chaîne.

Cette méthode effectuera une série de vérifications, y compris la vérification si l'appelant est autorisé, la validation de la validité de la demande, etc. Une fois la validation réussie, le contrat enregistrera le montant des jetons pouvant être retirés et supprimera ce requestId de la carte des engagements. Enfin, le contrat appellera la fonction de rappel du contrat du demandeur pour renvoyer les données au consommateur.

Oracle Machine détails de la série Chainlink (partie 1)

Application réelle de l'Oracle Machine de prix

Pour les développeurs, s'ils ont seulement besoin d'utiliser les données de prix des paires de devises existantes, ils peuvent directement utiliser l'interface Price Feed fournie par Chainlink. Chaque paire de trading a un Price Feed distinct ( également appelé Aggregator ), qui est en réalité un contrat AggregatorProxy.

Ces interfaces offrent généralement les méthodes de requête suivantes :

  • decimals(): Retourne le nombre de décimales des données de prix
  • description(): Retourner le nom de la paire de trading
  • version(): Identification du type d'Agrégateur auquel le Proxy pointe
  • getRoundData(_roundId): obtenir des données de prix pour un tour spécifique
  • latestRoundData(): Obtenir les dernières données de prix

Dans la plupart des scénarios d'application, le contrat peut simplement avoir besoin de lire le dernier prix, c'est-à-dire d'appeler la méthode latestRoundData(). Le paramètre answer retourné est le dernier prix.

Il est à noter que le prix des tokens lu par la plupart des applications est généralement exprimé en USD. Dans ce cas, la précision est généralement unifiée à 8 décimales, ce qui simplifie le traitement des problèmes de précision entre différents tokens.

Oracle Machine détaillée série sur Chainlink (partie 1)

LINK1.18%
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
  • 7
  • Partager
Commentaire
0/400
nft_widowvip
· Il y a 11h
Oracle Machine incroyable Cela ne veut-il pas dire que l'on peut avancer de travers !
Voir l'originalRépondre0
CountdownToBrokevip
· Il y a 11h
ce n'est qu'un passant sur la chaîne
Voir l'originalRépondre0
BlockchainBouncervip
· Il y a 11h
Gaga, c'est encore le moment d'expliquer le mécanisme de l'Oracle Machine!
Voir l'originalRépondre0
StakeTillRetirevip
· Il y a 11h
L'Oracle Machine est vraiment génial, mes smart contracts ne peuvent pas s'en passer.
Voir l'originalRépondre0
FUD_Whisperervip
· Il y a 12h
Je ne peux même plus me permettre de manger à cause des contrats.
Voir l'originalRépondre0
HalfPositionRunnervip
· Il y a 12h
Ces données de la friture sont sauvées par l'Oracle Machine.
Voir l'originalRépondre0
ImpermanentPhilosophervip
· Il y a 12h
Zut, c'est encore le discours habituel de l'Oracle Machine.
Voir l'originalRépondre0
Trader les cryptos partout et à tout moment
qrCode
Scan pour télécharger Gate app
Communauté
Français (Afrique)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)