Simple Science

La science de pointe expliquée simplement

# Informatique# Cryptographie et sécurité# Informatique distribuée, parallèle et en grappes

Une nouvelle façon de stocker de grosses données sur les blockchains

Présentation d'une solution de stockage sur mesure pour les blockchains de consortium comme Hyperledger Fabric.

― 11 min lire


Révolutionner le stockageRévolutionner le stockagede données sur lablockchainle nouveau système DBNode.Gère facilement les gros fichiers avec
Table des matières

Stocker de grosses quantités de données sur les blockchains peut être galère. Les blockchains doivent garder tout en ordre entre tous les ordinateurs connectés, ce qui complique le stockage de gros fichiers. Pas mal de chercheurs ont essayé de trouver des solutions pour ça, en se concentrant surtout sur des systèmes de stockage décentralisés. La plupart de ces efforts visent à créer une solution de stockage universelle pour différents types de blockchains. Cependant, les blockchains de consortium ont des besoins particuliers, comme la confidentialité et le Contrôle d'accès, souvent laissés de côté.

Ce travail présente un nouveau système de stockage destiné à Hyperledger Fabric, une blockchain de consortium populaire. Le système utilise une technique appelée "erasure coding" pour diviser les fichiers en morceaux plus petits et organise ces morceaux d'une manière qui rend le stockage à la fois efficace et fiable. En plus, on propose une nouvelle méthode de contrôle d'accès utilisant des Contrats intelligents pour gérer qui peut voir et utiliser les fichiers.

Le Défi de Stocker de Gros Données sur Blockchain

La technologie blockchain offre plein d'avantages, comme le fait d'être infalsifiable et décentralisée, mais elle a aussi des inconvénients. L'un des plus gros soucis est sa capacité de stockage. Certaines applis ont besoin de garder de gros fichiers et de big data, et les méthodes traditionnelles de blockchain peinent avec ça.

De nombreuses solutions ont vu le jour, chacune avec ses propres atouts et faiblesses. Certaines méthodes peuvent causer des retards, manquer de contrôle d'accès correct, ou créer des problèmes de sécurité et de confidentialité. Une solution habituelle est de se reposer sur des systèmes de stockage externes, mais ça a ses inconvénients.

Cet article présente une nouvelle solution qui traite les problèmes de stockage directement au sein des nœuds de la blockchain, permettant ainsi une approche plus fluide sans avoir besoin de technologies supplémentaires.

Notre Contribution

Notre recherche tourne autour de deux idées principales. D'abord, on crée une méthode unique pour stocker de gros fichiers au sein de l'écosystème blockchain, en se concentrant sur la sécurité et l'intégrité des données tout en s'assurant que des pannes dans les nœuds ne mènent pas à la perte de données.

La deuxième idée implique l'utilisation de contrats intelligents pour permettre aux utilisateurs de définir des règles d'accès pour leurs fichiers. Ça veut dire que les clients peuvent décider qui peut accéder aux fichiers, à quelle fréquence, et établir des limites sur la récupération.

Pour concrétiser ces idées, on a utilisé Hyperledger Fabric et intégré la technologie d'erasure coding. On a aussi introduit "DBNode", un nouveau type de nœud conçu pour ce système. Pour atteindre nos objectifs, on a développé un système de slots de hachage à deux couches et une stratégie de mirroring, qu'on expliquera plus en détail.

Application Facile à Utiliser

On a aussi développé une application facile à utiliser pour Hyperledger Fabric qui permet aux clients de stocker de gros fichiers. Les utilisateurs n'ont pas à s'inquiéter de la manière dont leurs fichiers sont stockés séparément ; ils peuvent simplement envoyer leurs fichiers avec les paramètres nécessaires, et la blockchain s'occupe du reste.

Comparer DBNode aux Solutions Existantes

Pour évaluer l'efficacité de DBNode, on a effectué des tests en le comparant à l'InterPlanetary File System (IPFS), une solution de stockage off-chain bien connue.

Les résultats ont montré que DBNode surpassait IPFS en vitesse de récupération des fichiers et en adaptabilité aux changements de bande passante réseau.

Solutions Existantes

La question du stockage de big data sur blockchain est un sujet majeur qui a été exploré depuis un certain temps. Plusieurs solutions ont été proposées, y compris l'augmentation de la taille des blocs pour accueillir des fichiers plus gros. Cependant, cela peut entraîner des retards et nécessiter plus de ressources de la part des nœuds.

Une autre approche consiste à utiliser des nœuds légers qui ne stockent pas l'intégralité de la blockchain. Cela peut alléger certaines charges de stockage mais met la pression sur les nœuds complets, ce qui peut entraîner des coûts de communication accrus.

Certains chercheurs ont intégré des bases de données traditionnelles avec la blockchain pour tirer parti de leurs capacités de gestion des grandes données. Par exemple, BigchainDB combine les caractéristiques de MongoDB avec celles de la blockchain, tandis que d'autres utilisent Apache Cassandra ou HBase.

Bien que les serveurs cloud puissent stocker de gros fichiers, ils présentent des risques en raison de leur nature centralisée. Pour y remédier, de nombreux chercheurs ont exploré des options de stockage off-chain comme IPFS. Même si ces méthodes aident à réduire la taille de la blockchain et la charge réseau, elles manquent aussi de contrôle d'accès solide, ce qui est crucial pour la confidentialité.

Comprendre la Blockchain de Consortium

Une des principales différences entre les blockchains publiques et celles de consortium est l'accessibilité. Les blockchains publiques sont ouvertes à tous, tandis que celles de consortium limitent l'accès à des membres invités. Cette recherche se concentre spécifiquement sur Hyperledger Fabric, une blockchain de consortium gérée par la Fondation Linux.

Dans Hyperledger Fabric, les organisations doivent être invitées pour accéder au réseau. Cependant, notre recherche est adaptable à d'autres types de blockchain également. En tirant parti des différents composants d'Hyperledger Fabric, on peut créer une solution de stockage plus efficace.

Composants Clés dans Hyperledger Fabric

Hyperledger Fabric a plusieurs composants essentiels, y compris des canaux, des organisations et des nœuds. Il y a trois types de nœuds :

  1. Pairs : Ces nœuds reçoivent des transactions et les vérifient. S'ils sont valides, les pairs les stockent et mettent à jour le registre. Ils peuvent aussi agir comme des endosseurs, évaluant les transactions pour confirmer l'autorisation du client avant de les exécuter.

  2. Clients : Ce sont les initiateurs des transactions. Les clients soumettent des propositions de transaction aux pairs d'endossement.

  3. Orderers : Ces nœuds créent des blocs de transactions et les distribuent aux pairs, aidant à maintenir le consensus dans le réseau.

Canaux et Contrats Intelligents

Un canal dans Hyperledger Fabric est un sous-ensemble du registre, permettant seulement à des membres sélectionnés d'accéder à ses données. C'est utile quand il y a des intérêts concurrentiels ou quand les transactions doivent être restreintes.

Dans chaque canal, les développeurs peuvent créer des contrats intelligents, qui sont des ensembles de règles qui s'exécutent automatiquement. Dans ce contexte, les contrats intelligents aident à gérer le stockage et l'accessibilité des fichiers.

Erasure Coding

L'erasure coding est une technique utilisée pour la sauvegarde des données dans les systèmes de stockage. L'idée est de diviser les données en morceaux plus petits, permettant de reconstruire les données originales même si certains morceaux sont perdus.

Cette méthode peut tolérer les pannes de nœuds tout en minimisant la quantité de données dupliquées. L'erasure coding est largement utilisé dans des systèmes de stockage populaires comme Google File System et Hadoop.

Structure de DBNode

Pour mieux comprendre notre structure DBNode, nous devons d'abord examiner les problèmes potentiels avec les systèmes de stockage off-chain. Bien que des systèmes comme IPFS puissent pallier les limitations de stockage de la blockchain, ils introduisent aussi des défis comme une sécurité et une confidentialité réduites.

En revanche, notre solution garde tout dans le réseau blockchain, garantissant un meilleur contrôle et une meilleure confidentialité.

Aperçu du Système

Cet article introduit un nœud unique appelé "DBNode" conçu pour stocker des grands fichiers efficacement dans le cadre d'Hyperledger Fabric.

Au départ, chaque organisation impliquée dans ce réseau configure un ou plusieurs DBNodes. Parmi ces nœuds, celui avec les meilleures conditions réseau est désigné comme le nœud maître.

Quand les clients envoient de gros fichiers, l'application divise ces fichiers en morceaux grâce à l'erasure coding. Chaque morceau reçoit un identifiant unique, qui est organisé dans une structure définie. L'application gère le stockage de ces morceaux à travers divers DBNodes.

Un contrat intelligent est également établi pour garder trace des morceaux stockés et gérer le contrôle d'accès sur les fichiers.

Architecture de DBNode

Le Rôle des Slots de Hachage

Dans notre système, on utilise deux couches de slots de hachage pour organiser le stockage des données. La première couche gère la communication entre les organisations, tandis que la deuxième couche se concentre sur la communication au sein d'une organisation.

Le nœud maître de chaque organisation supervise le stockage et la distribution des morceaux de données, garantissant une utilisation efficace des ressources.

La Stratégie de Miroir

Lors de la distribution des morceaux de données, nous pouvons rencontrer des conflits où deux morceaux devraient aller au même nœud. Pour y remédier, nous mettons en œuvre une stratégie de "miroir". Cela permet de stocker un morceau sur un nœud différent tout en maintenant un lien avec celui-ci dans le nœud maître.

Cette stratégie préserve non seulement la redondance des données mais permet aussi aux clients de garder le contrôle sur l'endroit où leurs données sont stockées.

Mécanisme de Contrôle d'Accès

Dans notre système, on utilise des contrats intelligents pour définir des règles d'accès. Ces règles permettent aux clients de spécifier qui peut voir ou utiliser leurs fichiers. Les clients peuvent établir des listes de permissions, des listes d'interdiction, et même des règles d'accès basées sur des tokens.

Cela garantit un contrôle supplémentaire sur leurs données, s'assurant que les informations sensibles restent sécurisées et accessibles uniquement aux utilisateurs autorisés.

Évaluation du Système

Aperçu des Expérimentations

Pour tester notre système DBNode, nous avons mené plusieurs expériences. La première portait sur la mesure de la surcharge de stockage causée par la stratégie de miroir.

On a aussi comparé les vitesses de lecture et d'écriture de notre système DBNode par rapport à IPFS. Enfin, on a testé comment notre système s'adaptait aux changements de bande passante réseau.

Résultats des Expériences

Surcharge de Stockage : On a constaté que le nombre de liens stockés augmentait linéairement avec le nombre de morceaux sauvegardés. Cela signifie que lorsque 1 000 morceaux sont stockés, la surcharge pour un seul nœud reste gérable par rapport à la taille globale du fichier.

Latences d'Écriture et de Lecture : En ce qui concerne la vitesse d'écriture, DBNode était plus lent qu'IPFS, principalement en raison de la manière dont il distribue les données pour une meilleure disponibilité. Cependant, la vitesse de lecture était nettement meilleure avec DBNode, surtout pour les fichiers plus gros.

Lors des tests sous des conditions de bande passante variable, les résultats ont montré que le système DBNode pouvait gérer efficacement des vitesses plus lentes sans impacts significatifs sur les performances.

Conclusion

Notre recherche introduit une solution innovante pour stocker de gros fichiers sur des blockchains. En intégrant des méthodes de stockage directement dans les nœuds de la blockchain, on réduit la complexité pour les utilisateurs tout en préservant les qualités de la technologie blockchain. Tout au long de nos tests, on a noté de légères surcharge en matière de stockage et vitesse d'écriture, mais celles-ci étaient minimes par rapport aux avantages d'utiliser DBNode.

Les clients bénéficient d'une meilleure confidentialité et d'un contrôle sur leurs fichiers grâce à l'utilisation de contrats intelligents et de techniques d'erasure coding. Comme la récupération de fichiers est courante et cruciale, nos résultats affirment que DBNode est supérieur aux solutions existantes comme IPFS pour la récupération de gros fichiers.

Les travaux futurs se concentreront sur la comparaison de DBNode avec d'autres solutions de stockage et l'amélioration des vitesses d'écriture.

Source originale

Titre: DBNode: A Decentralized Storage System for Big Data Storage in Consortium Blockchains

Résumé: Storing big data directly on a blockchain poses a substantial burden due to the need to maintain a consistent ledger across all nodes. Numerous studies in decentralized storage systems have been conducted to tackle this particular challenge. Most state-of-the-art research concentrates on developing a general storage system that can accommodate diverse blockchain categories. However, it is essential to recognize the unique attributes of a consortium blockchain, such as data privacy and access control. Beyond ensuring high performance, these specific needs are often overlooked by general storage systems. This paper proposes a decentralized storage system for Hyperledger Fabric, which is a well-known consortium blockchain. First, we employ erasure coding to partition files, subsequently organizing these chunks into a hierarchical structure that fosters efficient and dependable data storage. Second, we design a two-layer hash-slots mechanism and a mirror strategy, enabling high data availability. Third, we design an access control mechanism based on a smart contract to regulate file access.

Auteurs: Narges Dadkhah, Xuyang Ma, Katinka Wolter, Gerhard Wunder

Dernière mise à jour: Sep 30, 2024

Langue: English

Source URL: https://arxiv.org/abs/2409.20123

Source PDF: https://arxiv.org/pdf/2409.20123

Licence: https://creativecommons.org/licenses/by-nc-sa/4.0/

Changements: Ce résumé a été créé avec l'aide de l'IA et peut contenir des inexactitudes. Pour obtenir des informations précises, veuillez vous référer aux documents sources originaux dont les liens figurent ici.

Merci à arxiv pour l'utilisation de son interopérabilité en libre accès.

Plus d'auteurs

Articles similaires