Conception et mise en œuvre d'une Oracle Machine de prix distribué
Pour éviter les points de défaillance uniques et améliorer la fiabilité, certains systèmes d'Oracle Machine adoptent un design distribué. Prenons l'exemple d'un Oracle Machine bien connu, son service de prix BTC/USD agrège 31 sources de prix indépendantes.
La conception du contrat de ce agrégateur permet à plusieurs oracles hors chaîne de fournir des données de prix. Chaque oracle est un compte externe indépendant qui peut soumettre des données à l'agrégateur par des méthodes spécifiques. Ces oracles fournissent non seulement des données pour BTC/USD, mais peuvent également servir simultanément d'autres paires de prix.
Le contrat d'agrégation effectue une série de vérifications lors du traitement des données soumises :
Tout d'abord, vérifiez si l'état actuel du contrat et les différents paramètres répondent aux exigences.
Ensuite, vérifiez chaque signature pour vous assurer que les données proviennent d'un signataire autorisé et vérifiez s'il y a des signatures en double.
Trier les valeurs d'observation, sélectionner la médiane comme résultat final, tout en s'assurant que ce résultat ne dépasse pas le seuil prédéfini.
Enfin, enregistrez le résultat dans l'état du contrat, et éventuellement effectuez une validation croisée supplémentaire.
Pour simplifier davantage le processus d'intégration, certains systèmes proposent également la fonctionnalité "Feed Registry". Cela équivaut à un agrégateur de sources de prix, permettant aux utilisateurs de lire directement les données de prix de plusieurs jetons via le Registry, sans avoir à configurer séparément la source de prix de chaque jeton.
En ce qui concerne le mécanisme de prix d'alimentation, il y aura généralement plusieurs niveaux d'agrégation des données :
Au niveau des sources de données : intégrer les données brutes des principales plateformes de trading.
Au niveau des opérateurs de nœuds : chaque nœud obtient des données à partir de plusieurs services d'agrégation de données et prend la valeur médiane.
Niveau réseau : les données de plusieurs nœuds sont à nouveau agrégées, généralement en utilisant la médiane.
La mise à jour finale des prix nécessite généralement de satisfaire un seuil de déviation ou un seuil de battement de cœur pour être déclenchée. Ce mécanisme garantit la fiabilité des données, mais entraîne également des mises à jour de prix relativement lentes, ce qui le rend plus adapté aux scénarios d'application où les exigences en matière de temps réel 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.
14 J'aime
Récompense
14
2
Partager
Commentaire
0/400
OldLeekConfession
· 07-15 22:40
Cette technologie coûte trop cher, non ? Les vieux investisseurs sont perdus.
Voir l'originalRépondre0
GmGnSleeper
· 07-15 22:29
Est-ce que c'est vraiment nécessaire pour quelque chose d'aussi nul ?
Comment un Oracle Machine distribué agrège-t-il des données provenant de multiples sources pour réaliser une tarification fiable ?
Conception et mise en œuvre d'une Oracle Machine de prix distribué
Pour éviter les points de défaillance uniques et améliorer la fiabilité, certains systèmes d'Oracle Machine adoptent un design distribué. Prenons l'exemple d'un Oracle Machine bien connu, son service de prix BTC/USD agrège 31 sources de prix indépendantes.
La conception du contrat de ce agrégateur permet à plusieurs oracles hors chaîne de fournir des données de prix. Chaque oracle est un compte externe indépendant qui peut soumettre des données à l'agrégateur par des méthodes spécifiques. Ces oracles fournissent non seulement des données pour BTC/USD, mais peuvent également servir simultanément d'autres paires de prix.
Le contrat d'agrégation effectue une série de vérifications lors du traitement des données soumises :
Tout d'abord, vérifiez si l'état actuel du contrat et les différents paramètres répondent aux exigences.
Ensuite, vérifiez chaque signature pour vous assurer que les données proviennent d'un signataire autorisé et vérifiez s'il y a des signatures en double.
Trier les valeurs d'observation, sélectionner la médiane comme résultat final, tout en s'assurant que ce résultat ne dépasse pas le seuil prédéfini.
Enfin, enregistrez le résultat dans l'état du contrat, et éventuellement effectuez une validation croisée supplémentaire.
Pour simplifier davantage le processus d'intégration, certains systèmes proposent également la fonctionnalité "Feed Registry". Cela équivaut à un agrégateur de sources de prix, permettant aux utilisateurs de lire directement les données de prix de plusieurs jetons via le Registry, sans avoir à configurer séparément la source de prix de chaque jeton.
En ce qui concerne le mécanisme de prix d'alimentation, il y aura généralement plusieurs niveaux d'agrégation des données :
La mise à jour finale des prix nécessite généralement de satisfaire un seuil de déviation ou un seuil de battement de cœur pour être déclenchée. Ce mécanisme garantit la fiabilité des données, mais entraîne également des mises à jour de prix relativement lentes, ce qui le rend plus adapté aux scénarios d'application où les exigences en matière de temps réel ne sont pas élevées.