1

How to achieve the private data sharing in fabric network :

It should be :

1.) on user level ?

2.) on peer level ?

3.) or on Organisation level ?

My understanding for above scenarios

1.) user level : if data is to be shared between two users associated with same peer then the data is stored on the peer(blockfile) which can be read easily.

2.) peer level : same problem peers are part of same channel. Data is shared on each peer(blockfile) which can be read easily.

3.) org level : creating a new org for every new user registered on the platform and then creating a new channel for private data sharing between two peers? how practical is this approach in case of thousands of users on the platform?

Is there any other way to achieve this?

rohit_sethi
  • 106
  • 3
  • its probably best to read the comprehensive Fabric docs on Private Data - to understand how it works. See https://hyperledger-fabric.readthedocs.io/en/release-1.4/private_data_tutorial.html . It describes the use of private data collections (and how they are formed) and provides an example use case. – Paul O'Mahony May 01 '19 at 09:17
  • You would use collections when transactions (and ledgers in fact) must be shared among a set of organizations in the blockchain network, but when only a subset of those organizations should have access to some (or all) of the data within a transaction. The organizations themselves usually issue identities (cert/key combo) to their respective users that need to transact (eg via client apps) on the network. – Paul O'Mahony May 01 '19 at 09:21
  • @PaulO'Mahony But if I try to share the data with a user associated to the same peer then the data will be in readable form in peer data i.e blockfile. And if the users are from different organisations then a new channel has to be created between them. having thousands of organisation is practical/effiecient? – rohit_sethi May 01 '19 at 11:06
  • hi @PaulO'Mahony i just read your answer. I know how private data works in terms of sharing the data etc. But not in terms of scaling - there is no example/written stuff on this on the documentation webpage. Maybe you can elaborate on this? I posted my question here a few day ago: https://stackoverflow.com/questions/55878972/how-to-dynamically-add-and-scale-with-private-data-collections – kajuken May 02 '19 at 09:19
  • 1
    @rohit_sethi the user wouldn't have access to the peer (not if proper, org security/security policies are laid down etc). The other feature (aside from private data already mentioned) that allows developers to secure data is an application-level solution in the form of attribute-based access control (ABAC). Private data and ABAC (eg. implemented using fabric-ca-client - see https://hyperledger-fabric-ca.readthedocs.io/en/release-1.4/users-guide.html) together with private data give enough flexibility to model a non-trivial business process without revealing confidential information .. – Paul O'Mahony May 02 '19 at 13:48
  • ...to that user (who should only be accessing the ledger through a client app, not have direct access to nodes).... There is a good blog that goes through a use case that may be of interest https://www.tooploox.com/blog/hyperledger-fabric-confidentiality-on-the-blockchain. – Paul O'Mahony May 02 '19 at 13:49
  • @PaulO'Mahony thanks for detailed information but I have a final question regarding number of organisations a network should contain. And it'd be even better if you can explain it with example use cases. Thanks once again... – rohit_sethi May 03 '19 at 13:20

0 Answers0