A Detailed View to Hyperledger Fabric Use Case for the Banking Sector

A Detailed View to Hyperledger Fabric Use Case for the Banking Sector

Posted By : Neeraj Kumar | 30-Sep-2018

Introduction

 

 

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?


 

What And 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.


 

The Idea

 

 

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:

 

  • MSP: Membership Provider is an abstraction for membership operation architecture. It hides away all the cryptographic mechanism of providing certificates to digital identities as memberships.
  • Organization: The real world organizations simulation, except it’s not a real physical entity but its a cluster of peers nodes.
  • Endorsing Peers: A role played by the regular peers as transaction processing peers. These peers checks for a proper required number of signatures for the endorsement.
  • Committing Peers: A role played by the regular peers as transaction committing peers. These peers don’t endorse a transaction but are responsible for committing the blocks to the ledger after receiving this block from the orderer itself.
  • Orderer: the block mining peer of the organization, it orders all the transactions and pack them in a block and pushes that block to the committing peers registered on a channel. All these communications are on the channel bases, meaning the orderers orders and packs transactions of the same channel in the same block.
  • Certificate Authority: A digital certificate assigning authority registered with the MSP of an organization to provide digital certificates to all users being registered on that organization and also provide them public-private key pairs as transaction signing identity.
  • Channel: Communications medium and ledger separation base among the communicating parties.
  • Chain code: Smart contract in Hyperledger Fabric terms.

 

 

Now after clearing out these technical jargons out of our way let suit the Hyperledger Fabric Architecture to solve our problem.
 

The Solution

 

  • Each bank will be an Organisation Cluster, it will have it’s MSP, orderer cluster, peer cluster (endorsing/committing) and certificate authorities.
  • Branches of this bank will be an organization in itself it will have it’s MSP, peer cluster (endorsing/committing) and certificate authorities but they can or cannot have their own orderer cluster, this depends on the implementation. If these branch organizations will have their orderer cluster, this orderer cluster will not be working in an isolation from the main orderer cluster of the bank, i.e. these orderers will be on the same channel on which the bank’s main orderer cluster is. By having this architecture, we will enforce security and recover from system failures in block mining. On the other hand, if these branch organizations don't have an orderer cluster of their self, they have to completely rely on the bank’s main orderer cluster which can have issues due to network failures and not be able to reach out to the parent orderer cluster so the consensus in mining the block cannot be formed and the transaction will not be mined.
  • Using the Certificate Authority (CA) of both the organizations (the branch of the bank and the head office of the bank) will have their maintainers of the ledger registered with their organization as well as they will register their sole users onto their organization.
  • These branches will form a channel with the bank’s main organization and these two organizations will have their peers joined onto the channel. Now as the channel is formed among these organizations and their peers have joined onto it, maintainers of the organization and channel from both sides, can agree on having the same business logic coded as a chain code and they will have it installed onto their endorsing peers with the endorsement policy of their business interest they will instantiate this chain code onto their endorsing peers.
  • Now after the chain code is instantiated successfully on both organization’s peers, both the organizations can have their business transactions according to the business logic coded into the chain code.
     

Central Governing Authorities Into Play

 

 

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.


 

About Author

Neeraj Kumar

Neeraj is a JAVA Developer who possesses skill set in: Data Structures, Core Java, Java Enterprise Edition (Servlets, JSP, Standard Java Beans), Spring (Spring-core, spring-MVC, spring-Data-Access, Spring-Data-JPA), Hibernate, JPA, HTML, CSS, JavaScri

Leave a Comment

Name is required

Comment is required

Leave a Comment

    Request For Proposal

    Cookies are important to the proper functioning of a site. To improve your experience, we use cookies to remember log-in details and provide secure log-in, collect statistics to optimize site functionality, and deliver content tailored to your interests. Click Agree and Proceed to accept cookies and go directly to the site or click on View Cookie Settings to see detailed descriptions of the types of cookies and choose whether to accept certain cookies while on the site.

    We would love to hear from you!

    Oodles | Blockchain Development Company

    Please enter a valid Phone Number

    Please remove URL from text

    Recaptcha is required.