Hyperledger Fabric Business Network elements (part I)

Jhonny Martinez
typeiqs
Published in
4 min readDec 5, 2018

In my experience dealing with Hyperledger Fabric (HLF) I tried to explain other people the key elements, and I realize it is quite difficult to understand every term in straight by reading the official documentation (It is so technical), so I decided to write it down my understanding and if anyone wants to talk about HLF I can have a dictionary for dummies to they read.

If I had to draw a Hyperledger Fabric Business Network (HLFBN), I should start talking about Docker Technology and see the HLFBN like a blocks mesh which can be brought up and down, reset, deleted, connected, configured or started. This Blocks or Containers can be different, there are code containers (Chaincodes), storage containers (Ledgers), consensus containers (Endorsing Peers), ordering containers (Orderers) among others and we can group these containers as well. Every element in a HLFBN is or belongs to a container.

The containers are virtuals things; there is no such physical container. Realize the containers like blocks of software which runs in a server (Local or cloud) and are managed with Docker Technology.

Peers

There is a common term in every Blockchain Network, The Peer, which is, in a HLFBN, a container capable of representing an access point to the network, a node to distribute the ledger, a consensus algorithm host, a participant in the network, among others. There are three (03) Peer types:

  • Client peer
  • Endorsing peer
  • Anchor peer

But if I do not explain what an Organization, Channel, Consortium, Participant and Transactions are, it could be quite challenging to define the peer’s types, so let is move ahead.

Organization

These are just peers groups. An organization is defined with a domain name, and other attributes and every peer must belong to an organization. We can attach a peer to an organization in a configuration file before or during the HLFBN operation. The organization is a concept which tries to model a traditional company who will manage several network assets and participants.

Participant

It is paramount to understand that in every blockchain technology we reach an immutable ledger of transactions and every transaction is attached to someone. But, in HLF a participant is more than a user who signs a transaction, a endorsing peer will be a participant which endorse a transaction, and remember that peers are not physical, they are virtual elements, but they will have their signature and will be considered as participants.

Channel

Moving forward we find Channels which are like private communication lines between Organizations. When we bring up a HLFBN there is no Channels by default, we must create it with the CLI container (We will discuss about it later) help and their command lines. Essentially we create the Channel and then we add peers to the Channel so, if we want to establish a Channel between two or more Organizations, we can do it by adding the peers to it. But what we share in this Channels? Easy, The Ledgers.

HLF define not just one Ledger but many as we want, so we can privatize the data and share only the ledgers we want between Organizations.

With the channels comes the Anchor Peers, because if we realize the Channels like phone lines, the Anchor Peers will be the ones at the phone, and when they receive the data, they distribute it through others peers who belong to the same Organization and the same Channel. Remember the peers belongs to Organizations and Channels but is not mandatory that if a peer belongs to a Organization and a Channel, every peer in the same Organization must belong to the same Channel.

Consortium

This term is created to group organizations for one specific matter, use the same transaction organization method (Ordering Service). We define which organizations belong to a consortium in a configuration file before bringing up a HLFBN, and then, if we can grow out a network with other organizations, we can join a new organization to a consortium by commanding the CLI tool.

Above image is my first draw, I think there are several things to change, but for the first draw is quite good.

There are several terms in addition to the ones above, but I think we can group this five and draw the first picture about a HLFBN. In the next article, I will include the Ordering Organization and talk about the Transaction Flow to move forward with our HLFBN draw.

--

--