Download as pdf or txt
Download as pdf or txt
You are on page 1of 27

Computer Science and Engineering

M. Tech 2nd Year SEMESTER – III


CS-607 B Introduction to Block Chain Technology

UNIT III

Hyperledger Fabric
Hyperledger is an open source community focused on developing a suite of stable frameworks, tools
and libraries for enterprise-grade blockchain deployments. It is a global collaboration, hosted by The
Linux Foundation, and includes leaders in finance, banking, Internet of Things, supply chains,
manufacturing and Technology. Built under technical governance and open collaboration, individual
developers, service and solution providers, government associations, corporate members and end
users are all invited to participate in the development and promotion of these game-changing
technologies.

Similar to The Linux Foundation, Hyperledger has a modular approach to hosting projects. The
Hyperledger greenhouse hosts developing business blockchain projects from Hyperledger Labs
(seed) to stable code ready for production (fruition). All are invited to contribute to the greenhouse;
collectively advancing industry goals of distributed ledger and smart contracts.

It is a private and permissioned Blockchain system which means Unlike, in Permissionless(or public
network) systems that allow unknown identities to participate in the network, the members enroll
through Membership Service Provider (MSP).

It also offers the ability to create channels, allowing a group of participants to create a separate
ledger of transactions.

Since Fabric is the permissioned Blockchain it has some major advantages over other blockchain
systems.

Hyperledger Fabric is a permissioned blockchain framework, with a modular architecture (plug-and-


play). It leverages container technology to host smart contract (Chaincode) which contains
application logic.

This is a high-level transaction flow and basic components involved.


Here when clients submit the transaction proposal through the Fabric SDK, this proposal is sent to all
Endorsing Peers. These endorsing peers check the transaction verifies and executes and generate the
Read and Write set as output. Now, this response is again sent to the client. The client collects all
responses from all endorsing peers, and send them to Orderer. Now, Orderer sees all transactions and
orders them in ascending order and form a block. Now, this block is sent to all committers which
checks the transaction and add a new block in their own copy of the ledger.

Fabric consist of below major components

 Membership Service Provider(MSP)


 Client
 Peer
 Orderer

Membership Service Provider (MSP)

The membership service provider (MSP), is a component that defines the rules in which, identities
are validated, authenticated, and allowed access to a network. The MSP manages user IDs and
authenticates clients who want to join the network. This includes providing credentials for these
clients to propose transactions. The MSP makes use of a Certificate Authority, which is a pluggable
interface that verifies and revokes user certificates upon confirmed identity. The default interface
used for the MSP is the Fabric-CA API. However, organizations can implement an External
Certificate Authority of their choice. As a result, a single Hyperledger Fabric network can be
controlled by multiple MSPs, where each organization brings its own favorite.

There are two types of MSPs.


Local MSP: It defines users(Clients) and nodes(peers, orderers). It defines who has administrative
or participatory rights at that level.

Channel MSP: It defines administrative and participatory rights at the channel level.
Client
Clients are applications that act on behalf of a person to propose transactions on the network. The
client uses a Fabric SDK in order to communicate with the network. The client communicates with
the SDK in order to Read or Write the data in a Fabric blockchain and an in-state DB. Even the client
is issued with a certificate from the CA authority in order to make sure that a valid client has initiated
the transaction over the network.

Nodes
A ―Node‖ is only a logical function in the sense that multiple nodes of different types can run on the
same physical server. What counts is how nodes are grouped in ―trust domains‖ and associated with
logical entities that control them.

There are three types of nodes:

Client: A client that submits an actual transaction-invocation to the endorsers, and broadcasts
transaction-proposals to ordering service. In short, clients communicate with both peers and the
ordering service

Peer: A node that commits transactions and maintains the state and a copy of the ledger. A peer
receives ordered state updates in the form of blocks from the ordering service and maintains the state
and the ledger. Besides, peers can have a special endorser role. The special function of an endorsing
peer occurs with respect to a particular chaincode and consists in endorsing a transaction before it is
committed.

Ordering-service-node or Orderer: a node running the communication service that implements a


delivery guarantee, such as atomic or total order broadcast.

Types of Peers

Endorsing Peer: Endorsing peers is a special type of committing peers who have an additional
role to endorse a transaction. They endorse the transaction request which comes from the client. Each
endorsing peer possesses the copy of smart contract installed and a ledger. The main function of
Endorser is to simulate the transaction. It is executed based on the smart contract on the personal
copy of the ledger, and generates the Read/Write sets which are sent to Client. Though during
simulation, the transaction is not committed to the ledger.

Committing Peer: Peers who commit the block which is received from the Ordering service,
in their own copy of the blockchain. This block contains the list of transactions where committing
peer to validate each transaction and mark it as either valid or invalid and commits to the block. All
transaction either valid or invalid are all committed to blockchain for future audit purpose.

Anchor Peer: As Fabric network can extend across multiple organization, we need some peers
to have communication across an organization. Not all peers can do this, but these are special peers
who are only authorized to do so which are nothing but Anchor peer. The anchor peers are defined in
Channel configuration.

Leading Peer: Leader peers are those who communicate or disseminate messages from
Ordering service to other peers in the same organization. These peers use Gossip protocol to make
sure that every peer receives the message. Leading peers cannot communicate across an
organization. If any Leading peer is not responding or is out of network, then we can select a leading
peer from available peer based on voting or randomly choose one.

Orderer
In a Blockchain network, transactions have to be written to the shared ledger in a consistent order.
The order of transactions has to be established to ensure that the updates to the world state are valid
when they are committed to the network. Unlike the Bitcoin blockchain, where ordering occurs
through the solving of a cryptographic puzzle, or mining. Hyperledger Fabric allows the
organizations running the network to choose the ordering mechanism that best suits that network.
This modularity and flexibility make Hyperledger Fabric incredibly advantageous for enterprise
applications.

Hyperledger Fabric provides three ordering mechanisms: SOLO, Kafka, and Simplified Byzantine
Fault Tolerance (SBFT), the latter of which has not yet been implemented in Fabric v1.0.

SOLO
It is the Hyperledger Fabric ordering mechanism most typically used by developers experimenting
with Hyperledger Fabric networks. SOLO involves a single ordering node. In this, the transactions
are ordered in chronological order to form a block.

Kafka
It is the Hyperledger Fabric ordering mechanism that is recommended for production use. This
ordering mechanism utilizes Apache Kafka, an open source stream processing platform that provides
a unified, high-throughput, low-latency platform for handling real-time data feeds. In this case, the
data consists of endorsed transactions and RW sets. The Kafka mechanism provides a crash fault-
tolerant solution to ordering service.

SBFT
It stands for Simplified Byzantine Fault Tolerance. This ordering mechanism is both crash fault-
tolerant and byzantine fault-tolerant, meaning that it can reach agreement even in the presence of
malicious or faulty nodes. The Hyperledger Fabric community has not yet implemented this
mechanism, but it is on their roadmap.

These three ordering mechanisms provide alternate methodologies for agreeing on the order of
transactions.

Other components which are part of the network and yet very important to understand are as below

Channels
A fabric network can have multiple channels. Channels allow organizations to utilize the same
network while maintaining separation between multiple blockchains. Only members(peers) of the
channels are allowed to see the transaction created by any member in a channel. In other words,
channels partition the network in order to allow transaction visibility for stakeholders only. Only the
members of the channel are involved in consensus, while other members of the network do not see
the transactions on the channel. The peer can maintain multiple ledgers. And peer can be connected
to multiple channels.

Blue ledger is maintained by P1 and P3, whereas Orange Ledger is maintained by P2 and P4, but
black ledger is maintained by P1, P2, P3 and P4.

The configuration of the channel is maintained by configtx.yaml file. Using this file we generate
channel.tx file and then create a channel using it. Chaincode is installed on all participating peers in a
channel, where as chaincode is instantiated on a channel. A channel contains all the configurations of
communication between peers. It holds the list of peers along with who are endorsing, anchor, leader
peers. When a client communicates with the network using SDK, the SDK first gets a list of all
endorsing peers to which the transaction request needs to send. Using this list the SDK sends
transaction requests to peers. Peers that do participate in multiple channels simulate and commit
transactions to different ledgers. Orderers are also a part of channels.

Identity
Each actors in a network peer, orderer, client, admin have some digital identity in the form of
certificate X.509. This identity is used to verify at each and every step of a transaction, in order to
check if the source of the transaction is from a valid source. In addition to the multitude of
endorsement, validity, and versioning checks that take place, there are also ongoing identity
verification happening during each step of the transaction flow.

Policies
Policies reside in the Channel configuration, but in some cases, it resides in chaincode too. To define,
a policy is a function which accepts as input a set of signed data and evaluates successfully or returns
an error because some aspect of the signed data did not satisfy the policy. More concretely, policies
test whether the signer or signers of some data meet some condition required for those signatures to
be considered ‗valid‘.

There are two types of policies


Signature Policy: It is powerful and specifies policy as a combination of evaluation of rules for MSP
principles. It supports a combination of AND, OR and NOutOf.

Implicit Meta policy: This is less flexible and only valid in context for configuration. It aggregates
the result of evaluating policies deeper in the configuration hierarchy, which are ultimately defined
by SignaturePolicies.
Ledger
It is a current state of the business as a journal of transaction. A ledger consists of two different parts,
a world state, and a blockchain. A ledger is kept at all peers and, optionally, at a subset of orderers.
In the context of an orderer, we refer to the Ledger as to OrdererLedger, whereas in the context of a
peer we refer to the ledger as to PeerLedger. PeerLedger differs from the OrdererLedger in that peers
locally maintain a bitmask that tells apart valid transactions from invalid ones.

Ledger consists of W-World State and B-Blockchain.

The two different part of Ledger are :


World State: Each chaincode has its own World state and blockchain. It is a DB that holds the
current state of the ledger state. These states are expressed as key-value pairs. It holds the fact of a
business object. It can be created, update and delete. When application submits the transaction, and
when it comes to committing the valid transaction, it first commits in the World state and then it is
updated in ledger. State also has a version number. This version number changes each time the state
is updated. When a ledger is created the world state is empty, as any transaction which represents a
valid change in world state is recorded in blockchain too. This means world state can be generated at
any time from the blockchain. The state is maintained by Peers only.

Blockchain: A transaction log that records all the changes that have resulted in the current world
state. Its data structure is different as once written cannot be removed. It is immutable. It is a
historical record of facts about how the objects arrived at the current state. It is structured as a
sequential log of interlinked blocks, where each block contains a sequence of transactions, each
transaction representing a query or update to the world state.

Each block header includes a hash of blocks transactions, as well as a copy of a hash of the previous
block‘s header. Blockchain is always implemented as a file, not like that of the world state which
uses database. The first block in the chain is the genesis block. Though this is a starting point of the
ledger. It does not contain any transaction details. Instead, it contains configuration transaction
details containing initial state of the network channel.
Blockchain, the previous block is referenced by the current block.

Block‘s main sections.

Header: This consists of 3 fields

Block number: An integer starting from 0, the genesis block, and incremented by 1 for each
new block appended.

Current Block Hash: Hash of all transactions contained in a block

Previous Block Hash: Hash of the previous block.

Data: This consists of a list of transactions arranged in order.

Metadata: It contains time when the block was written, certificate, public key and signature
of block writer. A block committer also adds a valid/invalid indicator for every transaction.
This information is not included in the hash of the block

Each Transaction in a block consists of


Header: Contains essential metadata about the transaction. For example, Name of relevant chaincode
and its version.

Signature: Contains cryptographic signature created by the client application. It is used to check if
the transaction details have not been tampered and require application private key to generate it.

Proposal: Encodes input parameters supplied by application to the smart contract which creates
proposed ledger update. When the smart contract runs, this proposal provides a set of input
parameters, which, in combination with the current world state, determines the new world state.

Response: It captures before and after values of world state as Read/Write (RW) set. It is the
output of the smart contract.

Endorsement: This is the list of signed transaction responses from each required organization
sufficient to satisfy the endorsement policy. So here for one transaction proposal, we have multiple
endorsement responses.

Chaincode
A smart contract defines the transaction logic that controls the lifecycle of a business object
contained in the world state. It is then packaged into the chaincode which is deployed to the
blockchain network. Smart contracts are defined within chaincode. Multiple smart contracts can be
defined within a single chaincode. When a chaincode is deployed, all smart contracts available
within the chaincode is made available to the application. We can see that a smart contract is a
domain specific program which relates to specific business processes, whereas a chaincode is a
technical container of a group of related smart contracts for installation and instantiation. Every
chaincode has endorsement policy attached to it, which applies to every smart contract defined
within it. This identifies which organization must sign a transaction generated by Smart contract, in
order to consider it valid. So, in short, every smart contract has an endorsement policy attached to it.
A smart contract can call other smart contracts within a channel or across different channels.
Why enterprise-grade blockchain technologies?

Permissioned blockchains differ from what you‘ll find in Bitcoin or Ethereum. Most enterprise
blockchain applications rely upon real world trust relationships, wherein the goal is to set up a set of
participants in an ecosystem with the needed insurance that the boundaries are flexible enough to
bring in more participants in the future. Participants on a permissioned network are known to one
another, and therefore have an intrinsic interest in participating in the consensus making process.
This community of participants want to share data with a greater degree of security. Without needing
to run proof of work mechanisms, they can resolve more immediate problems than on a public
cryptocurrency blockchain. 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. All businesses participating in a commercial ecosystem need a ledger to contain
a record of transactions. It is vitally important to know that your copy of the ledger is identical to
others‘ in the network.

Short Hyperledger History


Hyperledger launched in 2016 with a technical and organizational governance structure and 30
founding corporate members. Initially, the Hyperledger Technical Steering Committee welcomed
two business blockchain framework codebases into incubation: Hyperledger Fabric, a codebase
combining work by Digital Asset, libconsensus from Blockstream and OpenBlockchain from IBM;
and Hyperledger Sawtooth, developed at Intel‘s incubation group. Of the 70+ open source
organizations the Linux Foundation has launched, Hyperledger holds the distinction as the fastest
growing.

Hyperledger Fabric is an open source, permissioned blockchain framework, started in 2015 by The
Linux Foundation. It is a modular, general-purpose framework that offers unique identity
management and access control features, which make it suitable for a variety of industry applications
such as track-and-trace of supply chains, trade finance, loyalty and rewards, as well as clearing and
settlement of financial assets.

Over the years, as Blockchain technology continues to expand and develop, we‘ve seen the inclusion
of numerous Blockchain frameworks and tools in the Blockchain domain. One such Blockchain
framework is Hyperledger.

Hyperledger came to the limelight in 2016. It is an open-source suite of tools and projects designed
explicitly for streamlining the process of development of Blockchain apps and systems via enhanced
collaboration between businesses and developers working with the DLT (Distributed Ledger
Technology).

Hyperledger Fabric, an open source project from the Linux Foundation, is the modular blockchain
framework and de facto standard for enterprise blockchain platforms. Intended as a foundation for
developing enterprise-grade applications and industry solutions, the open, modular architecture uses
plug-and-play components to accommodate a wide range of use cases.

With more than 120,000 contributing organizations and more than 15,000 engineer contributors
working together, Hyperledger Fabric offers a unique approach to consensus that enables
performance at scale while also preserving the data privacy enterprises demand.

How Hyperledger Fabric works

Hyperledger Fabric is an open, proven, enterprise-grade, distributed ledger platform. It has advanced
privacy controls so only the data you want shared gets shared among the ―permissioned‖ (known)
network participants.

Smart contracts document the business processes you want to automate with self-executing terms
between the parties written into lines of code. The code and the agreements contained therein exist
across the distributed, decentralized blockchain network. Transactions are trackable and
irreversible, creating trust between organizations. This enables businesses to make more informed
decisions quicker — saving time, reducing costs, and reducing risks.

A Hyperledger Fabric network is comprised of unique organizations (or members) that interact with
each other on the network. For example, an organization could be a bank in a network comprised of
financial institutions or a shipping partner in a supply chain network. From a Fabric component
perspective, each organization has a Fabric certificate authority and one or more peer nodes. A
Fabric network also has an ordering service shared by all organizations in the network, and this
component helps process transactions for the network. We will share more details about each of
these concepts and components below:

An organization in a network is defined by a root certificate specific to that organization. Users and
other components (like peer nodes – see below) in that organization are also identified by
certificates, and these certificates are derived from this root certificate, ensuring other organizations
in the network can relate a user to their organization. These certificates also specify the permissions
for each entity on the network, like read-only versus full access on a channel.

A root certificate for an organization is stored in the Fabric certificate authority (CA). The Fabric CA
also issues certificates for users in an organization and handles other related operations. An
enterprise-grade Fabric CA utilizes a variety of components and can deployed in a variety of ways
using a Hardware Security Module (HSM) for root certificate protection.

An organization also creates one or more peer nodes as components to carry out operations on behalf
of that organization. Specifically, a peer node endorses transactions proposed on the network, stores
and executes smart contract code (known as chaincode in Fabric), and stores a local copy of the
ledger for access. Fabric clients typically interact with peer nodes to read the ledger, add new
chaincode to the network, or propose a new transaction. A peer node typically runs on its own
computer, like an Amazon EC2 instance.

Finally, a Fabric network also includes of an ordering service shared by all members of the network.
The ordering service makes sure new transactions on the network are properly ordered in new blocks
and have the proper endorsements. The ordering service then broadcasts a new block of transactions
to peer nodes in each organization. Peer nodes update their local copy of the ledger with this new
block.

Hyperledger Fabric Transaction Flow

1. The transaction flow begins when a client application sends a transaction proposal to peers in each
organization for endorsement.

2. The peers verify the submitting client‘s identity and authority to submit the transaction. Next, they
simulate the outcome of the proposed transaction and if it matches what was expected, it sends an
endorsement signature back to the client.

3. The client collects endorsements from peers, and once it receives the proper number of
endorsements defined in the endorsement policy, it sends the transaction to the ordering service.

4. Lastly, the ordering service checks to see if the transaction has the proper number of endorsements
to satisfy the endorsement policy. It then chronologically orders and packages the approved
transactions into blocks, and sends these blocks to peer nodes in each organization. Peer nodes
receive new blocks of transactions from the ordering service, and then do a final validation for
transactions in that block. Once this is complete, the new block is added to the ledger and the state of
the ledger is updated. The new transactions are now committed.
Benefits of Hyperledger Fabric
Some of the core features of Hyperledger Fabric are
 It has a highly modular, permissioned architecture.
 It features a plug-and-play consensus.
 It has an open smart contract model that imparts the flexibility to implement any desired
solution model (account model, UTXO model, etc.).
 It has a low latency of finality/confirmation.
 It has support for EVM and Solidity.
 It supports queryable data (key-based queries and JSON queries).
 It features multi-language smart contract support for languages like Go, Java, and Javascript.
 It offers a flexible approach to data privacy – it performs data isolation via ‗channels,‘ data
sharing on a need-to-know basis by leveraging private data ‗collections.‘
 It features a flexible endorsement model for achieving consensus across required
organizations.
 It facilitates continuous operations, including rolling upgrades and asymmetric version sup-
port.
 Hyperledger Fabric is a permissioned Blockchain network that is set up by organizations that
come together to build a consortium. The organizations that take part in this consortium are
known as members.

Perhaps the best feature of Fabric is its network-within-network architecture. Although members of
the network come together with the intention of collaborating, since each member organization needs
to retain their private data, they maintain separate relationships within their network. Each member
organization in the network creates a setup for their peers who participate in the network. The
configuration of these peers is done using cryptographic components such as Certificate Authority.
These peers within a network receive transaction invocation requests from the clients inside the
organization. Here, a client refers to any specific application, portal serving particular organization,
or business activity. These clients interact with the Fabric network by leveraging the Hyperledger
Fabric SDK or REST web service. The chaincode (Smart Contract) installed in the peer nodes
triggers the transaction invocation request.

The Fabric network is based on Distributed Ledger Technology (DLT) wherein all the peers maintain
one ledger per channel (that they subscribe to). However, unlike Ethereum, in the Hyperledger
Fabric network, the peers have different roles. The three types of peers are:

Endorser peer – Endorser peers are those nodes that validate the transaction and execute the
chaincode while also simulating the outcome of the transaction. However, these peers do not update
the ledger.

Anchor peer – At the time of channel configuration, an anchor peer or a cluster of anchor peers
are configured simultaneously. These peers receive updates from the endorser peers about the
transactions, and then they broadcast the updates to the other peers in the organization. Since anchor
peers are discoverable, they can be easily discovered by the orderer peer or any other peer.

Orderer peer – Orderer peer functions as the primary communication channel for the Fabric
network. The orderer peer creates the block and delivers it to all the other peers. It is responsible for
maintaining a consistent ledger state across the network.

Hyperledger Fabric is an open source blockchain for business

Innovators in a wide range of industries — finance, banking, healthcare, IoT, supply chain,
manufacturing and technology — are creating open, standardized, enterprise-grade blockchain
frameworks and code bases using Hyperledger Fabric to produce tangible business results.

Enterprise Blockchain, Hyperledger

Blockchain solves a core problem: many organizations want to share data in a distributed database,
but no single owner will be trusted by every user. Blockchain technologies enable direct transactions
in a secure, transparent way, baking trust into systems that operate with the efficiency of a peer-to-
peer network.

For enterprises, adopting this technology is making a foundational change in how they conduct
business. When used as an enterprise software solution, it enables trust where it didn‘t exist before
and removes layers and layers of inefficiency. The technologies are building blocks for core, cross
industry systems that will only scale in size and complexity as well as in effectiveness and value.
Because Hyperledger technologies are open source code bases built with collaborative design and
governance, enterprises have embraced them as trusted infrastructure for building blockchain
solutions.
Hyperledger Fabric: Applications

1. Digital payments
While Hyperledger is a decentralized private Blockchain network that facilitates the secure
transaction between two parties, Fabric is focusing on creating Interledger for the financial sector.
Interledger works on the concept of connecting different ledgers, thereby making it easier to carry
out transactions through the same channels.

The idea behind designing Interledger is to encourage communication between different international
payment systems across the globe. The design is such that any payer in any location of the world
should be able to pay any payee, quickly and with minimal costs, without both parties needing to set
up accounts on a particular global payment service.

2. Diamond tracing
The diamond mining business is a tricky one. During the mining and extraction process, the
diamonds pass through and swap multiple hands. Naturally, if strict measures aren‘t taken, double-
dealing and fraud are commonplace in this trade.

With Hyperledger Fabric, companies involved in diamond mining, including miners, separators,
exporters, and retailers, can form a consortium. By doing so, Fabric can track and record all the
transactions, thus, keeping the entire process transparent.

3. Food supply chain


For long, companies across various sectors have been using Hyperledger to track the processing of
products throughout their manufacturing journey. In the food manufacturing sector, companies use
Fabric to form consortiums to both improve the food supply process and gain the trust of customers.

With Fabric, authorized users can access the food supply chain data whenever they wish. They can
track the entire history as well as the current location of any food item. Also, if any food item is
infected or defected, manufacturers can identify the source of infection or defect and take necessary
measures for the same.

4. B2B contracts
With Hyperledger Fabric, enterprises can codify their business contracts to enable the automation of
contractual agreements between two or more parties safely and securely. While the Blockchain
concept essentially keeps the information as ―public,‖ Fabric‘s network-within-network architecture
ensures that the confidential and sensitive information of B2B contracts remains with the member
organizations.

5. Digital identity
In the face of the growing data breaches and cybercrimes, companies are increasingly becoming
concerned about their data and network security. Since traditional network security systems fail to
provide robust security and reliability, more and more companies are now inclining towards the
Blockchain technology to secure their sensitive data. By using a permissioned Blockchain ledger like
Fabric, organizations can effectively control l when, where, and with whom they share their digital
credentials.

Cloud computing

Cloud computing is the on-demand delivery of IT resources over the Internet with pay-as-you-go
pricing. Instead of buying, owning, and maintaining physical data centers and servers, you can access
technology services, such as computing power, storage, and databases, on an as-needed basis from a
cloud provider like Amazon Web Services (AWS).
Cloud computing transforms IT infrastructure into a utility: It lets you ‗plug into' infrastructure via
the internet, and use computing resources without installing and maintaining them on-premises.

It is on-demand access, via the internet, to computing resources—applications, servers (physical


servers and virtual servers), data storage, development tools, networking capabilities, and more—
hosted at a remote data center managed by a cloud services provider (or CSP). The CSP makes these
resources available for a monthly subscription fee or bills them according to usage.

Compared to traditional on-premises IT, and depending on the cloud services you select, cloud
computing helps do the following:

Lower IT costs: Cloud lets you offload some or most of the costs and effort of purchasing,
installing, configuring, and managing your own on-premises infrastructure.

Improve agility and time-to-value: With cloud, your organization can start using enterprise
applications in minutes, instead of waiting weeks or months for IT to respond to a request, purchase
and configure supporting hardware, and install software. Cloud also lets you empower certain
users—specifically developers and data scientists—to help themselves to software and support
infrastructure.

Scale more easily and cost-effectively: Cloud provides elasticity—instead of purchasing


excess capacity that sits unused during slow periods, you can scale capacity up and down in response
to spikes and dips in traffic. You can also take advantage of your cloud provider‘s global network to
spread your applications closer to users around the world.

The term ‗cloud computing‘ also refers to the technology that makes cloud work. This includes some
form of virtualized IT infrastructure—servers, operating system software, networking, and other
infrastructure that‘s abstracted, using special software, so that it can be pooled and divided
irrespective of physical hardware boundaries. For example, a single hardware server can be divided
into multiple virtual servers.

Virtualization enables cloud providers to make maximum use of their data center resources. Not
surprisingly, many corporations have adopted the cloud delivery model for their on-premises
infrastructure so they can realize maximum utilization and cost savings vs. traditional IT
infrastructure and offer the same self-service and agility to their end-users.

Cloud computing services


IaaS (Infrastructure-as-a-Service), PaaS (Platform-as-a-Service) , and SaaS (Software-as-a-Service)
are the three most common models of cloud services, and it‘s not uncommon for an organization to
use all three. However, there is often confusion among the three and what‘s included with each:
Benefits of cloud computing
Agility
The cloud gives you easy access to a broad range of technologies so that you can innovate faster and
build nearly anything that you can imagine. You can quickly spin up resources as you need them–
from infrastructure services, such as compute, storage, and databases, to Internet of Things, machine
learning, data lakes and analytics, and much more.
You can deploy technology services in a matter of minutes, and get from idea to implementation
several orders of magnitude faster than before. This gives you the freedom to experiment, test new
ideas to differentiate customer experiences, and transform your business.

Elasticity
With cloud computing, you don‘t have to over-provision resources up front to handle peak levels of
business activity in the future. Instead, you provision the amount of resources that you actually need.
You can scale these resources up or down to instantly grow and shrink capacity as your business
needs change.

Cost savings
The cloud allows you to trade capital expenses (such as data centers and physical servers) for
variable expenses, and only pay for IT as you consume it. Plus, the variable expenses are much lower
than what you would pay to do it yourself because of the economies of scale.

Deploy globally in minutes


With the cloud, you can expand to new geographic regions and deploy globally in minutes. For
example, AWS has infrastructure all over the world, so you can deploy your application in multiple
physical locations with just a few clicks. Putting applications in closer proximity to end users reduces
latency and improves their experience.

Types of cloud computing


The three main types of cloud computing include Infrastructure as a Service, Platform as a Service,
and Software as a Service. Each type of cloud computing provides different levels of control,
flexibility, and management so that you can select the right set of services for your needs.

IaaS (Infrastructure-as-a-Service)
IaaS contains the basic building blocks for cloud IT. It typically provides access to networking
features, computers (virtual or on dedicated hardware), and data storage space. IaaS gives you the
highest level of flexibility and management control over your IT resources. It is most similar to the
existing IT resources with which many IT departments and developers are familiar.
IaaS provides on-demand access to fundamental computing resources–physical and virtual servers,
networking, and storage—over the internet on a pay-as-you-go basis. IaaS enables end users to scale
and shrink resources on an as-needed basis, reducing the need for high, up-front capital expenditures
or unnecessary on-premises or ‗owned‘ infrastructure and for overbuying resources to accommodate
periodic spikes in usage.

In contrast to SaaS and PaaS (and even newer PaaS computing models such as containers and
serverless), IaaS provides the users with the lowest-level control of computing resources in the cloud.
IaaS was the most popular cloud computing model when it emerged in the early 2010s. While it
remains the cloud model for many types of workloads, use of SaaS and PaaS is growing at a much
faster rate.

PaaS (Platform-as-a-Service)
PaaS removes the need for you to manage underlying infrastructure (usually hardware and operating
systems), and allows you to focus on the deployment and management of your applications. This
helps you be more efficient as you don‘t need to worry about resource procurement, capacity
planning, software maintenance, patching, or any of the other undifferentiated heavy lifting involved
in running your application.
PaaS provides software developers with on-demand platform—hardware, complete software stack,
infrastructure, and even development tools—for running, developing, and managing applications
without the cost, complexity, and inflexibility of maintaining that platform on-premises.

With PaaS, the cloud provider hosts everything—servers, networks, storage, operating system
software, middleware, databases—at their data center. Developers simply pick from a menu to ‗spin
up‘ servers and environments they need to run, build, test, deploy, maintain, update, and scale
applications.

Today, PaaS is often built around containers, a virtualized compute model one step removed from
virtual servers. Containers virtualize the operating system, enabling developers to package the
application with only the operating system services it needs to run on any platform, without
modification and without need for middleware.

Red Hat OpenShift is a popular PaaS built around Docker containers and Kubernetes, an open source
container orchestration solution that automates deployment, scaling, load balancing, and more for
container-based applications.

SaaS (Software-as-a-Service)
SaaS provides you with a complete product that is run and managed by the service provider. In most
cases, people referring to SaaS are referring to end-user applications (such as web-based email).
With a SaaS offering, you don‘t have to think about how the service is maintained or how the
underlying infrastructure is managed. You only need to think about how you will use that particular
software.
Cloud computing is the on-demand delivery of IT resources over the Internet with pay-as-you-go
pricing. Instead of buying, owning, and maintaining physical data centers and servers, you can access
technology services, such as computing power, storage, and databases, on an as-needed basis from a
cloud provider like Amazon Web Services (AWS).
SaaS—also known as cloud-based software or cloud applications—is application software that‘s
hosted in the cloud and that you access and use via a web browser, a dedicated desktop client, or an
API that integrates with your desktop or mobile operating system. In most cases, SaaS users pay a
monthly or annual subscription fee; some may offer ‗pay-as-you-go‘ pricing based on your actual
usage.
In addition to the cost savings, time-to-value, and scalability benefits of cloud, SaaS offers the
following:

Automatic upgrades: With SaaS, you take advantage of new features as soon as the provider adds
them, without having to orchestrate an on-premises upgrade.

Protection from data loss: Because your application data is in the cloud, with the application, you
don‘t lose data if your device crashes or breaks.

SaaS is the primary delivery model for most commercial software today—there are hundreds of
thousands of SaaS solutions available, from the most focused industry and departmental applications,
to powerful enterprise software database and AI (artificial intelligence) software.

Serverless computing
Serverless computing (also called simply serverless) is a cloud computing model that offloads all the
backend infrastructure management tasks–provisioning, scaling, scheduling, patching—to the cloud
provider, freeing developers to focus all their time and effort on the code and business logic specific
to their applications.

What's more, serverless runs application code on a per-request basis only and scales the supporting
infrastructure up and down automatically in response to the number of requests. With serverless,
customers pay only for the resources being used when the application is running—they never pay for
idle capacity.

FaaS, or Function-as-a-Service, is often confused with serverless computing when, in fact, it's a
subset of serverless. FaaS allows developers to execute portions of application code (called
functions) in response to specific events. Everything besides the code—physical hardware, virtual
machine operating system, and web server software management—is provisioned automatically by
the cloud service provider in real-time as the code executes and is spun back down once the
execution completes. Billing starts when execution starts and stops when execution stops.
Who is using cloud computing?
Organizations of every type, size, and industry are using the cloud for a wide variety of use cases,
such as data backup, disaster recovery, email, virtual desktops, software development and testing, big
data analytics, and customer-facing web applications. For example, healthcare companies are using
the cloud to develop more personalized treatments for patients. Financial services companies are
using the cloud to power real-time fraud detection and prevention. And video game makers are using
the cloud to deliver online games to millions of players around the world.

Azure Blockchain

Azure is quite nicely packing things for building enterprise blockchain application and one among
them is Blockchain Workbench.

Blockchain Workbench offers :-

Manage Identities : Azure Active Directory is used to map user identities to that of Blockchain
Identities(Long Hex Address), This does not mean there is no address created for a user in
blockchain, but it‘s been masked.

Manage User Roles : Manage permission on roles associated with ledgers . It could be tuned
such that only the user who has permission could create contract.

Smart contracts : Workbench utilizes ―State Model‖ to run through different phases of business
logic.

OffChainStorage : All of the data shared over ledger supports offline storage, They are stored in
relational database for data analysis and running DB views.

DataAnalytics : All of data that is published over the chain are stored in relational database thus
enabling metrics utilization for data.

Blockchain Stack : Stack is packed with Corda, Ethereum,Hyperledger.


Transaction Speed : All of the transaction happening over blockhain workbench is fine tuned for
better transaction speed when compared with traditional package we use.

Integration with Existing System : All Blockchain service associated with workbench can be
accessed via API — Swagger service ,making it easier for integration with existing system

Workbench also provide services related to IOT. It comes as a package when creating workbench
solution. They do provide Integrated UI which comes along with the service. The workbench looks
more apt for products who want to build Supply Chain over Blockchain.
The service provided looks more apt for people who wants to run blockchain application without
spending much time in setting-up networks, infrastructures rather getting quickly started.

Architechture of Auzre Workbench Service :


Proof of Work (PoW)

The term ―proof of work‖ was coined by Markus Jakobsson and Ari Juels during a
document published in 1999.It is related to bitcoin. Proof of Work (PoW) may be a
protocol designed to form digital transactions secure without having to believe a 3rd party.
This work builds on previous puzzle solutions. PoW may be a way of verifying current and
past transactions. The work that goes into solving puzzle generates rewards for whoever
solves it called it as mining. In other words, this is often an algorithm that‘s designed to
verify transactions and obtain new blocks added to blockchain. With Proof of Work, miners
are competing to be primary to finish a complex mathematical puzzle which will generate
this new block, meaning that they‘ll be ready to collect some new Bitcoins as a rewards.
 PoW reduces risk of a 51% attack because it‘s very hard to do work.
 No miner will be able to control bitcoin network single handedly Based on Hashcash
PoW system.
 The miners need to give a proof that they have done some work, before proposing a new
block.
 At the same time, each solution is easy for community to verify. This makes it easy to
check all transactions for trustworthiness.
 PoW also sets a limit on how many new blocks of data can be generated. For example,
miners can only create a Bitcoin (BTC) block every 10 minutes.
 It doesn‘t rely on a single third party transactor. This builds a ―trustless‖ and transparent
network.
 Monopoly can increase over time.

Proof of Stake (PoS)


Proof-of-stake is a consensus algorithm that decides on who validate next block, according
to how many coins you hold, instead of miners cracking cryptographic puzzles using
computing power to verify transactions like they do with traditional Proof-of-Work.
 The probability of validating a new block is determined by how large a stake of a
person.
 The validator do not receive a block reward, instead they collect network fees as their
reward.
 Peercoin was first cryptocurrency to implement a full-scale PoS consensus model.
 Handling Monopoly and Power Consumption.11/12

Difference between Proof of Work (PoW) and Proof of Stake (PoS) in blockchain :
S.No. Proof of Work (PoW) Proof of Stake (PoS)
The probability of mining a block is
determined by how much The probability of validating a new block is
computational work is done by determined by how large of a stake a person
1. miner. holds (how many coins they possess).

A reward is given to first miner to The validator donot receive a block reward
solve cryptographic puzzle of each instead they collect network fee as their
2. block. reward.

To add each block to chain, miners


must compete to solve difficult
puzzles using their computer process There is no competition as block creator is
3. power .chosen by an algorithm based on user stake.

Hackers would need to have 51% of Hackers would need to own 51% of
computation power to add malicious all cryptocurrency on network, which is
4. block. practically impossible.

Proof of work systems are less Proof of Stake systems are much more cost
energy efficient and are less costly and energy efficient than POW systems but
5. but more proven. less proven.

Specialized equipment to optimize Standard server grade unit is more than


6. processing power. enough.
Initial investment to buy stake and build
7. Initial investment to buy hardware. reputation.

Bitcoin is most well known crypto


with a Proof-of-Work consensus Some of cryptocurrencies that use different
building algorithm which uses most variants of proof-of-stake consensus are: EOS
well known proof-of-work function (EOS), Tezos (XTZ), Cardano (ADA),
8. is called SHA256. Cosmos (ATOM), Lisk (LSK).

Proof-of-Burn (PoB)

Cryptocurrencies use several methods to validate the data stored on their blockchains, including a method
called "proof of burn."

Proof of burn is the third attempt at creating a system to deter fraudulent activity on a blockchain, while also
improving the functioning of the blockchain as a tool for transactions.
Proof of work and proof of stake are also methods for preventing fraudulent activity on a blockchain; proof
of work is the system employed by the original and most popular cryptocurrency, Bitcoin.

Proof-of-burn (PoB) is a blockchain consensus mechanism with minimal energy consumption,


compared to proof-of-work (PoW). Decentralized platforms employing the PoB method
ensure miners reach a consensus by burning coins. Burning is the process of permanently eliminating
cryptos from circulation. Although the practice reduces inflation, PoB-powered blockchains use it to
validate transactions.

However, unlike in PoW-based decentralized platforms like Bitcoin, Proof-of-Burn uses


virtual mining rigs instead of physical ones to validate transactions. Simply put, PoB miners initiate
coin burns as a way to show their involvement in the network and be allowed to mine.

How many coins a miner burns demonstrates his virtual mining power. Therefore, the more coins,
the higher the power and vice versa. Note that just like in PoW systems, higher mining power
improves the speed of finding new blocks. Consequently, the miner earns more rewards.

On proof-of-burn (PoB) networks, the coin burn process involves sending the coins to an ―eater
address.‖ This address is publicly verifiable but inaccessible. Note that eater addresses are
randomized and they don‘t have private keys.

Proof-of-burn is similar to proof-of-stake (PoS) in the sense that both consensus mechanisms involve
interaction with coins to secure the network. However, unlike PoB, coins locked in PoS systems
aren‘t permanently erased; their holders can still access and sell them in case they want to leave the
network. On the other hand, PoB, unlike PoS, leads to a coin scarcity.

Note that the PoB mechanism is a new type of consensus algorithm. As such, it hasn‘t been proven to
work on large networks yet. Some advantages of the PoB mechanism is that it is sustainable and
its mining process is highly decentralized.

Proof of burn (POB) is an alternative consensus algorithm that tries to address the high energy
consumption issue of a POW system.

POB is often called a POW system without energy waste. It operates on the principle of allowing
miners to ―burn‖ virtual currency tokens. They are then granted the right to write blocks in
proportion to the coins burnt.

Iain Stewart, the inventor of the POB algorithm, uses an analogy to describe the algorithm: burnt
coins are like mining rigs. In this analogy, a miner burns their coins to buy a virtual mining rig that
gives them the power to mine blocks. The more coins burned by the miner, the bigger their virtual
mining "rig" will be.2

To burn the coins, miners send them to a verifiably un-spendable address. This process does not
consume many resources (other than the burned coins) and ensures that the network remains active
and agile. Depending upon the implementation, miners are allowed to burn the native currency or
the currency of an alternate chain, such as Bitcoin. In exchange, they receive a reward in the native
currency token of the blockchain.

You can send out transactions to the network that will burn your own cryptocurrency coins. Other
participants can mine/burn on top of your block, and you can also take the transactions of other
participants to add them to your block. Essentially, all of this burning activity keeps the network
agile, and participants are rewarded for their activities (both burning their own coins and burning
other people‘s coins).

To prevent the possibility of unfair advantages for early adopters, the POB system has implemented
a mechanism that promotes the periodic burning of cryptocurrency coins to maintain mining power.
The power of burnt coins ―decays‖ or reduces partially each time a new block is mined. This
promotes regular activity by the miners, instead of a one-time, early investment. To maintain a
competitive edge, miners may also need to periodically invest in better equipment as technology
advances.

Example of Proof of Burn


POB implementation can be customized. For example, Slimcoin, a virtual currency network that
uses POB, allows a miner to burn coins that not only gives them the right to compete for the next
block but also gives them the chance to receive blocks during a longer time period, for at least a
year.

Essentially, Slimcoin‘s POB implementation combines three algorithms: POW, POS, and the core
POB concept.3 The process of burning coins utilizes POW; the more coins one burns the more
chances one has to mine, thus ensuring POS; and the whole ecosystem follows the POB concept.

Xxxxxxxxxxxxxxxxxxxxxxxxxxx

Proof of Stake (PoS)

The Proof of Stake (PoS) concept states that a person can mine or validate block transactions
according to how many coins they hold. This means that the more coins owned by a miner, the
more mining power they have.

 With Proof of Stake (POS), cryptocurrency miners can mine or validate block transactions based
on the amount of coins a miner holds.
 Proof of Stake (POS) was created as an alternative to Proof of Work (POW), which is the
original consensus algorithm in Blockchain technology, used to confirm transactions and add
new blocks to the chain.
 Proof of Work (POW) mining requires huge amounts of energy consumption to fuel
computational power; Proof of Stake (PoS) gives mining power based on the percentage of coins
held by a miner.
 Proof of Stake (POS) is seen as less risky in terms of the potential for miners to attack the
network, as it structures compensation in a way that makes an attack less advantageous for the
miner.
 Bitcoin, the largest cryptocurrency, runs on proof of work rather than proof of stake.

Understanding Proof of Stake (PoS)


The proof of work (PoW) consensus algorithm requires each node in the Bitcoin network to solve a
problem. The first node that solves the problem is granted permission to add a new block and the
miners are awarded bitcoin for their work. The nodes are the administrative body of
the blockchainand verify the legitimacy of the transactions in each block. Once a block of
transactions has been verified, the data is written into the blockchain.
The proof of stake (PoS) consensus protocol was created as an alternative algorithm seeking to
address the scalability and environmental sustainability concerns surrounding the proof of work
(PoW) protocol.

How Proof of Stake Addresses Mining Power


Mining requires a great deal of computing power to run different cryptographic calculations to
unlock the computational challenges. The computing power translates into a high amount of
electricity and power needed for the proof of work.

In 2015, it was estimated that one Bitcoin transaction required the amount of electricity needed to
power up 1.57 American households per day. That number has only since gone up. According to the
University of Cambridge's Bitcoin Electricity Consumption Index, Bitcoin consumers about 119.87
terawatt-hours per year, which is more than countries like the United Arab Emirates and the
Netherlands consume annually. 1 To foot the electricity bill, miners would usually sell their awarded
coins for fiat money, which would lead to a downward movement in the price of the
cryptocurrency.

The PoW algorithm is widely considered unsustainable, as the energy consumption required to mine
Bitcoin leaves a significant carbon footprint in its wake. Additionally, Bitcoin miners generate large
amounts of electrical waste because the ASIC machines used to mine Bitcoin only serve one
function.2

The Bitcoin Energy Consumption Index estimates that the Bitcoin network consumes 132.5
terawatt-hours per year as of June 29, 2021. Similarly, the Bitcoin Energry Consumption Index
suggests that a single bitcoin transaction is 2021 is equivalent to the power consumption of an
average U.S. household over 57.25 days, a stark contrast to the 2015 power consumption estimate
of 1.57 days.3 Bitcoin miners generally earn their revenue in bitcoin, but often pay their operating
expenses like electricity and rent with fiat currency. As a result, the currency exchange activity of
miners has a profound effect on the market dynamics of cryptocurrency pricing and profitability 4 .

According to a June 2021 study, the Bitcoin network's power requirements have surged because the
rising prices of a single bitcoin have made mining a far more valuable proposition than ever before.
The prices have enticed the participation of Bitcoin miners, incentivizing them to spend more on
hardware and electricity to compete in the block creation process.5

The PoS algorithm, however, seeks to solve this problem by effectively substituting staking for
computational power, whereby an individual's mining power is limited to the percentage of
ownership staked. This means a drastic reduction in energy consumption and the manufacture of
single-purpose hardware, like the ASIC machines because they are no longer needed for their
computing power.

The proof of stake (PoS) seeks to address this issue by attributing mining power to the proportion of
coins held by a miner. This way, instead of utilizing energy to answer PoW puzzles, a PoS miner is
limited to mining a percentage of transactions that is reflective of their ownership stake. For
instance, a miner who owns 3% of the coins available can theoretically mine only 3% of the blocks.
BlocBox Protocol

The Singapore-based company also announced its partnership with cryptocurrency chat-app
Consentium, and its plans to build a universal maritime ecosystem.

BlocBox, the Singapore-based blockchain developers for maritime applications, is set to launch its
Initial Exchange Offering (IEO) on 18 October 2019. The IEO token, BlocX (BLX), will be
launched first on Exonium Exchange and will be key to BlocBox‘s plans in building a blockchain-
based universal maritime ecosystem.

Along with the launch of its IEO on Exonium Exchange, BlocBox also announced its partnership
with Consentium. The partnership extends the role of the social chat-app and cryptocurrency wallet,
to be the official communication and content provider for BlocBox as it looks to leverage on
Consentium‘s large network of investors and traders.

Unboxing the Potential of Blockchain for Maritime

Ninety percent of trade worldwide is conducted through shipping. Despite its strong growth, the
maritime industry has been facing persistent challenges to its future as the industry struggles with
growing manpower demands and cumbersome transaction fees and processes. BlocBox aims to
solve this by utilizing blockchain technology to power a universal maritime ecosystem which will
allow users to access news, content, entertainment and communications as well as facilitate
payment transactions in international maritime trade.

With this development, the maritime cryptocurrency will be used by more than 1.6 million seafarers
and also many other maritime stakeholders.

―The appropriate use of Blockchain technology will transform how these industries operate‖, says
Kenny Koh, CEO of BlocBox. ―The proposed structure is flexible and highly customizable to the
requirements of the participants in the BlocBox network. The immutable nature of Blockchain
technology minimizes likelihood of theft and increases transparency in transactions. BlocBox plans
to revolutionize the entire maritime infrastructure by leveraging on key technologies with
Blockchain as the underlying principle‖.

The Future of BlocBox

As it looks towards the maturity of its universal maritime ecosystem, BlocBox‘s infrastructure will
allow the implementation of data analytics and Artificial Intelligence (AI) as the next step in its
roadmap. The implementation of such technologies will allow for the optimization of fuel
consumption, assisting of remote maintenance for vessels and autonomous vessel navigatio n,
resulting in lower operating cost and increased safety and transparency in the industry. The
company is also planning on expanding its operations internationally, looking into the Thailand,
Indonesian, Taiwan, Korean and Japanese markets.

Partnership with Consentium

The partnership with Consentium, a chat-app with an integrated cryptocurrency wallet, enables
seafarers with access to a crypto-wallet to store their BLX tokens and use the social platform in
their voyages. With this, millions of seafarers and maritime stakeholders will have communication
access through the chat-app. The next-generation social media platform supports multi
cryptocurrencies and is attractive to both new and experienced traders. The chat-app also includes
news blasts and peer-to-peer transaction avenues.

Jeremy Khoo, Group Chief Strategy Officer at Consentium states, ―The Consentium ecosystem
makes trading more meaningful and engaging as a community. Users will gain accessibility to a
strong network of fellow traders, high security and quick liquidity. BlocBox‘s unique positioning
will bring new traders into the holistic ecosystem, while benefiting from the expanding list of
cryptocurrency services in the chat-app. BlocBox also has geographical advantage being based in
Singapore, which is one of the busiest ports in the world, as Consentium has a strong community of
members in Asia‖.

You might also like