I am learning Hyperledger Fabric; I would like to clarify my understanding of Fabric's capability and ask few questions. I appreciate your input.
My understanding is that one can create a blockchain for an enterprise. Other enterprises can join the same blockchain to transact on there, correct?
For a given enterprise, can I create multiple blockchains that connect to eachother, or to one main blockchain within that same enterprise? Similar to how parachains and relay chain work in Polkadot?
Say I mint a coin for Enterprise 1 on Blockchain 1. Lets say Enterprise 2 comes into Blockchain 1 to interact with Enterprise 1. Lets say Enterprise 2 gathered some of the coins from Blockchain 1 and wants to use them on their own fabric blockchain, Blockchain 2. Can coins minted on Blockchain 1 can be used on Blockchain 2?
Thank you for your help.
Related
Recently, I've been diving into the Hyperledger Fabric documentations on network strucutre, design concepts, etc. One question that I haven't been able to find a clear answer to is this:
When creating a network with many organization (30+), do you assign each organization a peer, or can multiple organization be hosted on a single or small collection of peers? What is best practice for creating networks with many organizations (30+)
At least one peer per organization (preferably more). It makes no sense sharing a peer between organizations. Would your company share its resources (and even its keys) with its partners (or even competitors)?
Hmm, thinking out loud, it might make a difference depending on how the organizations are going to interact in the network. As in, are all 30 organizations going to transact or is it say Org 1 owns the peer, Org 2, 3, 4, 5 are clients of Org 1, in which case they may just need an app that connects to to the network via Org 1?
Doesn't answer the question directly, but food for thought.
I am trying to create participants (bank employe) in hyperledger composer . So how do i achieve this that all the bank employees come under a single organization of its bank
Basically the organization concepts it has more importance in the Hyperledger Fabric.
For example we can take the example of banks, if you have two organizations these could be:
Bank 1
Bank 2
Regarding the participants (bank emplyee) those are more familiarized with the Composer specifically the Business Network Definition
If you want the participants can have an identity that allow them to interact with the Business Network as an Admin.
If you want more information, or an example I wrote two post that helps you to setup and publish an hyperledger fabric with a published Business Network
Setup an Hyperledger Fabric in Multiple Hosts
Publish a Business Network in multi jose Hyperledger Fabric
I created a composer business network and successfully deployed in to the fabric network(Single organization) . The next step is deploying to the fabric network(Multiple organizations). I'm not understanding the purpose of deploying to Multiple organizations . Is it necessary to deploy the composer network into fabric Multiple organizations. Can any one help me from this confusion .
Thanks in advance..
IMHO, The OP is asking "Why do I need to deploy to Multi-org fabric network", not how.
While it is not required for you to deploy anything to a multi-organizational fabric network, typically in real-world scenarios you'd be mostly deploying to such a network structure.
Enterprise Blockchain solutions typically are most useful when they are bringing together different organizations which do business together, and though they are co-operating with each other while doing so, they typically don't trust each other.
Normally, in a non-blockchain scenario, these organizations would each have their own system of record keeping, and all business transactions would get entered into multiple independent record books. This creates all sorts of delays, dependencies and need for arbitration when one organization's records don't agree with the other organization's records.
The blockchain becomes a single record for all these co-operating but untrusting organizations. All data entered in to the blockchain is first reviewed by all the organizations, and only after consensus is it entered into the records.
This kind of setup is only possible using the multi-org network, with each peer hosting it's own peers that it trusts to review the transactions and perform consensus. THAT'S WHY you need this kind of setup in real-world scenarios.
The composer multi-org tutorial provides the information needed to understand the operational aspects needed to run a business network in a multi-organisational fabric network. The tutorial can be found here
https://hyperledger.github.io/composer/latest/tutorials/deploy-to-fabric-multi-org
From there you will see that defining an endorsement policy (in the case of the tutorial, both organisations have to endorse transactions) that you need to install the business network onto at least 1 of the peers in each organisation (in the case of the multi-org tutorial the business network is installed to all peers in the organisation).
Once installed and the business network started those peers are able to endorse the transaction.
hyperledger fabric is designed to allow multiple different organisations to share a ledger between them. This is a very common use case of hyperledger fabric.
Both Hyperledger Fabric and Hyperledger Iroha are platforms for building distributed ledger applications.
What are the main differences between them? When to choose one over the other to implement a blockchain solution?
Hyperledger Iroha and Fabric are just 2 of 5 independent Hyperledger blockchain technologies:
Hyperledger Fabric
Hyperledger Sawtooth
Hyperledger Indy (Identity Management focus)
Hyperledger Iroha (Extensive client API support, including mobile platforms)
Hyperledger Burrow (Ethereum EVM implementation)
How is Iroha different?
Byzantine fault tolerant consensus algorithm (called YAC) is high-performance and allows for finality of transactions with low latency.
Includes built-in commands for common tasks such as create digital assets, register accounts, and transfer assets between accounts.
Has a robust permission system, allowing permissions to be set for all commands, queries, and joining of the network.
I would evaluate each technology to see which one best fits your needs.
Fabric and Iroha are different Hyperledger technologies.
Unlike Fabric where peers polls for validation, Iroha applications interacts with peers in a simple client-server fashion.
Iroha uses YAC consensus algorithm.
The most significant difference is provided by the entity called accounts. Accounts have roles associated with them and only those accounts that holds grantable permission can perform any actions.
I don't know about your use case, so I'll generalise using a small example here. Go for Iroha in use cases similar to KYC. Iroha specialises in accounts and roles(set of permissions) associated with it. You can handle similar scenario with Fabric too, but then you need to take care about access rights, grants etc. Similarly, various use cases can be solved using multiple technologies. Iroha would also be preferable in scenarios involving creation and transfer of assets.
This will be helpful for you. Cheers!
I’m interested into the development of Blockchain Apps using Fabric and Composer.
I’ve got just one question: while Ethereum is a public blockchain so you can deploy your Smart Contract on it and use them freely, can we do the same thing with Fabric? Let me explain: Ethereum has a running Blockchain on which we can work and access, but Fabric has not, right? Should I set up an entire new blockchain network before (setting up all the nodes, giving permissions etc.)?
Thank you
Hyperledger Fabric is different to the blockchain systems you mention in it is private and permissioned. Rather than an open permissionless system that allows unknown identities to participate in the network (requiring protocols like “proof of work” to validate transactions and secure the network), the members of a Hyperledger Fabric network enroll through a trusted Membership Service Provider (MSP). Member organisations would generally set up their own Fabric infrastructure, if they're participating in the blockchain network (context provided earlier). See more on FAQ here -> http://hyperledger-fabric.readthedocs.io/en/release-1.2/Fabric-FAQ.html and understand more on key Fabric Concepts here -> http://hyperledger-fabric.readthedocs.io/en/release-1.2/key_concepts.html . As for Hyperledger Composer, that is a development framework, with tools etc to accelerate development and abstract things to a business level (ie App development using structure/validated, model driven development as a given). See more here -> https://hyperledger.github.io/composer/latest/introduction/introduction (and also see the architectural and key concept links there).
So yes, you will have a running, private blockchain network (including all of the functionality discussed in the docs) with Hyperledger Fabric.
As in Ethereum we can able to create public blockchain and then the user can able to run smart contract on it, same thing we can do in Hyperledger fabric also.
Hyperledger Fabric has the same functionality as smart contracts called as “chaincode”.
A chaincode is a program that is written to read and update the ledger state. All the business logic handled by chaincode.
For example, if a transaction created then chaincode share and update the ledger throughout the network.
About a Fabric based running blockchain we can work on it and can access it but that's only possible when someone from existing network invites you.
It is quite difficult to say you should setup an entire new blockchain network until I know your use case. Based on your use case you can setup an entire new blockchain network using fabric which will be private.