|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
La validation des données
Qu’est-ce que la validation des données ?
La validation des données est le processus consistant à clarifier l'exactitude, l'intégrité et la qualité d'un ensemble de données avant leur utilisation. Cela peut s'appliquer à toutes les formes de données, par exemple du texte spécifique, des adresses, des dates, etc.
Les données constituent le fondement de toutes les solutions, et il va sans dire que pour qu’une solution soit efficace, les données doivent être exactes. Dans le Web3, les développeurs, les analystes et les participants au réseau s'appuient tous sur les données pour faire fonctionner les blockchains. Pour ces acteurs, l'utilisation de données valides est cruciale afin d'éviter toute erreur, incohérence, danger pour les utilisateurs et compromission de l'intégrité d'un projet.
Le besoin de validité dans le Web3
De nombreux obstacles dans l’espace Web3 peuvent être résolus en ayant un accès public rationalisé aux données valides. La première est qu’à mesure que les blockchains évoluent, la quantité de données qu’elles finissent par produire devient écrasante, à tel point que peu de nœuds peuvent garder l’intégralité de l’état de la chaîne à portée de main. Cela conduit de nombreux nœuds à s'appuyer sur des instantanés partagés, pensant qu'ils sont entièrement corrects et à jour, laissant ainsi place à l'erreur.
Ethereum est dans le même bateau dans cette situation, ne fournissant aucune incitation pour les nœuds complets, ce qui entraînera bientôt une limitation des ressources publiques pour les données historiques de la chaîne. Afin d'accéder à un nœud complet, un utilisateur devra soit exécuter son propre nœud, soit payer un fournisseur pour accéder aux données qui devraient être accessibles au public.
Un autre problème majeur résolu par la validation des données est le problème d’Oracle. Lorsque les projets obtiennent des données hors chaîne, les oracles sont leur outil de prédilection car ils fournissent un point d'accès facile aux données déterministes Web2. Cependant, l’apport de grandes quantités de données en chaîne conduit à une recette pour un point de défaillance unique.
Étant donné que les oracles ne disposent généralement pas d’une fonctionnalité de validation intégrée et véritablement décentralisée, rien ne dit que les données qu’ils fournissent sont vraies ou n’ont pas déjà été manipulées. Ce qui peut arriver, et cela s'est déjà produit assez fréquemment, c'est qu'au lieu de cibler directement un protocole, un attaquant cible les données provenant d'un oracle. Il s’agit d’un moyen globalement plus simple pour les attaquants de manipuler une situation en leur faveur.
Alors que les événements malveillants comme ceux-ci cessent de disparaître, des solutions de validation commencent à apparaître. Cependant, une bonne validation des données est beaucoup plus facile à dire qu’à faire.
Défis et inefficacités de la validation
Étant donné que chaque élément de données en cours d’exécution de fonctions au sein et entre les blockchains doit être validé et synchronisé, la validation correcte des données est plus compliquée qu’il n’y paraît.
Le moyen le plus simple et le plus courant de mettre en œuvre la validation des données consiste à utiliser un serveur centralisé afin qu'une seule entité soit à la tête de la décision si une donnée est exacte ou non. Cela contribue à promouvoir des performances à grande vitesse, éliminant ainsi la nécessité de parvenir à un consensus à l’échelle mondiale. Cependant, la centralisation laisse également des lacunes importantes en matière d’erreurs et d’acteurs malveillants.
Si un processus de validation est centralisé, cela signifie qu'il n'y a aucune incitation pour que les autres acteurs vérifient et s'assurent que le travail de l'acteur principal est correct. En outre, cela signifie qu'il n'y a qu'un seul acteur qu'un pirate informatique devrait prendre en charge pour avoir un contrôle total sur la prise de décision, alors qu'avec la décentralisation, cela diminue les risques de piratage puisque les pirates informatiques doivent prendre le contrôle de plus de 50 % de l'ensemble d'un réseau. réseau de nœuds pour prendre le contrôle et, globalement, réduire considérablement tout biais ou erreur de validation.
Une solution décentralisée
Le principe fondamental du Web3 est la décentralisation, qui distribue l'autorité, la confiance et d'autres vertus entre les utilisateurs et les parties prenantes du réseau. Étant donné que les actions doivent se propager aux quatre coins du globe, une décentralisation à 100 % entraîne certes un léger retard, mais lorsqu'il s'agit de valider des données, la décentralisation est plus importante que des performances ultra-rapides.
En général, pour déterminer si une donnée est valide, il faut toujours une solution générique, c'est-à-dire que les développeurs créent des méthodes de validation personnalisées par ensemble de données. Cependant, ce qui manque, c'est de gérer ces différents environnements d'exécution et de garantir que tous les ensembles de données sont correctement sourcés et validés rapidement et efficacement.
Un lac de données décentralisé Proof of Stake (PoS) pourrait résoudre ce problème, en fournissant des pools de données qui exécutent le code responsable du relais des données, AKA un runtime, qui comprend également une implémentation abstraite d'une fonction de validation. La fonction en place renvoie simplement vrai ou faux si les données sont valides ou non. La chaîne calcule ensuite le résultat des données groupées, qu'elles soient valides, invalides ou supprimées, en gardant uniquement la trace des paquets de données valides afin de ne donner accès qu'aux données correctes.
Dans chaque pool, il y a un groupe de nœuds, dont un sélectionné au hasard pour être responsable du téléchargement des données, et les autres responsables du vote pour savoir si ces données sont valides ou non. Chaque vote a une valeur pondérée en fonction du nombre de jetons misés par le nœud. Une fois le vote final, la responsabilité du téléchargement du prochain paquet de données est transférée à un autre nœud sélectionné au hasard. Cela permet de lutter contre le risque de centralisation, c'est-à-dire que s'il n'y a qu'un seul nœud téléchargeant des données à tout moment, cela constituerait un facteur de risque d'attaque plus élevé.
Un autre facteur clé pour garantir une validation véritablement décentralisée est l’incitation via PoS. Étant donné que chaque pool de données repose sur des nœuds pour récupérer, télécharger et valider les données, il est important de promouvoir les bons comportements via des récompenses symboliques et de punir les mauvais comportements ou les erreurs via la réduction des jetons.
L'infrastructure et l'intégrité des données de Web3 reposent fortement sur l'utilisation de données véritablement valides pour garantir un avenir évolutif et sans confiance. Au fur et à mesure que le temps passe et que de plus en plus de projets reconnaissent l'importance de la validation des données, en particulier dans le Web3, de plus en plus d'aspects seront sans aucun doute pris en compte lors de la validation des données. Le mieux que nous puissions faire est de continuer à construire et à éduquer autour du sujet.
Auteur : Fabian Riewe, Co-Fondateur et PDG de KYVE, une solution de lac de données Web3.
Fabian a commencé son parcours en tant que responsable technique dans une startup locale de technologie éducative. Un hackathon en 2019 a déclenché sa fascination pour le Web3 et, six mois plus tard, il a fondé son premier projet à succès, ArVerify, un système KYC en chaîne qui a été largement adopté dans l'écosystème Arweave. Peu de temps après, en 2021, il a cofondé KYVE, un lac de données Web3 décentralisé, avec John Letey.
Goulot
Un goulot d'étranglement fait référence à un point où la capacité devient restreinte, créant une congestion et ralentissant les performances globales. |
Machine virtuelle Solana (SVM)
La machine virtuelle Solana, ou SVM, est le système qui permet à Solana de gérer des milliers de transactions par seconde. |