Blockchain is such a new and emerging technology that every big non-profit and profit organization/business wants a piece of it, and the reason behind that is, it enforces trust, increase reliability and deals with the system failures by employing cryptography for securing the information and distributing the ledger data as well as the logic that manipulates it, among each participant of the blockchain and use consensus algorithms for agreeing on same output to be added to the ledger and not allowing the invalid data to be added to the ledger.
Now the blockchain technology has many different protocols which have their implementations, the first blockchain protocol that was implemented for public use was the Bitcoin but it was open to joining for everyone (permissionless) and the ledger was public too i.e. it is publically visible to all participants in the blockchain, though it was secure and one of its kind, it was more of a currency suited blockchain. Ethereum protocol is also very promising and also supports D-Apps but it was also public and permissionless.
Now if we consider the banking sector use cases for blockchain technology as a B2B scenario, the public, and permissionless ledger didn’t sound good enough to put more focus on.
On the other hand, Hyperledger Fabric protocol is a private and permission-ed blockchain, meaning that there will be an authority who will register peer nodes into the blockchain and ledger block miners too and ledger on this blockchain is private too as the transactions among the interested participants can only view the transaction details and no one else can view it, how?
As any B2B scenario, the transactions among parties should only be among the participating organizations and should not be visible to other organizations yet this situation can be tailored to have a specific organization(s) as audit trail authorities to be able to view these transactions.
Hyperledger Fabric deals with this particular situation by the idea of channels. Channels are a separation of communication among participating organizations and connect concerned organizations together for a particular ledger. The participating organizations will have their peers (endorsing/committing peers) joined onto the channel for this communication to occur. Now peers of an organization, once on the channel, now they can have a chain code installed on them which after instantiation will have the ledger instantiated and all other transaction on this channel for this particular channel’s chain code will be logged into it. In this way, there will be many separate ledgers on a channel between concerned parties (unlike public blockchains which have only one public ledger visible to all who wants to join) through which they can communicate on the basis of business logic.
Also, note that we are not going to discuss the basics of the Hyperledger fabric Architecture; as one can directly follow the Hyperledger fabric official documentation for the same and they have covered it in detail.
Okay, so let’s start with co-relating the Hyperledger Fabric Architecture with a real-world Banking System Architecture:
In this architecture, there is a central head office of the bank and several different branches will be there in distant remote locations. All these branches have a huge number of transactions every day although all these transactions have been made by a particular branch of the bank they fall under the same bank’s management. Now to govern these banks there is always a central authority in each country, in India it is Reserve Bank Of India (RBI). This central authority keeps track of the functioning of these banks.
Now let’s elaborate this two architecture to fit them together and let’s understand the technicality of it, and for that let’s quickly cover some technical jargons first:
Now after clearing out these technical jargons out of our way let suit the Hyperledger Fabric Architecture to solve our problem.
Talking about central governing authorities (RBI) they want to have an eye onto these banks itself, but they will not keep track of each individual branch of the bank, instead, they will have an eye onto the bank’s main branch. To do that, they will form a channel with the Each bank’s head office organization and they will monitor the transactions mined between the bank and its branches.
To make these governing authorities be able to do this audit in this particular manner, this authority also need to follow the organization architecture of the hyper ledger fabric and will have a channel with the main branch of the bank same as the branch has with the bank’s head office.