Blogs

Hyperledger, Simplified!

Rajesh Dangi / October 22, 2018

Beyond the Cloud

What is Hyper-ledger?

Hyperledger isn’t a tool or a platform; it’s the project itself. Often, it’s referred to as the umbrella. Hosted by the Linux Foundation, Hyperledger now has more than 270 members. Various industries are represented, including aeronautics, finance, healthcare, BFSI / NBFCs, supply chain, manufacturing and technology. It was announced and formally named in December 2015 by 17 companies in a collaborative effort created to advance blockchain technology for cross-industry use in business.

Hyperledger Fabric is one of the many opensource Hyperledger frameworks, and a permissioned blockchain infrastructure, providing a modular architecture with a delineation of roles between the nodes in the infrastructure (read, Fabric) execution of “chain code" and configurable consensus and membership services.

A Fabric Network comprises "Peer nodes", which execute chain code, access ledger data, endorse transactions and interface with applications.

"Orderer nodes" which ensure the consistency of the blockchain and deliver the endorsed transactions to the peers of the network, and MSP services, implemented as a Certificate Authority, managing certificates which are used to authenticate member identity and roles.

Fabric is primarily aimed at integration projects, in which a Distributed Ledger Technology (DLT) is required, offering no user facing services other than an SDK for Node.js, Java, Go and other languages such as Java by installing appropriate modules.

Genesis

Hyperledger was initially seeded with various blockchain-supporting commercial members, some of whom had interesting internal or nascent open source efforts that needed the kind of home that The Linux Foundation could provide. They saw a need within the enterprise market for a flat, distributed, multi-party database ledger and Smart Contract system separate from cryptocurrencies, and through open source collaboration began building blockchain technology building blocks to enable these types of systems.

Quick insight into Blockchain types, Distributed Ledgers and Smart Contracts etc

Blockchains can be used to record promises, trades, transactions or simply items we never want to disappear. Mirrored exactly across all nodes in a given network, it allows everyone in an ecosystem to keep a copy of the common system of record. Nothing can ever be erased or edited.

If you’ve heard people talking about Blockchain in a general sense, they were talking about a permissionless Blockchain. This model is what general public are familiar with because the most famous Blockchain projects (Bitcoin and Ethereum) are permissionless Blockchains – meaning that anybody can create an address and begin interacting with the network. The characteristics of a permissionless Blockchain include decentralized, anonymous and equally accessible to anyone with a computer.

the permissioned Blockchain is a closed and monitored ecosystem where the access of each participant is well defined and differentiated based on role. They are purpose built, establishing rules for transaction that align with the needs of an organization or a consortium of organizations. The permissioned Blockchain leverages some of the other core elements of Blockchain architecture such as immutability, ability to grant granular permissions, automated data synchronization, rigorous privacy and security capabilities,process automation etc to create efficiencies, reduce cost, and open up opportunities for new data-driven business models.

A distributed ledger is a multi-party database with no central trusted authority. The differentiating nuance is that when transactions are processed in blocks according to the ordering of a blockchain, the result is a distributed ledger.

A hash-based data structure is essential to know that each entry in the ledger is in a certain order and is cryptographically connected to the prior entries. The exact order of those entries is transparent and verifiable by all the participants, safeguarding the entries from manipulation or dispute.

Building one layer above distributed ledger technologies, you have smart contracts. Since distributed databases allow for multiparty, shared database use, distributed ledgers can be equipped with multi-party business logic, which is more commonly referred to as ‘smart contracts. These are a way to publish scripts and write programs in a language particular to a given chain, have them live on the shared network, and be able to execute on all those different nodes simultaneously. Read more about Blockchains here..

Why Hyperledger?

Modern technology has taken this process from stone tablets and paper folders to hard drives and cloud platforms, but the underlying structure is the same. Unified systems for managing the identity of network participants do not exist, establishing provenance is so laborious it takes days to clear securities transactions (the world volume of which is numbered in the many trillions of dollars), contracts must be signed and executed manually, and every database in the system contains unique information and therefore represents a single point of failure. What if, instead of the rat’s nest of inefficiencies represented by the “modern” system of transactions, business networks had standard methods for establishing identity on the network, executing transactions, and storing data? What if establishing the provenance of an asset could be determined by looking through a list of transactions that, once written, cannot be changed, and can therefore be trusted?

With the ability to coordinate their business network through a shared ledger, blockchain technology, a Hyperledger can reduce the time, cost, and risk associated with private information and processing while improving trust and visibility.

Hyperledger is a framework for permissioned blockchain networks, where all participants have known identities this helps establish trust and confidence which is limited in generic blockchain deployments. When considering a permissioned network, this supports data privacy and helps comply with data protection regulations. Many use cases in the BFSI, Healthcare etc. are subject to data protection statutes and follow compliance under CIA framework (refer ISO27001) that require knowing who the members of the network are and who is accessing specific data and authorization / access control thereof.

Hyperledger Fabric supports distributed ledger solutions on permissioned networks for a wide range of industries. Its modular architecture (refer reference architecture) maximizes the confidentiality, resilience, and flexibility of blockchain solutions.

What is Consensus?

Consensus is a method for validating the order of requests, or transactions (deploy and invoke), on a blockchain network that is part of Hyperledger. The ordering of transactions is critical, because many transactions have a dependency on one or more prior transactions (account debits often have a dependency on prior credits, for example) and must follow right ordering sequence to ensure consistency and remove false positives.

The Consensus network is in the Hexagon containing the Validating nodes & Non-validating nodes. Each operation only needs to be sent into the network once where it is then distributed around the network. The items being inputted into the network are abound the edge, Smart Contracts, Applications and configurations by a Blockchain Operator.

What are the different projects under Hyperledger?

The Linux Foundation’s Hyperledger project, which is focused on open source blockchain technology, divides its work into five sub projects each represent new sub project driving unique use cases that “represent different thinking.” The first five projects are: Fabric, Sawtooth, Indy, Burrow, and Iroha. We will discuss Fabric in detail below while we can get a quick overview of all five sub-projects.

  • Fabric is the most active project to date. The Fabric 1.0 release was issued in July. IBM initiated the Fabric project. It’s intended as a foundation for developing blockchain distributed ledger applications with a modular architecture. It allows components, such as consensus and membership services, to be plug-and-play.
  • The Sawtooth project originally came from Intel. It includes a novel consensus algorithm called Proof of Elapsed Time. Consensus is a critical element of all blockchains. Generally, it is the technique by which new information is reviewed and confirmed before being accepted as the next entry in the ledger.
  • The Indy project was originally the brainchild of the non-profit group the Sovrin Foundation. The idea is to provide digital identities for individuals and give them the power to share their identity with whom they chose.
  • The Burrow project includes a permissioned, smart-contract interpreter built in part to the specification of the Ethereum Virtual Machine (EVM). The Ethereum platform is used both for cryptocurrency as well as for smart contracts

Finally, the Iroha project is a bit of an outlier within Hyperledger. It originated with some developers in Japan who had built their own blockchain technology for a couple of mobile use cases. It’s implemented in C++ which can be more high performance for small data and focused use cases.

All of the platforms have different approaches and being tested in the marketplace of ideas and implemetability along with emphasis on interoperability. It will be interesting to see how distinct blockchain implementations tie up the transactions on that network with a completely different network. As such use cases mature, we can see the evolution features

which are most important or less important and see consolidation for seamless technologies and techniques.

How it works?

  1. The transaction proposal is submitted by an application to an endorsing peer.
  2. The Endorsement policies outline how many and/or what combination of endorsers are required to sign a proposal. The endorser executes the chain-code to simulate the proposal in the network peer, creating a read/write set.
  3. Then the endorsing peers send back the signed proposal responses (endorsements) to the application.
  4. The application submits the transactions and signatures to the ordering service.
  5. Ordering Service creates a batch, or block, of transactions and delivers them to committing peers.
  6. When a committing peer receives a batch of transactions, for each transaction Validates that the endorsement policy was met and checks in the read/write sets to detect conflicting transactions.
  7. If both checks pass, the block is committed to the ledger, and the state updates for each transaction are reflected in the state database.

The Hyperledger Fabric architecture delivers the four key advantages, namely ..

  • Chaincode trust flexibility.The architecture separates trust assumptions for chaincodes (blockchain applications) from trust assumptions for ordering. In other words, the ordering service may be provided by one set of nodes (orderers) and tolerate some of them to fail or misbehave, and the endorsers may be different for each chaincode.
  • Scalability. As the endorser nodes responsible for particular chaincode are orthogonal to the orderers, the system may scale better than if these functions were done by the same nodes. In particular, these results when different chaincodes specify disjoint endorsers, which introduces a partitioning of chaincodes between endorsers and allows parallel chaincode execution (endorsement). Besides, chaincode execution, which can potentially be costly, is removed from the critical path of the ordering service.
  • Confidentiality. The architecture facilitates deployment of chaincodes that have confidentiality requirements with respect to the content and state updates of its transactions.
  • Consensus modularity. The architecture is modular and allows pluggable consensus (i.e., ordering service) implementations.
  • Salient features of Hyperledger Fabric ..

  • Fabric heavily relies on a smart contract system called Chaincode, which every peer of the networks runs in Docker containers while not completely and generally permissioned.
  • Fabric allows enterprises to make parts of the blockchain, if not all, permissioned. Participants usually need to register to get the permission to join and issue transactions on a Fabric based blockchain thus the basic architecture supports confidential data, giving its members more privacy as they find on a public blockchain.
  • To use resources more efficiently, Fabric has fewer nodes than a public chain and computes data massively in parallel, which makes Fabric scale much better than public blockchains.
  • Separation between so-called “Endorsers” and “Consensus Nodes”. If you are familiar with cryptocurrencies like Bitcoin you will recognize the separation between miners and nodes. The Endorsers have the state, and build, validate and propagate transactions and chaincode, while the Consensus Nodes orders the already validated transactions. This separation comes as a default design principle enabling implementation of a better division of labour, so that not every peer of the network has to do every job.
  • Allows the user to define assets from client side and use them with the Fabric Composer. Fabric’s Chaincode Smart Contracts framework is similar to Ethereum: Chaincode defines the business logic of assets, the rules for reading and altering the so-called state of the assets. allows participants to build a separate channel for their assets and hence isolate and segregate transactions and a ledger. With this method, the chaincode needed to read and alter the state of an asset will only be installed on peers involved in this certain business case.
  • With high grade of flexibility in permission and privacy while enabling high scalability through a more advanced division of labour of network participants. Fabric uses a public key infrastructure to generate cryptographic certificates tied to organizations and users. So it is possible to restrict data and channel access to certain actors.

BankChain – the use case

BankChain is a platform for banks for implementing blockchain software. BankChain was announced on 8 February 2017 by State Bank of India along with other member banks such as members include State Bank of India, ICICI Bank, DCB Bank, Kotak Mahindra Bank, Federal Bank, Deutsch Bank and UAE Exchange. As on February 2017, BankChain has over 35 members and 10 live projects. All members get access to the node / source code of all BankChain projects, respective training material, dedicated private test blockchain, special invites to the annual conferences and invitations to exclusive events and technical training programs etc.

The primary purpose of the proposed BankChain is to facilitate information sharing among the banking institutions that are part of the network. It is expected to help the organizations tackle frauds while streamlining the lending process. The initial application of BankChain will involve trade finance sector, preventing businesses from presenting merchant discounts bills showing the same invoice to multiple banks.doctors, patients, and insurance companies, could be part of the overall blockchain, reducing fraud in healthcare payments.

The active projects for 2017 include Shared KYC / AML, Syndication of loans / consortium lending, Trade finance, Asset registry & asset re-hypothecation, Secure documents, Cross border payments, Peer-to-peer payments, Blockchain Security Controls.

  • Healthcare: Using digital signatures on blockchain-based data that allows access only when authorized by multiple people could regulate the availability and maintain the privacy of health records. In addition, a community of people, including hospitals,
  • Defense: Unauthorized access or modification of critical defense infrastructure, such as operating systems and network firmware, could seriously compromise national security. For most countries, defense infrastructure and computer systems are distributed across different locations. Blockchain technology distributed across multiple data centers can ensure security against attacks on important network and hardware equipment by ensuring consensus-based access for modification.
  • Government: Government departments that work in silos cause the exchange of information to be delayed, negatively impacting citizen services. Linking the data between the departments with blockchain ensures that data is released in real time, when both the departments and the citizen consent to sharing data. Blockchain technology could improve transparency and check corruption in governments worldwide.
  • Law: Blockchains can contain a huge amount of data, including entire contracts. The impact of “smart contracts”—protocols that facilitate or enforce contract performance using blockchain—will have a profound impact for industries. Smart contracts eliminate the middleman, such as a legal firm, as payment will happen based on certain milestones being met. By its very nature, the smart contract is easily enforceable electronically, creating a powerful escrow by taking it out of the control of a single party.
  • Energy: Microgeneration of electricity is becoming a huge trend in the power generation business. New energy initiatives such as home power generation and community solar power are filling in gaps of power supply across the world. As microgeneration adds to traditional power suppliers, it fosters creation of an energy market. Smart meters can register produced and consumed electricity in a blockchain, which allows for consumption of the surplus energy in a different location, providing credits or currency to the original producer. The credits can then be redeemed against the grid when the microgenerator needs additional electricity from the grid. The blockchain enforces these contracts in real time or near-real time, allowing for a utility market to be created with minimal red tape.

With such wide-ranging possibilities, there is no surprise that blockchain has the potential to enhance the quality of service delivery while improving confidentiality and integrity of data. With its promise of providing secure and transparent transactions, blockchain seems poised to be one of the digital world’s key pillars and hyperedges such as Fabric drive the adaptation ensuring governance and compliance as additional benefits.

The real challenge will be to try and underpin all these nuances with common code. The Blockchain community is well aware of the fact that without interoperability standards it will be difficult for any platforms to truly gain traction within established domains. The rapid establishment of multiple consortiums to examine governance and standards in Blockchain development are evidence of the fact that efforts towards this goal are underway and we have several wins across the board. The fact of the matter is a choice between our aspirations for decentralized connectivity and enterprise efficiency, to say so!