
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.
0 Comments