Maison Problème commun Expérience pratique des débutants en matière de données privées Fabric

Expérience pratique des débutants en matière de données privées Fabric

Apr 30, 2019 pm 02:56 PM
fabric 网络架构

Les données privées Hyperledger Fabric sont une nouvelle fonctionnalité introduite dans la version 1.2. Les données privées Fabric utilisent une base de données latérale (SideDB) pour enregistrer les données privées entre plusieurs membres du canal, fournissant ainsi une couche plus flexible au-dessus du mécanisme de protection des données. Cet article explique comment utiliser les données privées de Fabric dans le développement de codes en chaîne.

Expérience pratique des débutants en matière de données privées Fabric

fabric private data utilise SideDB pour enregistrer les données privées, ce qui équivaut à fournir un mécanisme de protection de la confidentialité des données plus fin au-dessus du canal. Cet article présentera l'objectif, les concepts de base et les scénarios d'application des données privées Fabric.

Qu'est-ce que les données privées de Fabric ?

La manière actuelle d'assurer la confidentialité des données dans Hyperledger Fabric consiste à utiliser des canaux. Cependant, les autorités ne sont pas les seules à créer un grand nombre de canaux dans les grands réseaux afin de garantir la protection de la confidentialité des données, car cela entraînera des coûts supplémentaires, tels que les politiques de gestion, les versions de code de chaîne et la fourniture de services aux membres (MSP). Dans un canal, toutes les données sont publiques ou privées. Par conséquent, ce sera très gênant si vous souhaitez transférer des actifs à des membres en dehors du canal. C'est pourquoi Hyperledger Fabric introduit les transactions privées. farbic private data permet la création d'ensembles de données privées basées sur des politiques permettant de définir quels membres du canal peuvent accéder aux données. Les données privées de Fabric peuvent être gérées simplement en ajoutant des politiques. Cela permet de rendre certaines données publiques uniquement à certains membres.

Prenons l’exemple des billes d’Hyperledger Fabric. Toutes les données sur le marbre peuvent être rendues publiques, à l'exception de son détenteur et de son prix. Ces deux données ne peuvent être divulguées à des tiers et le prix ne doit pas être connu de tiers. Peut-être avez-vous besoin de suivre ces données car vous devez vérifier que la personne qui vend le marbre est le véritable propriétaire. Un hypothétique cabinet d’audit de marbre peut agir en tant que partenaire pour vérifier cela. Si vous utilisez des canaux, toutes vos actions seront enregistrées dans l’état du grand livre et pourront être vues par n’importe qui.

Comment les données privées Fabric résolvent-elles les problèmes ci-dessus ?

Expérience pratique des débutants en matière de données privées Fabric

Dans l'image ci-dessus, le premier ensemble, Channel Read-Write Sets" est l'architecture lorsque les données privées de la structure ne sont pas introduites, chaque transaction à la fois enregistrer leur statut et leur historique.

Le deuxième ensemble, partition d'état privé 1, montre un état privé partagé entre deux nœuds appartenant à des organisations différentes. Cet état est basé sur des politiques prédéfinies répliquées entre les nœuds. set, partition d'état privée 2 et 3, montre le véritable exemple de données privées de structure, ce qui signifie que vous pouvez l'ignorer pour chaque marbre. Les vendeurs et les auditeurs configurent des ensembles de données privées séparément. Ces ensembles de données permettent l'ajout de données supplémentaires. les données principales sont toujours stockées dans l'état principal et les nœuds du grand livre pourront voir le hachage des données sur le grand livre principal, ainsi que les données réelles dans la base de données privée ne synchroniseront pas la base de données privée et ne pourront voir que la base de données privée. hachage des données sur le grand livre principal. Le hachage est irréversible, donc ces nœuds non autorisés ne peuvent pas voir les données réelles

D'un niveau supérieur, le problème résolu par les données privées de la structure ressemble à ceci :

Expérience pratique des débutants en matière de données privées Fabric

Cas d'utilisation des données privées Fabric

Expérience pratique des débutants en matière de données privées Fabric

Nous utilisons le cas Fabcar classique dans Hyperledger Fabric pour montrer comment utiliser l'ensemble de données privées dans la fonction initLedger. Créez 10 nouvelles voitures dans notre ensemble de données. Toutes ces voitures peuvent être consultées par n'importe qui sur le réseau. Créons maintenant une base de données privée, et ces données ne seront partagées qu'avec le garage d'un autre membre. >

Configuration de l'ensemble de données privées FabricNous avons d'abord besoin d'un fichier de configuration de l'ensemble de données collections_config.json, qui contient le nom de l'ensemble de données privées et la politique d'accès. La politique d'accès est similaire à l'approbation. Policy. Cela nous permet d'utiliser la logique de politique existante telle que OR, AND, etc.

[
  {
    "name": "carCollection",
    "policy": "OR ('Org1MSP.member','Org2MSP.member')",
    "requiredPeerCount": 0,
    "maxPeerCount": 3,
    "blockToLive":1000000
  }
]
Copier après la connexion

Modifier le code de chaîne pour prendre en charge les données privées de Fabric

Voici le createCar original. fonction :

async createCar(stubHelper: StubHelper, args: string[]) {
      const verifiedArgs = await Helpers.checkArgs<any>(args[0], Yup.object()
          .shape({
              key: Yup.string().required(),
              make: Yup.string().required(),
              model: Yup.string().required(),
              color: Yup.string().required(),
              owner: Yup.string().required(),
          }));
      let car = {
          docType: &#39;car&#39;,
          make: verifiedArgs.make,
          model: verifiedArgs.model,
          color: verifiedArgs.color,
          owner: verifiedArgs.owner
      };
      await stubHelper.putState(verifiedArgs.key, car);
}
Copier après la connexion

Pour ajouter des données à l'ensemble de données privé carCollection, nous devons spécifier l'ensemble de données cible :

await stubHelper.putState(verifiedArgs.key, car, {privateCollection: &#39;carCollection&#39;});
Copier après la connexion

Ensuite, si nous voulons interroger le véhicule, nous devons également spécifier l'ensemble de données privées cible :

async queryPrivateCar(stubHelper: StubHelper, args: string[]) {
      const verifiedArgs = await Helpers.checkArgs<any>(args[0], Yup.object()
          .shape({
              key: Yup.string().required(),
          }));
      const car = await stubHelper.getStateAsObject(verifiedArgs.key, {privateCollection: &#39;carCollection&#39;});
      if (!car) {
          throw new NotFoundError(&#39;Car does not exist&#39;);
      }
      return car;
}
Copier après la connexion
De même, pour les opérations de suppression et de mise à jour, vous devez spécifier l'ensemble de données privées cible sur lequel opérer.

meilleures pratiques en matière de code de chaîne de données privées Fabric

Bien entendu, certaines de nos données sont visibles par toute personne appartenant au réseau Hyperledger Fabric. Cependant, certaines de ces données sont privées et conservées dans un ensemble de données privé et ne sont donc accessibles qu'aux homologues définis dans le fichier de configuration de l'ensemble de données.

Nous vous recommandons de sauvegarder les données en utilisant la même clé dans les ensembles de données publics et privés afin de faciliter l'extraction des données. Enfin, j’espère que cet article vous sera utile.

Si vous souhaitez en savoir plus sur les didacticiels connexes, veuillez faire attention au Site Web PHP chinois !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Recherche approfondie Entrée du site officiel Deepseek Recherche approfondie Entrée du site officiel Deepseek Mar 12, 2025 pm 01:33 PM

Au début de 2025, l'IA domestique "Deepseek" a fait un début magnifique! Ce modèle d'IA gratuit et open source a une performance comparable à la version officielle d'OpenAI d'Openai, et a été entièrement lancé sur le côté Web, l'application et l'API, prenant en charge l'utilisation multi-terminale des versions iOS, Android et Web. Recherche approfondie du site officiel de Deepseek et du guide d'utilisation: Adresse officielle du site Web: https://www.deepseek.com/using étapes pour la version Web: cliquez sur le lien ci-dessus pour entrer le site officiel Deepseek. Cliquez sur le bouton "Démarrer la conversation" sur la page d'accueil. Pour la première utilisation, vous devez vous connecter avec votre code de vérification de téléphone mobile. Après vous être connecté, vous pouvez entrer dans l'interface de dialogue. Deepseek est puissant, peut écrire du code, lire des fichiers et créer du code

Version Web Deepseek Entrée officielle Version Web Deepseek Entrée officielle Mar 12, 2025 pm 01:42 PM

La profondeur domestique de l'IA Dark Horse a fortement augmenté, choquant l'industrie mondiale de l'IA! Cette société chinoise de renseignement artificiel, qui n'a été créée que depuis un an et demi, a gagné des éloges des utilisateurs mondiaux pour ses maquettes gratuites et open source, Deepseek-V3 et Deepseek-R1. Deepseek-R1 est désormais entièrement lancé, avec des performances comparables à la version officielle d'Openaio1! Vous pouvez vivre ses fonctions puissantes sur la page Web, l'application et l'interface API. Méthode de téléchargement: prend en charge les systèmes iOS et Android, les utilisateurs peuvent le télécharger via l'App Store; Version Web Deepseek Entrée officielle: HT

Comment résoudre le problème des serveurs occupés pour Deepseek Comment résoudre le problème des serveurs occupés pour Deepseek Mar 12, 2025 pm 01:39 PM

Deepseek: Comment gérer l'IA populaire qui est encombré de serveurs? En tant qu'IA chaude en 2025, Deepseek est gratuit et open source et a une performance comparable à la version officielle d'Openaio1, qui montre sa popularité. Cependant, une concurrence élevée apporte également le problème de l'agitation du serveur. Cet article analysera les raisons et fournira des stratégies d'adaptation. Entrée de la version Web Deepseek: https://www.deepseek.com/deepseek serveur Raison: Accès simultané: des fonctionnalités gratuites et puissantes de Deepseek attirent un grand nombre d'utilisateurs à utiliser en même temps, ce qui entraîne une charge de serveur excessive. Cyber ​​Attack: Il est rapporté que Deepseek a un impact sur l'industrie financière américaine.