What is Hyperledger? - A complete guide

What is Hyperledger? - A complete guide

Hyperledger

Hyperledger is an open-source project founded by the Linux Foundation. It provides a diverse suite of projects and frameworks to businesses and developers to build the blockchain networks and applications. Hyperledger Project aims to ease the collaboration between enterprises, developers, and businesses in the field of DLT (Distributed Ledger Technology). More than 250 organizations are supporting Hyperledger currently and that number is increasing rapidly with time. The list of organizations includes many tech giants such as Airbus and Daimler, IBM, SAP, Huwaei, Fujitsu, Nokia, Samsung, American Express, and JP Morgan, and blockchain startups like Blockstream and Consensys.

Hyper ledger Project offers enormous opportunities and includes over 28000 participants and 3.6 million lines of code. Hyperledger comprises of 10 projects, including 6 tools and 6 frameworks. The Hyperledger project can be divided primarily into two sections:

·         Modular Tools

·         Modular Frameworks

Since it is clear what is Hyperledger, we shall now discuss different types of Hyperledger Projects and Tools that contribute to blockchain development.

Hyperledger Projects

Hyperledger follows the umbrella strategy which promotes and incubates a diverse range of business blockchain technologies including smart contract engines, graphical interfaces, distributed ledger frameworks, applications and libraries. The Hyperledger encourages reusing of building blocks and enables innovation of distributed ledger technology components.

Hyperledger Burrow

Hosted by the Linux Foundation, Hyperledger Burrow is one of the Hyperledger Projects that provide a modular blockchain client to build a permissible smart contract machine with the specification of Ethereum Virtual Machine (EVM). Some of the capabilities of Burrow include high transaction throughput and transaction finality because of the proof-of-stake consensus engine.Burrow consists of the following components:

Consensus Engine: Transaction ordering and execution is done with the Byzantine Fault-Tolerant Tendermint Protocol which offers high throughput for a set of known validators and protects the blockchain from forking.

Smart Contract Application: Transactions are validated to the application state in the order that the consensus engine has finalized. The application state comprises of the validator set, name registry and all accounts. Burrow accounts either correspond to the public-private key pair or include smart contract code. A transaction that interacts with the smart contract code runs the code of an account on a permissioned virtual machine.

Application Blockchain Interface (ABCI): Application Blockchain Interface allows smart contract application to interact with the consensus engine.

Application Binary Interface (ABI): Transactions should be formulated in a binary format so that the blockchain nodes can process them. Tools for Hyperledger Burrow provide the functionality to deploy, compile and link smart contracts written in solidity and execute transactions to call smart contracts on the chain.

API Gateway: Burrow reveals JSON-RPC and REST endpoints to communicate with the application state and blockchain network by querying the recent state of the application or broadcasting transactions.

Hyperledger Indy

Built explicitly for decentralized identity, Hyperledger Indy is a distributed ledger that provides libraries, reusable components, and tools to create digital identities on the blockchain. It provides an ecosystem for secure, robust, and private identity. Indy aims to put users in the control of their data, thereby protecting their identifiable information from privacy breaches and hacking. Users’ private data is not stored on the Hyperledger Indy ledger. Instead, it utilizes the blockchain to allow third parties to validate that the trusted organizations have issued private credentials. Both ordering and validation are done via RBFT (Redundant Byzantine Fault Tolerance) in Hyperledger Indy.

Hyperledger Fabric

Maybe the most interesting project in the Hyperledger family is IBM’s Fabric. Rather than a single blockchain Fabric is a base for the development of blockchain-based solutions with a modular architecture. Fabric different components of Blockchains, like consensus and membership services can become plug-and-play. Fabric is designed to provide a framework with which enterprises can put together their own, individual blockchain network that can quickly scale to more than 1,000 transactions per second.

What is Fabric and how does it work? The framework is implemented in Go. It is made for enabling consortium blockchains with different degrees of permissions. Fabric heavily relies on a smart contract system called Chaincode, which every peer of the networks runs in Docker containers. An overview of Fabric’s technology can be found in the manual. 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.  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. Also, its basic architecture supports confidential data, giving its members more privacy as they find on a public blockchain. Maybe most important is the 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. While this separation has not been a concept of the first blockchain concept of Satoshi Nakamoto, but became an unwished reality in most cryptocurrencies, Fabric is one of the first to make this separation a design principle. This enables Fabric, for example, to implement a better division of labour, so that not every peer of the network has to do every job. While having no native currency, Fabric 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. Like Ethereum Fabric maintains not a set of unspent outputs, as bitcoin maintains, but the state of the blockchain which is not restricted to transactional data. Other than the public blockchains of cryptocurrencies Fabric 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. Like in good chat programs Fabric’s blockchains allow the user to participate in both open and private interactions. Beyond this IBM proposes an alternative design for public and permissionless blockchains. 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. Fabric’s strength seems to be the high grade of flexibility in permission and privacy while enabling high scalability through a more advanced division of labour of network participants. For IBM Fabric serves as a flagship project for blockchain development. The IT giant uses Fabric for a variety of its own projects and for collaborations with several business partners. In March 2017 IBM launched IBM Blockchain, a service that enables developers to “quickly build and host security-rich production blockchain networks on the IBM Cloud.”  With this move, IBM catches up with Microsoft, which long integrated blockchains in its Azure Cloud. However, while Microsoft is just a cloud host for several external blockchains, IBM heavily promotes its own blockchain framework, Fabric, for a lot of use cases. For example, at the end of March, Natixis and Trafigure partnered with IBM to use a blockchain based on Fabric for commodity trade finance for US crude oil transactions. All major steps in a crude oil transaction are digitized on the blockchain, massively improving transparency, efficiency, and security. In April IBM announced several new blockchain projects based on Fabric: The company partnered with Sichuan Heijia to build up a blockchain based supply chain platform for pharmaceutical procurements. In the same month, IBM started to cooperate with Japan’s Mizuho Financial Group and Mizuho Bank to create a blockchain based platform for trade financing. This projects aim to streamline trading operations and improve supply chain efficiency. In another project disclosed in April 2017 IBM cooperates with the National University of Singapore to develop a module on financial technology to improve the student’s education in this area. Finally, in May 2017, IBM was chosen as a partner of TenneT, Sonnen and Vandebron to develop a blockchain for managing the electric grid in the Netherlands and Germany.

Hyperledger Iroha

Hosted by the Linux Foundation, Hyperledger Iroha is one of the Hyperledger Projects used to build trusted, secure and robust blockchain applications using Byzantine Fault-Tolerant Consensus algorithm.The platform can be used to manage identity, serialized data and digital assets. It is useful for apps like central bank digital currencies, national IDs, logistics and interbank settlement. Iroha does not have any native cryptocurrency; instead, its interaction with the system is permissioned so that only people with access can participate in the system. Moreover, queries are permissioned, enabling data access control. With prebuilt commands, Hyperledger Iroha allows users to do tasks like creating and transferring digital assets. Iroha is based on a consensus algorithm called Byzantine Fault Tolerant Algorithm which offers high-performance and allows transactions with low latency. By limiting the attack vector, Iroha improves the overall security of the system. The peers of Hyperledger Iroha are validation nodes that can distribute partially-signed transactions on the gossip protocol as a part of multi-signature transactions. Blocks are saved in files whereas the ledger state is stored in the PostgreSQL database.

Hyperledger Sawtooth

Hyperledger Sawtooth is an enterprise blockchain platform used to build distributed ledger networks and applications. It is designed in a way that it keeps the ledgers distributed and ensures the safety of smart contracts. The platform facilitates the blockchain development by isolating the core system from the app domain. Developers have the choice to specify the business rules in the language of their choice. Modularity of Hyperledger Sawtooth allows enterprises to select the permissioning, transaction rules and consensus algorithms as per the business requirements. Every application defines the custom transaction processors according to the specific requirements. SDKs for transaction processors are available in various languages that simplify the creation of new contract languages such as Go, C++, Python, Rust, Java and JavaScript. Sawtooth provides an advanced parallel scheduler that divides transactions into parallel flows. Transactions can be executed in parallel, protecting from double-spending with various modifications to the same state. Parallel Transaction Execution results in increased performance over serial execution. Hyperledger Sawtooth supports Ethereum Contract Compatibility with Seth, Sawtooth-Ethereum integration project. With the Seth transaction family, smart contracts that run on Ethereum Virtual Machine can be deployed to Hyperledger Sawtooth platform.

Hyperledger Grid

Since the supply chain is one of the most promising use cases of the distributed ledger, Hyperledger community has taken the initiative to focus on developing supply chain solutions via reusable and shared tools. Hyperledger Grid possesses the shared capabilities to speed up the development of distributed ledgers for cross-industry supply chain solutions. Hyperledger Grid provides reference implementations of supply chain-focused data types, smart contract based business logic and data models anchored on the existing, industry best practices and open standards. Grid is neither a blockchain nor an application; it is an ecosystem of frameworks, libraries and technologies that work together and allow developers to choose the components that are appropriate for their market model.

The backbone of non-monetary, industrial blockchain technology?

While there is a lot of information available on Sawtooth and Fabric, there is less known about the other projects. Maybe these projects first have to grow and mature to be a subject of media releases, tests and real-world application. But the best-known projects, Sawtooth and Fabric, are interesting and seem to be backed by strong IT companies. It will be interesting to see if Hyperledgers succeeds in connecting these blockchains, for example by developing tools which can be used with all Hyperledger blockchain frameworks.

Hyperledger: Conclusion

While most other blockchain projects focus on cryptocurrencies and tokens, the projects around Hyperledger demonstrate a strong potential to build the backbone of non-monetary, high scaling industrial applications of blockchain technology. With interesting concepts and leaders in the technology behind, Hyperledge has not the worst chances to win this prize.

 

SHARE AT

0 Comments

Leave a Reply