Introduction To Block Chain Unit 3 Lecture Notes
Introduction To Block Chain Unit 3 Lecture Notes
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.
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.
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.
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.
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‘.
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.
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 number: An integer starting from 0, the genesis block, and incremented by 1 for each
new block appended.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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‖.
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.
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‖.