Importance des systèmes Oracle dans la Blockchain et mécanisme de mise en œuvre de Chainlink
L'Oracle Machine est une infrastructure clé dans le domaine du Blockchain, capable de fournir des informations externes aux contrats intelligents sur la chaîne. En tant que middleware reliant les contrats intelligents et le monde extérieur du Blockchain, l'Oracle Machine joue un rôle crucial, sa fonction principale étant de fournir des données aux contrats intelligents sur le Blockchain.
Prenons un exemple, si nous déployons un smart contract sur le réseau Ethereum qui nécessite d'obtenir des données sur le volume de transactions de pétrole brut pour un jour donné. Étant donné que le smart contract lui-même ne peut pas accéder directement aux données du monde réel hors chaîne, il doit donc utiliser une Oracle Machine pour réaliser cette fonctionnalité. Dans ce cas, le smart contract écrira le volume de transactions de pétrole brut pour la date requise dans le journal des événements. Ensuite, un processus hors chaîne sera lancé pour surveiller et s'abonner à ce journal des événements. Lorsque le processus détecte une demande dans la transaction, il soumettra une transaction sur la chaîne, appellera les méthodes pertinentes du contrat et téléchargera les informations sur le volume de transactions de pétrole brut pour la date spécifiée dans le smart contract.
Chainlink est actuellement le projet d'oracle avec la plus grande part de marché dans le domaine de la Blockchain. C'est un système d'oracle décentralisé, conçu pour fournir les données générées dans le monde réel à la Blockchain de la manière la plus sécurisée possible. Chainlink a construit un écosystème vertueux basé sur le principe fondamental des oracles, avec des incitations économiques via le jeton LINK. Les oracles Chainlink doivent être déclenchés par un transfert de jetons LINK, qui est un contrat ERC677 sur le réseau Ethereum. Les fonctionnalités d'oracle mises en œuvre via le jeton LINK ERC677 appartiennent au modèle de requête/réponse.
La norme de jeton ERC677 a été proposée par Chainlink pour répondre aux besoins des services d'oracle. Elle ajoute la méthode transferAndCall à la norme ERC20, combinant le paiement et la demande de service en un seul. Lorsque l'utilisateur effectue un transfert via transferAndCall, en plus de la fonctionnalité de transfert ERC20, il vérifie si l'adresse de réception est une adresse de contrat, et si c'est le cas, il appelle la méthode onTokenTransfer de cette adresse.
Dans l'implémentation de Chainlink, lorsque le consommateur d'oracle utilise la méthode transferAndCall pour payer des frais et demander un service, la méthode onTokenTransfer du contrat oracle effectue d'abord une série de vérifications de sécurité. Cela inclut la validation pour s'assurer que le transfert est un jeton LINK, la vérification que la longueur des données ne dépasse pas la limite, ainsi que la validation du sélecteur de fonction, etc. Une fois les vérifications réussies, la méthode oracleRequest du contrat oracle actuel est appelée via deleGatecall.
La méthode oracleRequest génère un requestId unique, définit un temps d'expiration et ajoute les informations connexes à la carte des engagements. Le plus important est qu'elle émet un événement OracleRequest, qui contient les données de la demande, représentées en CBOR(, un format d'objet binaire compact codé en ).
Les nœuds hors chaîne écouteront ces événements OracleRequest. Lorsqu'une nouvelle demande est détectée, le nœud analysera les informations de l'événement, obtiendra les données requises via un appel API, puis soumettra les données sur la chaîne en appelant la méthode fulfillOracleRequest du contrat oracle. Cette méthode effectuera une série de vérifications, puis appellera la fonction de rappel du contrat demandeur pour renvoyer le résultat au contrat consommateur.
Pour les développeurs, s'ils ont seulement besoin d'utiliser les prix des paires de devises existantes, ils peuvent directement utiliser le Price Feed fourni par Chainlink, également connu sous le nom d'Aggregator (. Chaque paire de trading a un Price Feed séparé, qui est en réalité un contrat AggregatorProxy. Ces contrats offrent plusieurs méthodes de requête, y compris l'obtention de la précision des prix, de la description, de la version et des données de prix les plus récentes, etc. 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 )(.
![Oracle Machine détaillée série sur Chainlink (1)])https://img-cdn.gateio.im/webp-social/moments-bb84d77f358852f47e9adf3e74ba5bf9.webp(
Il convient de noter que pour les paires de trading libellées en USD, la précision des prix est généralement uniformisée à 8 décimales, ce qui simplifie la gestion de la précision entre différents tokens. Cette conception permet aux développeurs d'utiliser plus facilement des données de prix en temps réel dans des contrats intelligents, sans avoir à gérer des appels API complexes et des conversions de formats de données.
![Oracle Machine détaillé série sur Chainlink (partie 1)])https://img-cdn.gateio.im/webp-social/moments-527bd8714534f5f06ccdd9afe40b253a.webp(
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
13 J'aime
Récompense
13
7
Partager
Commentaire
0/400
DegenWhisperer
· Il y a 9h
Le Link est vraiment bon, c'est juste un peu cher.
Voir l'originalRépondre0
MidnightSnapHunter
· Il y a 9h
Chainlink est plutôt fiable.
Voir l'originalRépondre0
HalfPositionRunner
· Il y a 9h
Je sens que le link doit encore hausser.
Voir l'originalRépondre0
GweiTooHigh
· Il y a 9h
link a encore augmenté, n'est-ce pas ? Plus besoin de deviner.
Voir l'originalRépondre0
SelfRugger
· Il y a 9h
link bull叉 Achète et c'est tout.
Voir l'originalRépondre0
GweiWatcher
· Il y a 9h
C'est vraiment génial, ce prix de feed est vraiment utile.
Chainlink: comment l'Oracle Machine connecte le Blockchain au monde réel
Importance des systèmes Oracle dans la Blockchain et mécanisme de mise en œuvre de Chainlink
L'Oracle Machine est une infrastructure clé dans le domaine du Blockchain, capable de fournir des informations externes aux contrats intelligents sur la chaîne. En tant que middleware reliant les contrats intelligents et le monde extérieur du Blockchain, l'Oracle Machine joue un rôle crucial, sa fonction principale étant de fournir des données aux contrats intelligents sur le Blockchain.
Prenons un exemple, si nous déployons un smart contract sur le réseau Ethereum qui nécessite d'obtenir des données sur le volume de transactions de pétrole brut pour un jour donné. Étant donné que le smart contract lui-même ne peut pas accéder directement aux données du monde réel hors chaîne, il doit donc utiliser une Oracle Machine pour réaliser cette fonctionnalité. Dans ce cas, le smart contract écrira le volume de transactions de pétrole brut pour la date requise dans le journal des événements. Ensuite, un processus hors chaîne sera lancé pour surveiller et s'abonner à ce journal des événements. Lorsque le processus détecte une demande dans la transaction, il soumettra une transaction sur la chaîne, appellera les méthodes pertinentes du contrat et téléchargera les informations sur le volume de transactions de pétrole brut pour la date spécifiée dans le smart contract.
Chainlink est actuellement le projet d'oracle avec la plus grande part de marché dans le domaine de la Blockchain. C'est un système d'oracle décentralisé, conçu pour fournir les données générées dans le monde réel à la Blockchain de la manière la plus sécurisée possible. Chainlink a construit un écosystème vertueux basé sur le principe fondamental des oracles, avec des incitations économiques via le jeton LINK. Les oracles Chainlink doivent être déclenchés par un transfert de jetons LINK, qui est un contrat ERC677 sur le réseau Ethereum. Les fonctionnalités d'oracle mises en œuvre via le jeton LINK ERC677 appartiennent au modèle de requête/réponse.
La norme de jeton ERC677 a été proposée par Chainlink pour répondre aux besoins des services d'oracle. Elle ajoute la méthode transferAndCall à la norme ERC20, combinant le paiement et la demande de service en un seul. Lorsque l'utilisateur effectue un transfert via transferAndCall, en plus de la fonctionnalité de transfert ERC20, il vérifie si l'adresse de réception est une adresse de contrat, et si c'est le cas, il appelle la méthode onTokenTransfer de cette adresse.
Dans l'implémentation de Chainlink, lorsque le consommateur d'oracle utilise la méthode transferAndCall pour payer des frais et demander un service, la méthode onTokenTransfer du contrat oracle effectue d'abord une série de vérifications de sécurité. Cela inclut la validation pour s'assurer que le transfert est un jeton LINK, la vérification que la longueur des données ne dépasse pas la limite, ainsi que la validation du sélecteur de fonction, etc. Une fois les vérifications réussies, la méthode oracleRequest du contrat oracle actuel est appelée via deleGatecall.
La méthode oracleRequest génère un requestId unique, définit un temps d'expiration et ajoute les informations connexes à la carte des engagements. Le plus important est qu'elle émet un événement OracleRequest, qui contient les données de la demande, représentées en CBOR(, un format d'objet binaire compact codé en ).
Les nœuds hors chaîne écouteront ces événements OracleRequest. Lorsqu'une nouvelle demande est détectée, le nœud analysera les informations de l'événement, obtiendra les données requises via un appel API, puis soumettra les données sur la chaîne en appelant la méthode fulfillOracleRequest du contrat oracle. Cette méthode effectuera une série de vérifications, puis appellera la fonction de rappel du contrat demandeur pour renvoyer le résultat au contrat consommateur.
Pour les développeurs, s'ils ont seulement besoin d'utiliser les prix des paires de devises existantes, ils peuvent directement utiliser le Price Feed fourni par Chainlink, également connu sous le nom d'Aggregator (. Chaque paire de trading a un Price Feed séparé, qui est en réalité un contrat AggregatorProxy. Ces contrats offrent plusieurs méthodes de requête, y compris l'obtention de la précision des prix, de la description, de la version et des données de prix les plus récentes, etc. 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 )(.
![Oracle Machine détaillée série sur Chainlink (1)])https://img-cdn.gateio.im/webp-social/moments-bb84d77f358852f47e9adf3e74ba5bf9.webp(
Il convient de noter que pour les paires de trading libellées en USD, la précision des prix est généralement uniformisée à 8 décimales, ce qui simplifie la gestion de la précision entre différents tokens. Cette conception permet aux développeurs d'utiliser plus facilement des données de prix en temps réel dans des contrats intelligents, sans avoir à gérer des appels API complexes et des conversions de formats de données.
![Oracle Machine détaillé série sur Chainlink (partie 1)])https://img-cdn.gateio.im/webp-social/moments-527bd8714534f5f06ccdd9afe40b253a.webp(