L’importance de la qualité des données pour les contrats intelligents DeFi

Traduction de https://blog.chain.link/the-importance-of-data-quality-for-defi/

L’écosystème des applications de la finance décentralisée (DeFi) et la valeur garantie par les oracles de la blockchain fonctionnent en tandem, se soutenant mutuellement dans leur réussite et leur croissance. Alors que la valeur sécurisée par DeFi continue de croître à un rythme rapide, il est important de s’assurer que ce nouvel écosystème financier décentralisé révolutionnaire offre un niveau de sécurité et des garanties de fiabilité élevés à ses utilisateurs.

Le problème de l’oracle est assez connu, car de nombreux articles ont examiné ce sujet en détail. Cependant, le sujet de la “qualité des données” fournies par les oracles reste encore largement méconnu et mal compris. Ce malentendu est ancré dans l’hypothèse souvent retenue que les oracles sont utilisés à la fois pour transférer des données externes on-chain et pour générer des données de haute qualité. D’après notre expérience en matière de recherche et d’élaboration de solutions oracles sécurisées, les oracles blockchains sont conçus pour transférer des données on-chain et protéger les données contre toute manipulation, et non pour créer les données elles-mêmes.

La séparation de ces problèmes (livraison des données vs. qualité des données) a été appliquée à l’architecture des réseaux d’oracles décentralisés qui alimentent les données de référence des prix de Chainlink, qui sont les oracles les plus utilisés dans la DeFi et qui alimentent plus de 90% du marché décentralisé des produits dérivés d’Ethereum. Sur la base du succès de ces réseaux d’oracles à fournir des données de haute qualité aux applications en direct, nous avons identifié cinq éléments essentiels pour résoudre le problème de la qualité des données

  1. Permettre aux nœuds oracles de se connecter aux fournisseurs de données premium afin de garantir que les contrats d’utilisateur aient accès à des données de la plus haute qualité. Pour cela, le protocole oracle doit disposer de capacités de gestion des mots de passe et des justificatifs d’identité afin que tous les nœuds puissent stocker en toute sécurité les clés APIs et gérer les ouvertures de comptes pour les abonnements payants.
  2. Faire en sorte que les nœuds s’approvisionnent en données sur les prix auprès de fournisseurs de données off-chain de haute qualité, spécialisés dans la production de données précises sur les prix; en particulier des agrégateurs de données qui assurent une couverture du marché ajustée au volume dans tous les environnements commerciaux. L’utilisation du mécanisme de l’oracle pour générer un prix de marché mondial à partir d’une collection de données brutes est extrêmement difficile et ouvre l’oracle à de nombreux angles d’attaque, telles que des variations rapides de volume et des données erronées, qui ne sont pas rares sur les marchés des cryptomonnaies.
  3. Intégrer la décentralisation comme un élément actif des garanties de sécurité et de fiabilité fournies par l’oracle. Regrouper les données provenant de plusieurs nœuds indépendants pour garantir que le mécanisme de l’oracle résiste aux manipulations et soit toujours disponible lors de la livraison des données aux contrats. S’approvisionner auprès de plusieurs fournisseurs de données de haute qualité sans sacrifier la qualité pour apporter une décentralisation supplémentaire au niveau de la source de données.
  4. Favoriser les systèmes qui donnent aux utilisateurs et aux développeurs la possibilité de prendre des décisions avisées lors de la conception d’un mécanisme d’oracle en leur fournissant des informations sur les performances actuelles et historiques de chaque nœud et du réseau oracle décentralisé dans son ensemble. Éviter toute approche de sécurité par l’obscurité pour minimiser les risques cachés et s’assurer que le plus grand nombre possible d’yeux puissent repérer les problèmes potentiels dès le début avant qu’ils ne deviennent des problèmes importants en fin de compte.
  5. Éviter les risques importants tels que l’utilisation de sources de données à échange unique et/ou la dilution de données de haute qualité provenant de solutions oracle sécurisées avec des données de basse qualité provenant de solutions oracles moins sécurisées. La décentralisation sans normes de contrôle de la qualité expose les contrats à une surface d’attaque plus grande et plus complexe, ce qui entraîne souvent les conséquences involontaires d’une diminution de la solution oracle de haute qualité.

Pour approfondir chacune de ces caractéristiques qui sont importantes pour garantir la qualité des données, nous examinons la composition idéale d’un réseau oracle décentralisé sécurisé, la manière d’exploiter correctement la grande souplesse de Chainlink pour générer des données de haute qualité ainsi que les principaux risques d’approvisionnement en données à éviter lors de la conception de réseaux oracles de prix.

Composition d’un réseau d’oracle décentralisé sécurisé

Un oracle est un logiciel qui fait la liaison entre la blockchain et le monde extérieur. Il permet aux contrats intelligents de consommer des informations qui ne sont pas stockées sur la blockchain, afin de prendre conscience des événements quotidiens du monde réel. Cette connectivité externe augmente de manière exponentielle le nombre d’événements sur lesquels un contrat intelligent peut être rédigé, ce qui permet aux développeurs d’obtenir plus de valeur sur un plus grand nombre de marchés. L’augmentation de la connectivité s’accompagne d’un nouvel angle d’attaque qui doit être sécurisée afin de maintenir les principaux points du contrat intelligent, à savoir la résistance aux manipulations, l’immuabilité et la disponibilité.

Les réseaux oracles décentralisés sont des logiciels sécurisés permettant de connecter des environnements on-chain et off-chain fournissant un cadre pour établir les garanties de sécurité et de fiabilité nécessaires pour que les utilisateurs puissent faire confiance aux contrats intelligents connectés, qui représentent des milliards de dollars ou plus en fonds d’utilisateurs. Si les oracles ne respectent pas les mêmes normes de sécurité et de fiabilité que la blockchain, l’ensemble du contrat intelligent est en danger, même si le code du contrat lui-même est sans faille.

Les données de référence sur les prix de Chainlink (Chainlink’s Price Reference Data ) sont un ensemble de réseaux d’oracles décentralisés qui fournissent le plus grand ensemble de données sur les prix on-chain dans l’écosystème Ethereum, sur lequel s’appuient un nombre croissant d’applications DeFi de premier plan. La conception de ces réseaux d’oracles de prix suit une approche de décentralisation vérifiable et adhère aux meilleures pratiques en matière de qualité des données afin d’apporter une sécurité maximale à ses utilisateurs. Voici quatre caractéristiques clés mises en œuvre dans les données de référence de prix de Chainlink qui devraient être appliquées à tous les réseaux oracles décentralisés cherchant à assurer la qualité des données.

Des données de haute qualité provenant de fournisseurs de données premium

Bien que le mining soit une opération assez uniforme, la production de données spécifiques à l’industrie qui sont d’une qualité suffisante pour être réellement fiables pour garantir des centaines de millions de dollars de valeur n’est pas une tâche à laquelle on peut faire confiance. Au lieu d’essayer d’utiliser le mécanisme de l’oracle pour générer des données de haute qualité à partir d’une collection de données brutes, les développeurs ont souvent intérêt à ce que les nœuds fournissent des données directement à des sociétés d’agrégation de données respectées, dotées de grandes équipes, d’une infrastructure complète et dont l’unique objectif est de générer des données de haute qualité pour des industries spécifiques.

La production de données confidentielles de haute qualité est une activité à forte valeur; elle n’est pas gratuite et nécessite un contrat légalement contraignant et des justificatifs d’identité pour y accéder. Les nœuds doivent soit avoir un abonnement payant au fournisseur de données (API), soit être autorisés spécifiquement par le fournisseur de données (par exemple, les données internes de l’entreprise). Ces deux modèles autorisés nécessitent des capacités de gestion des mots de passe et des justificatifs d’identité pour assurer l’interaction entre le nœud et l’API. Ainsi, les opérateurs de nœuds doivent pouvoir stocker les clés APIs et gérer les ouvertures de comptes pour interagir avec ces fournisseurs de données premium.

Les solutions oracle qui ne peuvent pas se connecter aux APIs premium en raison d’un manque de capacités de gestion des identifiants se limitent à proposer des APIs ouvertes, gratuites ou piratées. Ces API ont généralement des données de faible qualité, des limitations de débit, des temps de réponse peu fiables et aucune garantie de disponibilité ou de qualité de service légalement contraignante, ce qui fait que ces sources de données ne sont pas adaptées à des cas d’utilisation de grande, moyenne ou même de petite valeur. Les contrats intelligents qui sont alimentés par des données de faible qualité n’ont aucune garantie quant à la fiabilité ou à l’exactitude des données consommées, ce qui crée une plus grande surface d’attaque dans le processus. Comme c’est le cas pour toute autre technologie basée sur les données, “garbage in, garbage out”.

Les nœuds Chainlink participant aux contrats de données de référence sur les prix utilisent des adaptateurs externes, leur permettant de se connecter à n’importe quelle API premium. Ces APIs offrent des données de meilleure qualité, des temps de réponse plus rapides et des garanties en matière de disponibilité et de qualité de service. Les adaptateurs externes sont modulaires, peuvent être écrits dans n’importe quel langage de programmation et peuvent être hébergés à partir d’un serveur différent de celui du nœud Chainlink. Ils peuvent être utilisés pour récupérer des données auprès de fournisseurs de données, d’APIs web, de systèmes d’entreprise, de dispositifs IoT, de systèmes de paiement, d’autres blockchains, etc…

Décentralisation des opérateurs de nœuds de haute qualité

La qualité des données est un point discutable sans un mécanisme d’oracle sûr et fiable pour livrer les données aux contrats intelligents. La décentralisation d’opérateurs de nœuds de haute qualité est un modèle de conception clé pour se protéger contre les périodes d’indisponibilité imprévisibles et éliminer la nécessité de faire confiance à une seule entité pour ne pas altérer le processus de livraison des données. Le consensus décentralisé augmente considérablement le coût des attaques car, même si quelques nœuds connaissent des temps d’arrêt ou deviennent malveillants, cela n’aura que peu d’effet sur la réponse agrégée finale.

Les contrats de référence de prix de Chainlink sont alimentés par des réseaux oracles décentralisés qui regroupent les réponses de nombreux nœuds indépendants, dont la sécurité a été vérifiée et qui résistent à la menace Sybil. Les nœuds Chainlink participants sont exploités par les principales équipes de sécurité et de développement de blockchain réparties dans le monde entier, y compris les serveurs hors site dans le cloud et les serveurs bare-metal, afin d’éviter tout point de défaillance dans le mécanisme de l’oracle. Il existe également de nombreux nœuds en attente exploités par la communauté qui peuvent être ajoutés à un réseau à tout moment pour une décentralisation supplémentaire.

Décentralisation des sources de données de haute qualité

Les solutions oracles peuvent devenir plus robustes en intégrant plusieurs sources de données, à condition de ne pas sacrifier la qualité de chaque source de données. La décentralisation des sources de données de haute qualité empêche qu’un seul fournisseur de données soit la seule source de vérité et protège contre les situations où le seul fournisseur de données tomberait hors ligne. Cependant, il peut y avoir des situations où une seule source de données de haute qualité est disponible, c’est-à-dire où des techniques cryptographiques plus avancées pour garantir la qualité des données, telles que les accords de service adossés (voir ci-dessous), la vérification TLS (Town Crier, DECO), et les preuves de connaissance zéro, deviennent plus importantes.

Les contrats de référence de prix de Chainlink sont décentralisés au niveau des sources de données. Chaque réseau de référence des prix fournit collectivement des données de marché provenant de plusieurs fournisseurs de données indépendants et très fiables. Ces fournisseurs de données sont entièrement constitués d’agrégateurs de données de qualité supérieure qui couvrent l’ensemble du marché dans tous les environnements commerciaux et comprennent Brave New Coin, Kaiko, Amberdata, et de nombreuses autres APIs de données réputées. Chaque point de données est ensuite agrégé pour former un prix de référence unique qui est stocké on-chain pour les contrats à consommer en utilisant une simple fonction de lecture.

Visualisations et surveillance des logiciels open-source

Si les contrats intelligents qui sous-tendent les applications DeFi sont open-source, afin que le public puisse contrôler en temps réel les mécanismes d’oracle de prix qui fournissent les données devraient être transparents également. Sans transparence de la solution oracle, les utilisateurs de dApp n’ont pas la possibilité de vérifier la provenance des données, les nœuds qui fournissent les données, la latence des réponses, les performances historiques du réseau oracle et l’exactitude de ses données, etc…

Chaque contrats de données de référence sur les prix de Chainlink est accompagné des visualisations transparentes issues des données on-chain qui présentent un ensemble d’informations très détaillées, telles que :

  • Le dernier prix de chaque flux de données de référence
  • Quels sont les projets DeFi qui parrainent et soutiennent chaque price feed
  • Quelles sont les mesures de sécurité prises par les opérateurs de nœuds pour sécuriser les price feeds
  • Quand les mises à jour doivent avoir lieu
  • La quantité minimale de réponses de nœuds nécessaire pour que l’agrégation commence
  • Une pléthore d’autres informations clés pertinentes sur le réseau oracle dans son ensemble et sur chaque opérateur de nœud individuel
Chainlink Price Reference Data fournit des contrats intelligents avec des données de prix de haute qualité en utilisant un réseau décentralisé de nœuds et de fournisseurs de données; le price feed BTC/USD est illustré ci-dessus

En outre, les performances de chaque nœud peuvent être analysées pour chaque demande de données afin de voir si un nœud a pu répondre à une demande de données ou non. Chainlink Explorer permet aux opérateurs de nœuds, aux fournisseurs de données et aux utilisateurs, d’étudier les performances de chaque nœud au sein d’un réseau et de voir exactement quelles mesures ont été prises pour identifier s’il y a eu des erreurs en cours de route.

Flexibilité dans l’approvisionnement en données à l’aide de Chainlink

La flexibilité est une composante essentielle d’un réseau d’oracle généralisé capable de devenir un standard utilisé dans toute la DeFi. Elle permet aux développeurs de créer tout modèle d’oracle qui, selon eux, leur donne les garanties de sécurité et de fiabilité dont ils ont besoin. Alors que les flux de données de référence de prix Chainlink utilisent une combinaison de nombreux agrégateurs de données pour générer les prix du marché mondial, le protocole Chainlink n’impose pas un modèle de conception unique concernant la façon dont un réseau oracle est construit ou d’où proviennent les données. Au contraire, il fournit le cadre modulaire le plus ouvert du marché pour répondre à tout besoin spécifique.

Intégrer toutes les données, la collecte des nœuds et le modèle d’agrégation

Les développeurs utilisent ces adaptateurs externes pour connecter rapidement leurs contrats intelligents à toute source de données nécessaire à leur exécution. Ils peuvent également personnaliser le degré précis de décentralisation dont ils ont besoin, les sources de données exactes dont ils veulent extraire des données, les algorithmes utilisés pour agréger les données et la fréquence à laquelle les mises à jour doivent avoir lieu. Cela permet une flexibilité maximale dans la manière dont le contrat consomme les données externes.

Market.link est un site web tiers où les développeurs peuvent choisir parmi des adaptateurs externes préconstruits qui fournissent un large éventail de sources de données.

Ce cadre personnalisable permet aux développeurs d’augmenter ou de réduire facilement leur réseau d’oracle, selon la sécurité qu’ils souhaitent payer. Chainlink dispose du plus grand nombre d’opérateurs de nœuds sécurisés, ainsi que de nombreux nœuds communautaires en concurrence pour des jobs qui peuvent être rapidement ajoutés à n’importe quel réseau oracle pour des garanties de sécurité supplémentaires. En outre, les développeurs ont accès à une variété croissante de sources de données préformatées qui peuvent être incluses dans une agrégation de données sans aucun travail de développement préalable.

Chainlink offre également la possibilité de personnaliser l’agrégation, en utilisant un modèle moyen, médian ou encore plus complexe de source pondérée et d’élimination des valeurs erronées. Cela inclut la flexibilité de la fréquence de mise à jour, que ce soit en utilisant une mise à jour basée sur le temps, des mises à jour des écarts de prix (par exemple, chaque changement de prix de 0,5%), ou un certain type d’approche hybride avec de multiples paramètres.

Les fournisseurs de données peuvent fonctionner comme des APIs traditionnelles ou faire fonctionner des nœuds Chainlink

Le cadre flexible de Chainlink permet aux fournisseurs de données de personnaliser la manière dont ils fournissent des données à la nouvelle économie émergente des contrats intelligents, soit en fonctionnant comme une entreprise API traditionnelle, soit en faisant fonctionner directement un nœud Chainlink.

APIs traditionnels
Les fournisseurs de données peuvent choisir de fonctionner exactement comme ils le font aujourd’hui en fournissant leurs données à des utilisateurs payants par le biais de modèles d’abonnement proposés dans des monnaies fiduciaires. Les nœuds Chainlink peuvent s’abonner à ces APIs et relayer leurs données on-chain en utilisant les adaptateurs externes de Chainlink dans leurs configurations de nœuds. Cela peut être appliqué à tout fournisseur de données existant et est déjà utilisé en production par les réseaux de données de référence des prix de Chainlink, les nœuds s’abonnant à des fournisseurs de données de premier ordre tels qu’Amberdata ou CoinGecko. Chainlink dispose également d’adaptateurs externes déjà réalisés pour les APIs de plateformes d’échange tels que Binance et Coinbase.

Ce modèle est puissant car les fournisseurs de données n’ont pas besoin de modifier leur modèle commercial ou leur infrastructure actuels. Même si les fournisseurs de données eux-mêmes hésitent à desservir directement les marchés de contrats intelligents, les nœuds de Chainlink peuvent toujours fournir aux développeurs un accès à toutes les ressources de données dont ils ont besoin via des adaptateurs externes modulaires. Cela permet également aux nœuds de s’abonner à des fournisseurs de données qui exploitent leurs propres nœuds Chainlink (décrits ci-dessous) afin de décentraliser davantage leurs données.

Fournisseurs de données en tant que nœuds Chainlink
L’autre modèle consiste pour les fournisseurs de données à exploiter des nœuds Chainlink et à vendre leurs données directement à des contrats intelligents. Ils disposent ainsi d’une nouvelle méthode pour monétiser leurs données, déjà utilisée par plusieurs grands fournisseurs de données, tels que les agrégateurs de données de marché Kaiko et Alpha Vantage, ainsi que la plateforme Huobi.

L’un des avantages uniques dont bénéficient les fournisseurs de données en exploitant leurs propres nœuds Chainlink est la possibilité de signer cryptographiquement leurs propres données. Les utilisateurs et les contrats intelligents peuvent être assurés que les données de prix provenant directement du nœud Chainlink d’un fournisseur ou d’un échange de données n’ont pas été altérées en chemin vers le contrat intelligent, puisque les données sont signées de manière cryptographique en utilisant la clé privée unique de leur nœud avant d’être diffusées on-chain. Les données signées peuvent ensuite être vérifiées on-chain grâce à l’adresse de la clé publique du nœud, ce qui garantit leur grande intégrité, puisqu’elles proviennent directement de la source.

Grâce à ce cadre, les fournisseurs de données peuvent diffuser les données directement à la blockchain, ce qui leur évite de devoir faire appel à des acteurs externes pour acheminer leurs données on-chain à leur place. Cela permet aux fournisseurs de données de contrôler la fréquence à laquelle ils diffusent les données on-chain et leur permet de maintenir la sécurité de leurs données, depuis la génération des données jusqu’à la livraison finale et au contrat intelligent requérant. Ainsi, les fournisseurs de données ont la possibilité de fournir simultanément des données à plusieurs applications différentes de manière unique, par exemple en fournissant des mises à jour toutes les minutes à un ensemble d’applications tout en assurant la maintenance d’autres applications en utilisant un mécanisme de seuil d’écart de prix à chaque changement de 0,5 % du prix.

Les fournisseurs de données peuvent vendre leurs données aux opérateurs de nœuds Chainlink et/ou gérer directement un nœud Chainlink

Vendre à tous les environnements blockchain à partir d’une seule passerelle

On ne peut pas attendre des fournisseurs de données qu’ils comprennent chaque blockchain et qu’ils mettent en place de manière indépendante des opérations sécurisées sur chacune d’elles, surtout si l’on considère la nouveauté du marché des blockchains et le manque de documentation et de développeurs qui comprennent chaque environnement.

Le réseau oracle de Chainlink est accessible à toutes les blockchains, soit en exploitant les adaptateurs/initiateurs externes existants, soit en en créant de nouveaux pour rendre rapidement de nouvelles blockchains disponibles. Chainlink est open-source, de sorte que les principaux développeurs peuvent intégrer Chainlink sans aucune autorisation extérieure, ce qui permet une évolutivité horizontale sans goulots d’étranglement en matière de développement. La plupart des principales blockchains, dont Ethereum, Polkadot, Tezos, Cosmos et bien d’autres, intègrent déjà Chainlink dans leurs réseaux.

Cette configuration fournit aux fournisseurs de données et aux développeurs de contrats intelligents une passerelle unique à partir de laquelle ils peuvent vendre et accéder aux données sur n’importe quelle blockchain, ce qui permet aux dApps de disposer de plus de données on-chain et aux fournisseurs de données d’augmenter leurs revenus. Il est important de noter que la flexibilité de cette approche évite aux fournisseurs de données de devoir choisir où déployer les ressources.

Établir des garanties crypto-économiques sur la qualité des données et des services

Les réseaux oracle Chainlink comprendront des accords de service signés à la fois par l’opérateur du nœud et par le contrat intelligent demandeur, qui prédéfinissent les paramètres auxquels un nœud doit se conformer pendant toute la durée de l’accord. Ces paramètres fixent les conditions de livraison des données (latence de la réponse), la qualité des données (précision de la réponse), la quantité de LINK mis gage (garanties crypto-économiques), les conditions de réduction (pénalités), et toutes autres conditions prédéfinies par le demandeur. Le paiement de l’opérateur du nœud dépend du respect de ces paramètres et, en fin de compte, de la livraison en temps voulu de données de haute qualité on-chain. Les fournisseurs de données qui exploitent leur propre nœud Chainlink disposent ainsi d’une flexibilité maximale quant aux garanties qu’ils offrent en matière de données, ce qui apporte un niveau supplémentaire de confiance et d’intégrité à la qualité, la fiabilité et l’exactitude de leurs données.

Les accords de service créent des garanties crypto-économiques de qualité et de livraison des données.

En fin de compte, les accords de services garantis permettent aux fournisseurs de données de garantir leurs propres services d’oracles comme une forme d’assurance de qualité pour les contrats intelligents qui en font la demande, qui peut être retirée comme une pénalité pour un comportement indésirable. Sans accord de service, les réseaux oracles ont des conditions de livraison et de qualité des données non définies, créant une situation où les demandeurs ont peu de garanties sur la qualité des données ou des services oracles dont ils ont besoin.

Prendre une décision éclairée en utilisant les cadres de réputation et les marchés de nœuds

Un élément essentiel de la gestion de la flexibilité consiste à donner aux utilisateurs les outils nécessaires pour prendre des décisions avisées sur les éléments qu’ils incorporent dans leur réseau d’oracle. Elle comprend deux parties : les systèmes de réputation et les places de marché des nœuds.

Cadre de réputation

Les systèmes de réputation fournissent aux utilisateurs un enregistrement immuable des données on-chain qui met en évidence les performances historiques d’un opérateur de nœud et/ou d’un fournisseur de données. Les futurs demandeurs disposent alors de preuves cryptographiques historiques pour déterminer quels nœuds sont fiables et lesquels ne le sont pas.

Grâce à des services tiers, les nœuds Chainlink peuvent être comparés directement les uns aux autres pour voir quels nœuds oracle sont plus fiables que les autres. Ces sites présentent à la fois des données brutes et des statistiques affinées sur le réseau Chainlink dans son ensemble, ainsi que des données spécifiques sur chaque nœud d’oracle individuel, notamment le nombre de transactions, le temps de réponse, les paiements effectués, le taux de réussite, etc.

Reputation.link permet aux développeurs et aux utilisateurs d’avoir un aperçu approfondi des performances des réseaux oracle Chainlink, y compris de chaque nœud individuel et de chaque source de données.

Marchés des nœuds
L’autre élément important est de disposer d’un emplacement pour découvrir les nœuds d’oracle, les filtrer, les comparer et finalement les sélectionner pour les utiliser au sein d’un réseau d’oracle. Il existe de nombreux sites tiers de listing des nœuds Chainlink, tels que le Chainlink Market de LinkPool et le Honeycomb Marketplace CLCG’s. Cela permet aux développeurs de contrôler totalement la structure de leur réseau d’oracle, car ils peuvent choisir exactement les nœuds auxquels ils font confiance et le nombre de nœuds qu’ils sont prêts à payer.

En outre, chaque opérateur de nœud peut énumérer ses certifications, ses examens de sécurité, ses preuves d’identité, ses adaptateurs externes, ses sources de données et ses spécifications de fonctionnement qui détaillent exactement les services off-chain qu’il offre aux contrats intelligents. Les opérateurs peuvent fixer leurs propres prix et paramètres pour chaque job qu’ils proposent, créant ainsi une économie de marché libre où les nœuds sont en concurrence sur une multitude de facteurs variables.

Les nœuds sur market.link sont capables de construire leur réputation on-chain et de la faire valoir auprès des développeurs à la recherche de nœuds fiables.

Comment tirer parti de la flexibilité pour créer des oracles de prix qui évitent les risques liés à l’approvisionnement en données

Afin de fournir des données de haute qualité, il est essentiel de prendre en compte et d’atténuer de manière préventive plusieurs vecteurs d’attaque lors de la conception d’un mécanisme d’oracle. En ne tenant pas compte de ces situations, les développeurs prennent des risques considérables avec les fonds des utilisateurs et, au final, mettent en péril le succès de l’ensemble de leur dApp.

Transfert de volume / monopole de plateforme
Les marchés des cryptomonnaies diffèrent des marchés financiers traditionnels car aucune plateforme ne détient l’exclusivité de l’émission des actifs et ne peut donc bloquer les utilisateurs et couvrir l’ensemble du marché de négociation d’un actif. La technologie de la blockchain est sans autorisation et chacun peut donc inscrire sur sa plateforme des tokens auxquels les traders peuvent accéder à tout moment. En raison de cette dynamique, le volume des cryptomonnaies est réparti sur de nombreuses plateformes différentes et peut se déplacer assez rapidement entre les différentes plateformes. Un mécanisme d’oracle doit être mis en place pour éviter les manipulations de marché, qui font que la majorité du volume est transférée vers une plateforme qui n’est pas incluse dans le processus d’agrégation des données.

Flash crashs
Les plateformes de cryptomonnaies, qui ne disposent généralement pas de disjoncteurs suffisants, sont susceptibles de connaître des crash éclairs lorsque le prix du marché s’écarte beaucoup plus du reste du marché sur toutes les autres plateformes. Même les plus grandes plateformes sont soumises à ce risque et ont déjà connu ces problèmes à plusieurs reprises au fil des ans. Kraken a connu un flash crash qui a vu la paire de prix BTC/CAD plonger de 11 200 $ à 100 $, soit une chute de près de 99 %. Coinbase a connu un crash extrême qui a vu l’ETH chuter temporairement de 322 $ à un minimum de 0,1 $. En outre, au début de 2020, Bitmex, une autre plateforme, a connu un crash où le prix du XRP a chuté de 60 % en une minute, passant de 0,33 $ à 0,13 $.

Dilution de la qualité
Il est important d’éviter d’appliquer la décentralisation sans avoir mis en place des normes de contrôle de la qualité pour éviter que des sources de données de moindre qualité ne diluent le processus d’agrégation. Les fournisseurs de données et les opérateurs de nœuds ayant un historique de performances médiocre, une réputation inconnue et une infrastructure de sécurité non prouvée ne doivent pas être inclus dans un mécanisme d’oracle. Veiller à ce que les opérateurs de nœuds et les fournisseurs de données disposent des ressources et des connaissances nécessaires pour résoudre les problèmes qui peuvent survenir, et mettre en place des alertes et assurer la sécurité.

Veuillez noter qu’il n’est pas nécessaire qu’un attaquant malveillant soit un développeur expérimenté pour exploiter ces failles. Tout trader ou petit groupe de traders qui remarque une telle opportunité peut utiliser une plateforme pour manipuler des marchés particuliers et fausser le point de référence du prix généré par un oracle ayant une couverture de marché limitée. Cela augmente considérablement la surface d’attaque car cela ouvre la possibilité de manipuler un oracle mal conçu à toute personne disposant d’une connexion internet et d’un accès à une plateforme.

Les contrats de données de référence de prix de Chainlink ont été spécifiquement conçus pour atténuer ces risques en utilisant des agrégateurs de données au lieu d’une API d’échange unique ou d’une collection d’APIs de différentes plateformes.

Des agrégateurs de données de haute qualité assurent la couverture du marché dans tous les environnements de découverte des prix

Les données de référence sur les prix de Chainlink utilisent exclusivement des agrégateurs de données parce qu’elles fournissent la couverture de marché la plus robuste, une caractéristique particulièrement importante pour fournir des données précises à des marchés qui sont encore relativement peu nombreux par rapport aux marchés financiers traditionnels. Lorsque l’on s’approvisionne auprès d’agrégateurs de données, le rôle du maintien de la couverture du marché passe du créateur du réseau oracle, qui peut ne pas avoir l’expérience ou les ressources nécessaires pour suivre en permanence le volume des échanges, à des agrégateurs de données professionnels.

Ces agrégateurs de données disposent d’équipes à plein temps réparties dans le monde entier, qui sont très expérimentées dans le maintien de données précises sur les prix avec une couverture complète du marché dans tous les environnements commerciaux. Ils prennent en compte des paramètres importants tels que la liquidité, le volume, le temps et la façon dont ces paramètres varient d’une plateforme à l’autre ; ils lissent également les valeurs erronées. Ces caractéristiques font des contrats de référence de prix de Chainlink des produits très résistants aux variations de volume, aux crashs éclairs et à la dilution de la qualité.

Les contrats de référence de prix de Chainlink utilisent également plusieurs agrégateurs de données pour renforcer les données de prix contre toute source unique manipulant le point de données résultant. Cela offre des garanties de sécurité et de fiabilité encore plus grandes aux développeurs et aux utilisateurs finaux de dApp, en plus de l’utilisation d’opérateurs de nœuds dont la sécurité est vérifiée par les meilleures équipes de surveillance.

Le processus de bout en bout des contrats de données de référence sur les prix de Chainlink

Les principaux risques liés à l’utilisation inappropriée de la flexibilité d’oracle pour l’approvisionnement en données

Pour bien comprendre les risques liés au déploiement de réseaux oracles qui ne tiennent pas compte des variations de volume ou qui s’approvisionnent exclusivement à partir d’une API unique, il est préférable d’examiner quelques exemples concrets de ce qui peut mal tourner et de la manière dont cela se passe.

ATTENTION : Évitez les oracles basés sur une plateforme unique

Les réseaux d’oracles qui extraient les données de prix d’une seule plateforme n’ont non seulement aucune protection contre les temps d’arrêt de la plateforme, les flash crashs et la manipulation des prix, mais ils ont également une couverture de marché extrêmement limitée. Bien qu’un tel dispositif puisse sembler fonctionner initialement en période de faible volatilité, lorsque la volatilité du marché augmente, la découverte des prix se produit et le volume peut se déplacer fréquemment entre les différentes plateformes. Même si l’oracle est mis à jour pour suivre une plateforme différente, le nouveau prix peut être très imprécis, car les changements de marché ne prennent pas toujours la même forme. Cela crée un scénario dans lequel, bien que la source de données ait changée, elle ne peut pas maintenir la couverture du marché de manière fiable.

Vous trouverez ci-dessous un aperçu, étape par étape, des dangers créés par l’utilisation d’une plateforme unique :

  • Un développeur, Joe, a écrit une application de contrat intelligent qui nécessite des données externes sur le prix d’une cryptomonnaie. Il décide de construire un réseau d’oracle qui tire les données de prix de sa plateforme préférée, Plateforme C. Le jour exact où il a construit l’oracle, Plateforme C avait 80% du volume de l’actif ; il estime que c’est une solution “assez bonne”.
  • Une semaine s’écoule et les dépôts des utilisateurs augmentent. Alors que la Plateforme C ne couvre plus que 50% du volume de l’actif, la volatilité du marché de l’actif est faible et le mécanisme de l’oracle semble fonctionner. Joe estime qu’il peut continuer à se concentrer sur le développement de nouvelles fonctionnalités pour son dApp au lieu de réfléchir à deux fois à la baisse de la couverture de marché de l’oracle puisque “ça marche toujours”.
  • Un autre mois passe et, au milieu de la nuit, Joe se réveille avec un appel l’informant que son dApp vient de drainer des millions de dollars de fonds déposés par les utilisateurs. Il découvre rapidement que la majorité du volume du marché s’est déplacée de la Plateforme C, la seule source d’où son oracle tirait, et qui ne représente plus que 5% du volume de l’actif. Cette plateforme a été manipulée par des traders, ce qui a amené l’oracle à transmettre un prix erroné, ce qui leur a permis de siphonner injustement une grande partie de la valeur d’utilisateurs innocents.
  • Le dApp de Joe est maintenant mort en raison de la perte de confiance des utilisateurs et sa réputation de développeur compétent a été ternie. Une telle situation aurait pu être évitée si sa solution oracle avait bénéficiée d’une couverture de marché adéquate.

L’exemple ci-dessus montre les dangers extrêmes qui sont créés lorsqu’un réseau d’oracle est construit pour tirer des données d’une seule plateforme. La couverture du marché peut faire ou défaire une application et la situation aurait pu être encore pire en cas de crash flash.

Les oracles d’agrégation de plateformes définies ne tiennent pas compte des variations de volume

Les oracles qui extraient des données directement à partir de plateformes présélectionnées sont vulnérables aux situations dans lesquelles le volume se déplace vers de nouvelles plateformes qui n’étaient pas inclus dans le processus d’agrégation initial. Si les plateformes choisies à l’origine comme sources de données pour le réseau oracle peuvent avoir été liquides lors de sa création initiale, il n’y a aucune garantie que le volume restera sur ces plateformes à l’avenir. Le coût des attaques par des acteurs malveillants s’en trouve réduit, car seule une petite partie du volume global d’un actif doit être manipulée.

Bien que cela puisse sembler être une faille minime, examinons la situation suivante:

  • Un autre développeur de contrat intelligent, Bob, qui a été témoin de l’erreur de Joe de n’utiliser qu’une seule plateforme, décide de construire un oracle qui, à la place, tire des données pour un actif à partir d’un ensemble de plateformes présélectionnées : A, B et C. Il pense qu’en prenant la médiane de plusieurs plateformes, la manipulation du marché est atténuée.
  • Quelques semaines passent et Bob semble convaincu d’avoir pris la bonne décision car son oracle, qui tire des données de plusieurs plateformes, continue à fournir une réponse précise même lorsqu’une seule plateforme est manipulée. Il se concentre donc sur l’amélioration de la logique commerciale de son application. Alors qu’il travaille sur de nouvelles fonctionnalités, Bob ne remarque pas que deux nouvelles plateformes sont apparues et ont capturées 85% du volume de l’actif.
  • Quelques jours plus tard, Bob se réveille et découvre que, tout comme Joe, son contrat a été exploité pour voler des millions de dépôts d’utilisateurs. Il s’avère que si les plateformes que Bob a choisies pour son réseau oracle étaient liquides au moment de sa construction initiale, avec le temps, le volume s’est déplacé vers de nouvelles plateformes n’étaient pas inclues dans le processus d’agrégation initial. Ainsi, son réseau oracle n’a finalement eu qu’une couverture de marché de 15% et a été manipulé par des traders qui ont profité de l’occasion pour exploiter l’application du contrat intelligent de Bob.
  • Si Bob a eu la bonne idée de décentraliser les sources de données de l’oracle, il n’a pas pris en considération les changements de volume entre les plateformes ou le fait que de nouvelles, non prises en comptes, pouvaient capter un volume important d’un actif sur le marché. Même si les nouvelles plateformes n’apparaissaient pas, le volume aurait pu se concentrer sur une ou deux plateformes, ce qui aurait permis aux opérateurs de manipuler les plateformes à faible volume et de fausser le calcul de la médiane en leur faveur.

Joe et Bob n’avaient pas une couverture de marché adéquate en essayant de construire un produit de génération de données en utilisant le mécanisme de l’oracle. Ils auraient pu éviter entièrement cette situation en demandant à l’oracle de tirer les données des agrégateurs de données qui ont des décennies d’expérience dans la prévention des problèmes de manipulation et de couverture du marché.

Mélange de solutions oracles de faible et de haute qualité

Ce désir d’éviter les scénarios erronés a poussé certains à envisager d’utiliser plusieurs oracles différents pour créer une mise à jour des prix. Si la décentralisation entre de nombreux oracles peut sembler une bonne idée en théorie, elle introduit en fait des risques plus importants en raison de l’insuffisance de fiabilité des autres mécanismes d’oracle et de la mauvaise qualité des données qu’ils fournissent.

Nous voyons un grand risque à mélanger les données de prix hautement sécurisées et fiables de Chainlink provenant de ses réseaux de données de référence des prix, avec des données de moindre qualité provenant de solutions oracle non éprouvées et moins transparentes. Ces dernières, qui ne prennent pas non plus en charge les APIs de premier ordre et/ou qui fournissent des données de marché directement à partir des APIs de plateformes. Cette préoccupation devient particulièrement critique à mesure que la valeur garantie par DeFi augmente, car l’incitation à attaquer les dApps DeFi par les points faibles du mécanisme d’oracle augmentera également.

Imaginez une situation où trois solutions oracles sont agrégées ensemble : l’une est la solution “Price Reference Data” de Chainlink, qui utilise des nœuds de haute qualité pour récupérer des données à partir d’agrégateurs de données haut de gamme ; une autre est un oracle qui récupère des données de prix à partir d’un ensemble présélectionné d’APIs de plateformes; et la dernière est une solution oracle qui ne prend pas en charge la gestion des justificatifs d’identité et ne peut donc se connecter qu’à une seule source de données de faible qualité ou API de plateforme.

La combinaison des données de haute qualité de Chainlink avec des données de basse qualité provenant de solutions oracle non sécurisées diminue la qualité du point de données agrégées qui en résulte.

Dans cet exemple,

  • Sur la droite, les données de référence des prix de Chainlink tirent des données de plusieurs agrégateurs de données de haute qualité, ce qui donne un prix pondéré, en fonction du volume et de la liquidité sur l’ensemble du marché qui couvre tous les environnements de négociation, de 100 $.
  • La solution oracle en haut à gauche a extrait des données d’un ensemble présélectionné d’APIs de plateformes (A, B, C) qui, à l’époque, ne couvrait que 15 % du volume total du marché (sans compter D et E qui représentaient 85 % du volume). Cela a faussé le point de données résultant, ce qui a conduit l’oracle à transmettre un prix incorrect de 70 $.
  • La solution de l’oracle en bas à gauche n’était connectée qu’à une seule source de données de faible qualité, qui a connu une panne en raison de la forte volatilité du marché. Ce seul point de défaillance a conduit l’oracle à communiquer un prix de 0 $.

Lorsque le contrat intelligent a pris la médiane des trois valeurs reçues (0, 70, 100 dollars), le prix final agrégé était inexact à 70 dollars au lieu du prix approprié de 100 dollars pour l’ensemble du marché. Pire encore, la moyenne des trois donnerait un prix d’environ 57 dollars. Dans les deux scénarios, les données de faible qualité fournies par les deux autres solutions oracles ont dilué les données de haute qualité fournies par les données de référence des prix de Chainlink.

Une telle situation se traduit par un élément de données de faible qualité qui est plus vulnérable à la manipulation et dilue les données de haute qualité fournies par les données ajustées en volume de Chainlink. La décentralisation, dans une solution oracle, est essentielle, mais elle ne doit pas se faire au détriment de la qualité des données ou des nœuds. Tout mélange de données peut menacer la qualité de la valeur délivrée par les réseaux de données de référence de prix de Chainlink. Nous déconseillons fortement d’utiliser des données de prix provenant de sources inconnues, d’employer des oracles avec des méthodes de calcul mal conçues, de compter sur des oracles sans données de prix, ou de s’appuyer sur des oracles avec des garanties crypto-économiques insuffisantes.

Fournir des données de haute qualité aux applications de la prochaine génération

Les oracles et les sources de données sont deux composantes distinctes qui doivent être aussi robustes l’une que l’autre lorsqu’elles sont combinées pour assurer une sécurité de bout en bout sur l’ensemble du réseau. Afin de disposer d’un réseau oracle fiable capable de soutenir un écosystème DeFi responsable de milliards et plus de dollars, la qualité des données fournies doit être sûre et fiable. Chainlink a toujours mis la sécurité de son mécanisme oracle et la fiabilité de ses données au premier plan afin de créer un appareil sécurisé de bout en bout qui permet à la DeFi de se développer et de devenir la norme dans les années à venir.

Si vous êtes un projet DeFi et que vous souhaitez construire votre propre réseau oracle de référence de prix ou en utiliser un existant, visitez notre documentation, rejoignez notre chat technique sur Discord, ou bien planifiez un appel avec nous pour discuter plus en détail de l’intégration ici . Vous pouvez facilement intégrer un ou plusieurs réseaux Chainlink live sur les mainnet et testnets, ajoutant plus de sécurité et de capacités à vos contrats intelligents.

Website | Newsletter | Twitter | Reddit | YouTube | Telegram | Events | GitHub | Price Feeds | DeFi | Blog

--

--