HyperLedger Composer data storage of assets and participants - blockchain

I am pretty new to Hyper Ledger Composer. I understand the way it works.But my interest is to build a blockchain application for digital identity management.I have seen that Hyper Ledger is coming up with Indy project, but I wanna start things with the composer.
Where does per ledger composer stores assets and participants?
what if my assets and participants are outnumbered?
Differences between hyper ledger fabric and composer.
How to design a blockchain for storing students records in an institution which contains details such as his CGPA?

See https://github.com/mahoney1/composer-knowledge-wiki/blob/latest/knowledge.md#information_source--blockchain-recap
Not sure what the context of this question is - outnumbered by what ? In the context of your topic heading ; self-sovereign ID is a digital identification that can use 'consolidated bits of information' about the student and could be stored as a means of establishing the true identity captured in your model - in Composer, an identity that is transacting (creating, updating, querying) is known because it is registered on the business network, so as to access it in the first place (Certificate Authorities from 'whichever organisation' that's on that permissioned blockchain network, issues digital certificates for the transacting identities, in their own organisation/institution - they then connect to the network using that identity, obviously organisations will know who it is issued to).
See Difference between hyperledger composer and hyperledger fabric? and What are the functional differences between Fabric Javascript SDK and Hyperledger Composer? - also you see an introduction here -> https://hyperledger.github.io/composer/next/introduction/introduction.html
CGPA meaning : the average of grade points obtained in all the subjects ? Normally you wouldn't store sensitive information on a blockchain that's shared with other institutions, ie something like a StudentID / Surname might suffice? The records are the 'assets' and obviously the student is the participant in your model business network (simplistic). You can see more on sample business networks, with sample models and sample transaction code and ACLs here -> https://github.com/hyperledger/composer-sample-networks/tree/master/packages

Related

Hyperledger Fabric - Is it the right framework for asset transfer among users?

I would like to use Hyperledger Fabric to do asset transfers among millions of users.
What I had in mind :
single organization containing millions of users
smart contract that handles asset transfers (asset will be a custom data -like a token)
A DAPP will invoke smart contracts with user identity
I want a private blockchain because there is no gas fees for invoking smart contracts, writing to the ledger and users are known.
I want a trusted ledger so users can check that the asset transfer has been done correctly and no token has been "stole".
Does that makes sense ?
Also who will be the peers ? Some random guys among the users ?
Hyperledger is a consortium blockchain, meaning that only pre-selected participants (organizations who run peers, orderers,...) are involved. This type of blockchain is not open to everyone, but semi-private. A private blockchain has one participant who has control over the rules of the blockchain. This kind of blockchain doesn't have a technically meaningful use case and one should re-thing if database makes more sense. Often an implementation happens either because of lack of knowledge or for marketing reasons (blockchain is a hype and not-knowledgeable users will fall for the buzz-word and trust the implementation).
I've been working on several projects where managers wanted a blockchain for marketing reasons and through out the project we could never justify the use of this technology.
In Hyperledger Fabric we have several roles (user, peer, orderer, ...). They all have identities. Peers are those who run the nodes (node can (doesn't have to) consists of the world state, smart contract,...). A user will have a differnet identity than the peer and will have to be enrolled separately. While it is possible for a user to set up a peer on a machine it isn't a common practice. It would be other organizations that will run peer nodes. For example if you're a bank and want to keep transactions private but still want to establish trust through the blockchain. In this case you would have a consortium blockchain where you could run one node and further ask an insurance company to run another node for you. This is a set-up I would recommend in your case as well.

Hyperledger network approach

Taking the following service description:
X is a platform matching buyers and sellers.
Buyers can join the platform by creating a buyer account and browse seller shops, buy, manage their account, ..., on the Buyers client application.
Sellers can join the platform by creating a seller account and manage their shops and orders, ..., on the Buyers client application.
I am still confuse about the right approach to adopt.
Here I represented the organization X (the platform). I assume that a buyer is not considered as an organization but rather a user of X. So every time a buyer create an account, I register a user under X, save email and password on an external database and link this entry to a user in X's wallet.
A seller can be considered as an organization (at least to me but happy to debate on that). So every time a seller create an account, I have to create an add a new organization to the existing network. They will however share the same "Seller application", also using a email/password approach.
In most of the sample under the Hyperledger Fabric repo, there is like 3-4 organizations at the start of the network and it is quite painful to add one more to an existing network. In my case, I could end up with 1 million organization or an infinite if the service is a success. Can this scale?
Is it the correct approach for this kind of use case? Any feedback or resource related to this use case is welcome.
This doesn't look like a valid use of hyper-ledger fabric. The blockchain is optimized to store transactional information. It isn't a regular DB, if you try, for instance, to store "user profiles" you will have a hard time trying so. For instance, each member for the blockchain network (again, hyper-ledger fabric) is meant to keep a copy of the ledger. Thus, everyone would get access to all user profiles. You can play around with PDC (private data), or as you mention, having virtually infinite users created on a single organization, but that isn't really how it's supposed to be used..
So, again, hyper-ledger fabric is meant to store transactional information (ledger relates to transaction). I think whatever strategy you try to implement for your use case, you should keep buyer/seller profiles/information off chain, and use the ledger only for transactional information that members of the network can see. In this scenario Fabric would server as an audit trail system, adding trust to each operation between buyers/sellers.

Hyperledger or R3 Corda

Our company is planning to develop a product for trace-ability of a supply chain. We are looking at considering one of the block chain frameworks Hyper-ledger or R3 Corda. Could some body tell your views on what to select and why.
Thanks,
Madhu
I propose to use Emercoin NVS to maintain trusted history of your supply chain. This is "developer-friendly" public blockchain, and it has open JSON HTTP API for:
Upload your data into blockchain
Add ("update") your data
Retrieve update history
This blockchain is used in Deloitte DocSensus notarization product.
I can help you to adopt these technologies. Also, will give you testnet EMCs for free, if need.

Hyperledger-fabric blockchain

I`m really new at hyperledger-fabric and I want to build my own application based on this technology and framework also, but have some spaces in my knowledge(
What information stored in block chain of hyperledger fabric?
Since you are new to blockchain and the way it works, I recommend to understand the basic concept of that technology first. The Hyperledger Fabric Documentation provides a first overview of how it works:
http://hyperledger-fabric.readthedocs.io/en/release/blockchain.html
When you got the basic understanding of blockchains, you can setup your own development environment:
http://hyperledger-fabric.readthedocs.io/en/release/getting_started.html
With that, you can build your first network...
http://hyperledger-fabric.readthedocs.io/en/release/build_network.html
... and your first application
http://hyperledger-fabric.readthedocs.io/en/release/write_first_app.html
Blockchain is a technology that works like a ledger. In fact, it works like a distributed ledger, where every participant in the Blockchain holds a copy.'
What is ledger in Hyperledger fabric?
It is like a book that holds the record of transactions. It consists of two parts:- world state and transactions logs.
In world state, it holds the current state/value of set of ledger states.
In transaction logs, it store the transactions that occurred to reach the current state.
These transactions in transaction logs are collected inside a block that are appended to the Blockchain.

Exploring and analyzing Hyperledger Fabric Blockchain

I am studying the Hyperledger Fabric Blockchain and I would like to understand if and how it is possible to explore and analyze the data inside a Hyperledger Fabric Blockchain network.
Is there a non-interactive way to analyze all the transactions of the blockchain locally? or even demanding the analysis to someone else? It would be great, as Ethereum allows us to do, to explore the ledger and its transactions to then focus on some specific of them.
Thanks in advance guys!
depends on your use case. In Hyperledger Composer, you have a Historian registry (all the transactions recorded for a business network). You can have multiple business networks to query (each BN being a view into the ledger because you've modeled the business networks and smart contract logic between those parties etc). You can use queries, REST APIs and filters to do your analysis. You could also have a 'regulator' type participant, who sees 'everything' that went on in the business network on the ledger. In Hyperledger Fabric, you can inquire of the Fabric blockchain direct, using a combination of routes: you have the Node js REST APIs https://github.com/hyperledger/fabric-sdk-rest (these are a work in progress as it states) or you can use the Fabric SDK for example -> https://fabric-sdk-node.github.io/