Le scaling de blockchains en toute sécurité

IMG_2055.jpg
Casey Ford, docteurResponsable communication
1 min. de lecture
Nym Network Blog Image
Partager

Ce rapport aborde une vulnérabilité importante en matière de disponibilité des données des blockchains à mesure qu’elles se développent.

Les mixnets comme celui de Nym peuvent aider à résoudre ce problème en empêchant les attaques ciblant le consensus de la chaîne.

Le problème de sécurité lié à l’évolutivité

Les blockchains sont des registres permanents et publics des transactions qui ne peuvent être modifiés par des tiers. Pour que de nouvelles transactions soient vérifiées (par exemple, pour s’assurer qu’une pièce n’est pas dépensée deux fois), ce registre complet (contenu dans les blocs) doit être constamment mis à jour et vérifié. Cela pose deux problèmes non résolus pour la technologie blockchain :

  1. Comment une blockchain peut-elle évoluer sans épuiser les ressources des vérificateurs, qui doivent utiliser leur bande passante et leurs ressources pour vérifier les transactions sur la chaîne ?
  2. Les moyens plus efficaces de vérification des données compromettent-ils la sécurité de la chaîne ?

Mustafa Al-Bassam, cofondateur de Celestia et chercheur en sécurité informatique, explique le problème ainsi : à mesure que la taille des blocs augmente, exécuter des « nœuds complets » pour vérifier la disponibilité des données devient de plus en plus intensif en ressources. L’introduction de comités et de light nodes constitue une alternative plus efficace, mais elle peut être vulnérable à une attaque réseau spécifique connue sous le nom de divulgation sélective.

L’équipe de Nym collabore étroitement avec Celestia pour rechercher comment le mixnet de Nym pourrait ajouter une couche d’anonymisation au processus de vérification des blockchains afin de se protéger contre cette attaque particulière. Cela impliquerait un mode d’échantillonnage de disponibilité des données non traçable.

Avant d’explorer la solution de Nym, examinons d’abord la nature technique du problème lié à l’évolution des blockchains sans dépendre des nœuds complets, et comment les solutions existantes exposent les blockchains aux attaques par divulgation sélective.

Vérification de la disponibilité des données

La disponibilité des données garantit que toutes les données d’un bloc blockchain ont été correctement publiées et peuvent être consultées par le réseau en cas de besoin. Cela permet de s’assurer que toutes les informations nécessaires liées à un bloc sont disponibles pour que les nœuds puissent les télécharger et les vérifier, afin que le réseau valide la validité et l’intégrité des transactions et de l’état du bloc.

Dans les systèmes blockchain, la vérification de la disponibilité des données est cruciale pour empêcher les acteurs malveillants de cacher ou de retenir une partie des données d’un bloc tout en prétendant que le bloc est valide. Sans disponibilité des données, un bloc pourrait être ajouté à la chaîne avec des données manquantes ou incomplètes, ce qui pourrait entraîner des transactions invalides, des risques de sécurité et un état incohérent dans le réseau.

Les blockchains traditionnelles exigent que les utilisateurs (exécutant des full nodes) vérifient toutes les données en synchronisant l’intégralité de la chaîne. Mais garantir la disponibilité des données devient difficile, surtout à mesure que la taille des blocs augmente.

Des techniques comme l’échantillonnage de disponibilité des données permettent aux light nodes de vérifier la disponibilité des données sans télécharger l’intégralité du bloc, rendant la vérification plus efficace dans l’ensemble. Les blockchains modernes adoptent cette approche pour vérifier la disponibilité des données avec moins de ressources. Celestia est un exemple clé de l’utilisation de la disponibilité des données pour alimenter les chaînes modernes.

Mécanismes d’évolution sécurisée et non sécurisée

Il existe plusieurs moyens de vérifier la disponibilité des données avec différents niveaux de sécurité :

Full Nodes (sécurité maximale)

Les full nodes vérifient toutes les données en téléchargeant tout pour assurer une sécurité maximale en rejetant les blocs incomplets. Cette solution de base devient cependant inefficace à mesure que la taille des blocs augmente, en raison des ressources physiques et financières nécessaires pour effectuer ce travail de vérification.

Aucune garantie de disponibilité des données (sécurité nulle)

Il n’y a aucune garantie que les données soient disponibles, seulement un engagement (comme les URI IPFS). Cela peut suffire pour des scénarios comme les NFT où la sécurité n’est pas nécessaire, mais ce n’est certainement pas une solution pour la plupart des transactions sur une chaîne avec des enjeux réels.

Comité de disponibilité des données

Par le biais d’une majorité honnête, un comité sélectionné garantit la disponibilité des données, équilibrant ainsi disponibilité et performance.

Comité de disponibilité des données avec sécurité cryptonomique

Ce comité peut être économiquement incité à l’aide de jetons proportionnels au travail de vérification effectué. En cas de malhonnêteté, ils peuvent être pénalisés, augmentant ainsi la sécurité.

Light nodes

L’introduction des light nodes dans ce cadre permet également de vérifier la disponibilité des données, réduisant ainsi les besoins en ressources. Il existe deux manières de procéder :

  1. Échantillonnage de la disponibilité des données sans minorité honnête de light nodes : Les nlight nodes utilisent des techniques d’échantillonnage pour vérifier la disponibilité des données sans télécharger l’intégralité du bloc, mais ils ne peuvent pas garantir une récupération complète si certaines données sont manquantes. Cela repose sur le comité de disponibilité des données et les interfaces d’échantillonnage.
  2. Échantillonnage de la disponibilité des données avec une minorité honnête de light nodes : Si une minorité de light nodes est honnête, ils peuvent reconstruire un bloc si certaines données sont retenues, renforçant ainsi la sécurité. Il est à noter qu’un réseau synchrone est nécessaire pour que les nœuds puissent partager efficacement les données.

Échantillonnage de la disponibilité des données non traçable

Ce niveau avancé empêche les attaques ciblées (comme les divulgations sélectives) en rendant les requêtes des light nodes non traçables et uniformément aléatoires. Cela nécessiterait des avancées supplémentaires en matière de technologies d’anonymisation, ce qui est précisément la solution proposée par Nym.

Mais tout d’abord, pourquoi ces solutions précédentes sont-elles inadéquates et vulnérables ?

Le problème : Les attaques par divulgation sélective

Une attaque par divulgation sélective est un type d’attaque sur la disponibilité des données où un adversaire malveillant tente de convaincre un ou plusieurs nœuds que les données d’un bloc sont entièrement disponibles alors qu’en réalité, une partie est retenue. Cela rend le bloc incomplet ou irrécupérable.

L’objectif de l’attaquant est de manipuler le processus de vérification en répondant sélectivement aux requêtes de données de blocs dans un réseau peer-to-peer. En fin de compte, cela perturbe le consensus, crée des forks dans la chaîne, et compromet les transactions réelles ainsi que la confiance globale.

Voici comment cela fonctionne, selon la compréhension actuelle.

Aperçu de l’attaque

L’attaque comporte deux volets simultanés :

  1. L’adversaire retient suffisamment de parts de données du bloc pour qu’il ne puisse pas être reconstruit par le réseau, rendant ainsi le bloc indisponible.
  2. En même temps, l’adversaire répond sélectivement aux requêtes des light nodes ciblés, leur faisant croire que le bloc est disponible.

Mécanisme de l’attaque

  • Le réseau repose sur l’échantillonnage de disponibilité des données (DAS), où les light nodes demandent des échantillons aléatoires de données de bloc à d’autres nœuds pour vérifier leur disponibilité.
  • Dans une attaque par divulgation sélective, l’adversaire identifie une partie des données du bloc à retenir, s’assurant que le bloc ne puisse pas être reconstruit. Cependant, l’adversaire répond sélectivement aux requêtes des nœuds honnêtes, comme les clients légers, en fournissant les données des parts qui n’ont pas été retenues, créant ainsi l’illusion que le bloc est entièrement disponible.

Défis pour les nœuds honnêtes

Étant donné que les nœuds adverses sont indiscernables des nœuds honnêtes et répondent correctement lorsqu’ils sont sollicités, ils ne peuvent pas être mis sur liste noire à moins d’être détectés. Les nœuds honnêtes font des demandes d’échantillons, et les réponses de l’adversaire semblent valides car les données retenues sont cachées des requêtes spécifiques des nœuds honnêtes.

Deux solutions

  1. Une contre-mesure proposée consiste à ajouter une couche d’anonymisation où la source de chaque requête d’échantillon ne peut pas être reliée au client (nœud léger) et les requêtes sont traitées de manière aléatoire sur le réseau. Cela empêche l’adversaire de cibler des nœuds spécifiques avec une divulgation sélective.
  2. Une autre approche consiste à s’assurer que chaque nœud fait un nombre suffisant de requêtes (augmentant les chances de détecter les données manquantes) ou à compter sur un nombre suffisant de nœuds pour couvrir les parts manquantes.

Résultats de simulation

  • Si un client fait un petit nombre de requêtes (par exemple, 15), la probabilité d’une attaque réussie est relativement élevée (~0,0133) — l’adversaire pourrait tromper le client après environ 75 tentatives.
  • À mesure que le nombre de requêtes par client augmente (par exemple, à 50 requêtes), la probabilité de succès de l’attaque diminue considérablement (presque à 0).
  • De même, cibler plus de clients augmente le taux de succès de l’attaque, mais la probabilité diminue à mesure que le nombre de requêtes augmente.

Résumé du problème

L’attaque par divulgation sélective manipule l’échantillonnage de disponibilité des données en révélant sélectivement des données à certains nœuds, les convainquant ainsi que le bloc est totalement disponible. Les contre-mesures impliquent (1) des techniques d’anonymisation et (2) de s’assurer que les clients effectuent suffisamment de requêtes aléatoires pour détecter les données manquantes.

Solutions envisagées

Dans une “Évaluation des réseaux privés pour Celestia”, les chercheurs ont analysé différentes solutions potentielles pour ajouter une couche d’anonymat à la blockchain de Celestia. Les solutions proposées incluent :

  • Un réseau superposé Tor avec Snowflake pour masquer le trafic Tor avec WebRTC et prévenir l’espionnage
  • Une intégration avec un mixnet, comme celui de Nym (Loopix), pour anonymiser le trafic
  • Des tolérances de latence qui introduisent des délais aléatoires dans le trafic pour désynchroniser les requêtes des clients
  • Un trafic de couverture ou des requêtes fictives pour dissimuler les véritables schémas de requêtes
  • L’utilisation de VPN pour des protections supplémentaires

Ces solutions présentent chacune des avantages et des inconvénients (par exemple, en termes de latence).

Bien que les solutions basées sur un réseau Tor présentent de nombreux défis, il est important de noter que bon nombre de ces solutions de base (comme le trafic de couverture et les délais aléatoires) sont déjà utilisées dans le mixnet de Nym. Ainsi, l’équipe centrale de Nym a décidé de poursuivre des recherches et développements pour voir ce que Nym pourrait apporter à Celestia et à d’autres pour offrir une expérience blockchain plus privée.

La solution d’échantillonnage anonyme de Nym

Nym Technologies propose d’intégrer son infrastructure avec des réseaux modulaires, en utilisant le mixnet de Nym comme une couche d’anonymisation pour répondre aux attaques par divulgation sélective grâce à l’échantillonnage privé de disponibilité des données (P-DAS).

Le P-DAS permet de faire des requêtes via le mixnet de Nym, dissociant ainsi la requête de celui qui la fait, ce qui empêche l’adversaire de cibler le demandeur. Cette méthode offre une approche respectueuse de la vie privée et sécurisée pour l’échantillonnage de disponibilité des données, permettant aux nœuds de vérifier la disponibilité des données sans être exposés aux attaques adverses.

Les avantages potentiels d’une intégration avec le mixnet de Nym :

  • Un module d’échantillonnage de disponibilité des données anonymisé compatible avec le mixnet de Nym, garantissant une vérification des données respectueuse de la vie privée.
  • La prévention des attaques par divulgation sélective en acheminant le trafic chiffré via le mixnet de Nym, masquant l’activité des utilisateurs tout en maintenant l’intégrité des données grâce à des techniques telles que le trafic de couverture, le mélange et l’obfuscation temporelle.
  • L’optimisation des performances grâce à des simulations pour déterminer les paramètres idéaux du mixnet afin de trouver un équilibre entre performance et sécurité.

L’intégration du mixnet renforcerait la sécurité des données pour les réseaux modulaires, les rendant plus résistants à la manipulation tout en protégeant la vie privée des utilisateurs. Nym continuera de mener ses recherches pour offrir une protection robuste pour un avenir modulaire.

Restez informés pour plus de mises à jour sur ce projet !

Rejoignez la communauté Nym

Telegram // Element // Twitter

La vie privée aime la compagnie

English // 中文 // Русский // Türkçe // Tiếng Việt // 日本 // Française // Español // Português // 한국인

À propos des auteurs

IMG_2055.jpg

Casey Ford, docteur

Responsable communication
Casey est le responsable communication, rédacteur principal, et réviseur éditorial chez Nym. Il est titulaire d’un doctorat en philosophie et recherche l’intersection des technologies décentralisées et de la vie sociale.

New low prices

Le VPN offrant la meilleure protection de la vie privée au monde

Try NymVPN for free

Continuer à lire...

Artboard 4.webp
4 min. de lecture
image5.png

NymVPN now accepts Litecoin (LTC)

Pay for the world’s most private VPN with LTC

5 min. de lecture