Pour résoudre le problème de point de défaillance unique, un design distribué a été adopté pour fournir des services d'Oracle Machine. Prenons l'exemple du service de prix BTC en dollars, qui intègre 31 Oracle Machines indépendants pour fournir des données aux utilisateurs.
La conception du contrat de cet agrégateur peut être consultée sur l'explorateur de blocs Ethereum. En appelant une méthode spécifique dans le contrat, vous pouvez voir tous les oracles hors chaîne inclus dans cet agrégateur.
Chaque oracle machine hors chaîne peut appeler des méthodes spécifiques pour fournir des données de prix en réponse aux demandes des utilisateurs dans l'agrégateur. Ces oracles machines hors chaîne sont généralement des comptes externes, fournissant des données non seulement pour l'agrégateur BTC/USD, mais pouvant également servir d'autres agrégateurs tels que ETH/USD.
Le processus de traitement des contrats sur la chaîne comprend :
Lire l'état actuel du contrat et effectuer une série de vérifications
Compléter les travaux préparatoires nécessaires
Vérifiez chaque donnée de signature, en vérifiant le rôle du signataire et l'unicité de la signature.
Trier les valeurs d'observation, sélectionner la médiane et vérifier si elle se trouve dans une plage raisonnable.
Enregistrer le résultat de cette Oracle Machine et effectuer la vérification finale.
Dans ce cas, la vérification finale appellera la méthode de validation d'un contrat spécifique, comparant principalement si l'écart de prix donné par différents Oracle Machines est dans une plage acceptable.
Centre d'enregistrement des sources de prix
Pour améliorer la flexibilité et réduire les coûts de gouvernance, un registre de sources de prix peut être utilisé pour accéder aux services d'Oracle Machine. Il équivaut à un agrégateur de plusieurs sources de prix, permettant aux utilisateurs de lire directement les données de prix via le registre, sans avoir à configurer chaque source de prix eux-mêmes.
Mécanisme d'agrégation de prix multi-niveaux
L'acquisition des données de prix se fait par agrégation en trois niveaux : agrégation des sources de données, agrégation des opérateurs de nœuds et agrégation du réseau Oracle Machine.
Les données brutes proviennent principalement des grandes plateformes de trading. Certains fournisseurs de services de données professionnels collectent et intègrent ces données brutes, effectuant des calculs pondérés en fonction de facteurs tels que le volume des transactions, pour former le premier niveau d'agrégation.
La deuxième couche est gérée par des opérateurs de nœuds d'Oracle Machine. Ils obtiennent les prix de plusieurs fournisseurs de données indépendants, prennent la médiane et éliminent les valeurs aberrantes, ce qui améliore encore la fiabilité des données.
La dernière couche est l'agrégation de l'ensemble du réseau Oracle Machine. La méthode courante consiste à prendre la médiane comme prix final après avoir atteint un nombre prédéfini de nœuds. La mise à jour des prix est contrôlée par deux paramètres : le seuil de déviation et le seuil de battement.
Ce mécanisme d'agrégation multi-niveaux garantit l'exactitude et la résistance à la manipulation des données de prix. Cependant, en raison des caractéristiques du mécanisme de mise à jour, le rafraîchissement des prix peut être relativement lent, ce qui le rend principalement adapté aux scénarios d'application où les exigences en matière de temps réel des prix ne sont pas élevées.
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.
Architecture de l'Oracle Machine multi-niveaux : résoudre les problèmes de fiabilité et d'efficacité des données de prix.
Architecture de l'oracle de prix diversifié
Pour résoudre le problème de point de défaillance unique, un design distribué a été adopté pour fournir des services d'Oracle Machine. Prenons l'exemple du service de prix BTC en dollars, qui intègre 31 Oracle Machines indépendants pour fournir des données aux utilisateurs.
La conception du contrat de cet agrégateur peut être consultée sur l'explorateur de blocs Ethereum. En appelant une méthode spécifique dans le contrat, vous pouvez voir tous les oracles hors chaîne inclus dans cet agrégateur.
Chaque oracle machine hors chaîne peut appeler des méthodes spécifiques pour fournir des données de prix en réponse aux demandes des utilisateurs dans l'agrégateur. Ces oracles machines hors chaîne sont généralement des comptes externes, fournissant des données non seulement pour l'agrégateur BTC/USD, mais pouvant également servir d'autres agrégateurs tels que ETH/USD.
Le processus de traitement des contrats sur la chaîne comprend :
Dans ce cas, la vérification finale appellera la méthode de validation d'un contrat spécifique, comparant principalement si l'écart de prix donné par différents Oracle Machines est dans une plage acceptable.
Centre d'enregistrement des sources de prix
Pour améliorer la flexibilité et réduire les coûts de gouvernance, un registre de sources de prix peut être utilisé pour accéder aux services d'Oracle Machine. Il équivaut à un agrégateur de plusieurs sources de prix, permettant aux utilisateurs de lire directement les données de prix via le registre, sans avoir à configurer chaque source de prix eux-mêmes.
Mécanisme d'agrégation de prix multi-niveaux
L'acquisition des données de prix se fait par agrégation en trois niveaux : agrégation des sources de données, agrégation des opérateurs de nœuds et agrégation du réseau Oracle Machine.
Les données brutes proviennent principalement des grandes plateformes de trading. Certains fournisseurs de services de données professionnels collectent et intègrent ces données brutes, effectuant des calculs pondérés en fonction de facteurs tels que le volume des transactions, pour former le premier niveau d'agrégation.
La deuxième couche est gérée par des opérateurs de nœuds d'Oracle Machine. Ils obtiennent les prix de plusieurs fournisseurs de données indépendants, prennent la médiane et éliminent les valeurs aberrantes, ce qui améliore encore la fiabilité des données.
La dernière couche est l'agrégation de l'ensemble du réseau Oracle Machine. La méthode courante consiste à prendre la médiane comme prix final après avoir atteint un nombre prédéfini de nœuds. La mise à jour des prix est contrôlée par deux paramètres : le seuil de déviation et le seuil de battement.
Ce mécanisme d'agrégation multi-niveaux garantit l'exactitude et la résistance à la manipulation des données de prix. Cependant, en raison des caractéristiques du mécanisme de mise à jour, le rafraîchissement des prix peut être relativement lent, ce qui le rend principalement adapté aux scénarios d'application où les exigences en matière de temps réel des prix ne sont pas élevées.