Je travaille actuellement sur un projet dans Hyperledger, dans lequel je souhaite télécharger des fichiers comme des pdf et des documents dans la blockchain hyperledger en distribuant le fichier de document sur le nœud du réseau et en récupérant le fichier de document. S'il vous plaît, aidez-moi à savoir comment je peux faire et comment dois-je approuver. Si cela ne peut pas être réalisé dans Hyperledger, veuillez me faire savoir par quelle blockchain cela peut être réalisé. Merci d'avance.
3 Réponses :
En règle générale, les technologies blockchain ne sont pas adaptées pour stocker de gros documents. La blockchain demande trop de réplication de processus et de stockage. De plus, il existe d'autres écueils, tels que la taille des blocs et la confidentialité.
Une approche courante consiste à stocker les fichiers dans un système de stockage P2P distribué tel qu'IPFS ( https://ipfs.io/ ) et à stocker le hachage du fichier (les hachages sont utilisés comme références de fichier dans IPFS, de sorte que l'intégrité est assurée) dans la blockchain. Etat.
Vous devrez peut-être également IPFS-Cluster ( https://cluster.ipfs.io/ ) pour assurer la persistance et la réplication.
Le chiffrement n'est pas pris en charge par IPFS, donc, si nécessaire, il doit être appliqué de bout en bout en dehors d'IPFS, en chiffrant avant le stockage et en déchiffrant après l'accès.
Oui, je sais que la blockchain n'est pas destinée à stocker des fichiers plus volumineux, mais dans le tissu hyperledger, nous pouvons configurer la taille du bloc, le consensus, etc., j'ai fini de stocker les fichiers dans IPFS et de stocker le hachage dans la blockchain Ethereum. Mais j'ai appris que je pouvais stocker les fichiers dans Hyperledger si c'était possible. Corrigez-moi si je me trompe. Merci
D'après votre commentaire, il semble que vous envisagez d'utiliser Hyperledger Fabric. Avec Fabric, vous devriez être capable d'écrire un code chaîne et un client qui stocke des fichiers. Ce n'est peut-être toujours pas la meilleure approche et vous devez réfléchir soigneusement à la séparation du stockage des fichiers volumineux du code de chaîne basé sur le consensus de la blockchain, en particulier lorsque le stockage d'un hachage du fichier sur la chaîne suffirait. Chaque nœud devra stocker le fichier et arriver à un consensus sur le fait que tous les nœuds ont stocké le même fichier (ont le même état). Cela coûte cher en termes de calcul et d'entrées / sorties réseau.
Avec Fabric, vous devriez être en mesure de faire à peu près n'importe quoi dans le code, à condition que ce soit déterministe et non un processus de longue durée. D'après mon expérience, minimiser le code et l'état sur n'importe quelle blockchain est la meilleure pratique.
Un exemple complet d'implémentation Hyperledger Fabric est ici: https://fabric-chaintool.readthedocs.io/en/latest/getting-started/
Est-il possible d'y parvenir? Comme lorsqu'un fichier est téléchargé, il est divisé en morceaux et stocké sur un réseau blockchain comme un stockage distribué décentralisé. Ainsi, si un serveur tombe en panne, le fichier peut être consulté par d'autres serveurs.
Je suis d'accord avec Kekomal, ne mettez pas de gros fichiers dans une blockchain, car cela la gonfle. Stockez plutôt les fichiers binaires / volumineux hors chaîne. Une option dans Hyperledger Fabric (HLF) sont des collections de données privées où vous pouvez stocker des fichiers binaires dans CouchDB sous forme de texte base64, et simplement stocker la somme de contrôle / hachage sur la chaîne, mais cela augmenterait les besoins de stockage - basé sur base64.guru un pdf de 20 Ko en base64 le texte sera de 26 Ko - probablement important avec de très gros fichiers binaires, ainsi qu'une mauvaise utilisation d'une base de données de document. Les collections de données privées sont agréables car HLF vous permet de partager des fichiers avec diverses options
Est-ce que cela répond à votre question? Comment télécharger une image sur Hyperledger Composer Playground?
@IshaPadalia Non ça ne répond pas à la question
@karthikyadav Enfin, est-il possible de télécharger des documents sur un tissu hyperledger sans système de stockage externe tel qu'IPFS?