Hyperledger Fabric Architecture
If you’re very new to blockchain and building your first network with Hyperledger fabric, I’d strongly suggest you to read this article so to understand the architecture of the framework and the components involved.
The diagram below is gives you an overview of the entire architecture and the hierarchy of each of the components.
This is the top level namespace for your project. Say you’re building a network for a supply chain, then usually the project name or the domain name is used as the Hyperledger Fabric’s domain.
Under a domain there are orderers (can be multiple instances) who are responsible for making sure that all the peers in the network have committed a transaction. When a transaction is proposed and committed by a peer, the orderer is informed about the new transaction and it forwards and commits this block to all adjacent peers.
Note : Orderers are not dependent on one organization. However it is suggested to have multiple orderers to reduce failure rates.
Organizations are the containers for the peers and respective certificate authorities (CA). Each organization has its own CA and a list of peers. Usually organizations are used for physical separation of the blockchain network where each organization who uses your product can setup their physical machines and join your network.
The certificate authority is responsible for creating users certificates. It is used for verifying ownership in the network. Each certificate authority is tied with an organization.
The peers are nodes which are connected to clients and are responsible for committing transactions to the world state. Each peer has its own copy of transactions in a
couchdbdatabase. An organization can have more an one peer. Though it is advised to have multiple peers in an orderer to avoid data loss, having more than 3 or 4 peers might result in higher latency rates.