Book Image

Oracle Blockchain Quick Start Guide

By : Vivek Acharya, Anand Eswararao Yerrapati, Nimesh Prakash
Book Image

Oracle Blockchain Quick Start Guide

By: Vivek Acharya, Anand Eswararao Yerrapati, Nimesh Prakash

Overview of this book

Hyperledger Fabric empowers enterprises to scale out in an unprecedented way, allowing organizations to build and manage blockchain business networks. This quick start guide systematically takes you through distributed ledger technology, blockchain, and Hyperledger Fabric while also helping you understand the significance of Blockchain-as-a-Service (BaaS). The book starts by explaining the blockchain and Hyperledger Fabric architectures. You'll then get to grips with the comprehensive five-step design strategy - explore, engage, experiment, experience, and in?uence. Next, you'll cover permissioned distributed autonomous organizations (pDAOs), along with the equation to quantify a blockchain solution for a given use case. As you progress, you'll learn how to model your blockchain business network by defining its assets, participants, transactions, and permissions with the help of examples. In the concluding chapters, you'll build on your knowledge as you explore Oracle Blockchain Platform (OBP) in depth and learn how to translate network topology on OBP. By the end of this book, you will be well-versed with OBP and have developed the skills required for infrastructure setup, access control, adding chaincode to a business network, and exposing chaincode to a DApp using REST configuration.
Table of Contents (8 chapters)

Centralized versus distributed ledgers

This section highlights centralized and decentralized ledgers and distributed ledgers, and outlines the differences between them.

The following diagram shows different types of systems:

Types of systems and ledgers

Throughout this section, we will refer to the preceding diagram to understand the layout of various types of ledgers. Before we drill into the differences between centralized and distributed ledgers, let's understand the different types of system.

From the perspective of control, there are two types of systems—centralization and decentralization systems:

  • Centralized system: One entity controls the entire system, where an entity can be a person or an enterprise.
  • Decentralized system: In a decentralized system, there could be multiple entities controlling the system. There is no single point of control, and the control is shared between various independent entities.

From the perspective of location, there are two types of systems—centralized and distributed systems:

  • Centralized system: All the constituting parts of the system, such as servers, ledgers, and so on, are co-located and exist at the same location
  • Distributed system: All the constituting parts of the system, such as servers, ledgers, and so on, are NOT co-located and exist at different locations

These categories of the system lead to the following variants of the system:

  • Distributed yet centralized system: Distributed yet centralized system is the category of system wherein the system is distributed, from the location's perspective, yet the system is controlled by a central authority or central entity. For example, cloud service providers offer various services such as compute, storage, SaaS, PaaS, IaaS, and so on. These services are offered via servers and databases that are distributed. However, the entire system is controlled by the cloud service provider. Such a system can be termed a distributed yet centralized system.
  • Distributed system: Distributed systems, from the control's perspective, are decentralized, whereas from the location's perspective, they are distributed. This means that no single entity is the owner or authority of the system and the system doesn't have just one location—it is widely distributed. DLT and its type, such as blockchain, are such distributed systems, where control is not with one entity. Hence, no single entity can alter or modify the system (decentralized). Also, DLT and blockchain are based on the P2P network, where nodes (peers or participants) are independent and globally spread (distributed).
A distributed system is a superset of a decentralized system, and is based on a P2P network.

Centralized ledgers

The double-entry accounting system we've discussed so far highlights an accounting system that has a centralized ledger. Anything with a financial value is recorded in journals and posted to ledgers. These ledgers are just like the central repository of the posted transactions, and they are the backbone of any organization.

However, centralized ledger systems have various drawbacks as well. For example, banks control the transactions that are posted into the bank's ledgers and they maintain total control over bank statements. In this case, they can penalize you at any given time and can transact money from your account at any given time. If such a centralized institute has malicious intent, then the consequences could be manifold; they could close down their business without prior notification, which prohibits any further transactions. These examples are used mostly by the blockchain evangelists who lean more toward complete decentralization of trust authorities.

Let's look at a more viable challenge, pertaining to banks. Double-entry mandates the need for each bank to maintain its own ledger to reflect their perspective of truth, and as more banks are transacting with each other, they need to reconcile their version of the truth to derive a single version of the truth. Banks today spend time, money, and resources to ensure a consensus over the single truth.

Obviously, they have their ledger and hence their own system, which allows the financial industry to avoid any chance of a single point of control and single point of failure. In addition, it becomes more interesting as a customer opens an account with a bank and puts his/her money with a level of trust in that banking institute. Now, the onus is on the banking institution to safeguard your money and information. On the other hand, the bank will invest a lot of time, money, resources, and effort into building and maintaining a system and then spend even more time, money, resources, and effort on integrating and checking with other banking institutes to ensure that their mastered system is in consensus with the other banking institutes' system to reach a common truth.

If you analyze this closely, you will see that each bank's ledger is actually replicating the functionality of the other banking institutions. Now, what if one of the banking institute's systems fail? Is this going to lead to a situation where reconciliation is not possible? Doesn't this sound more like a single point of failure? The answers lie in the distributed ledger discussed in the following section and throughout the book.

Distributed ledgers

Across the world, in the economical, legal, political, and institutional systems, the key elements are transactions, contracts, and documents. They dictate the relationship between countries, enterprises, organizations, communities, and individuals and, most importantly, they are perceived to offer trust. Interestingly, these have not joined the digital transformation to a greater extent and for the greater cause. So, what is the solution? Distributed ledgers and DLT, along with blockchain, offer the solution to such critical challenges. In this section, we will explore more about distributed ledgers and DLTs.

In a distributed ledger, there is no central authority or a central administrator. It is an asset database that is shared over the network, where each party on the network has an identical copy of the ledger. These assets can be financial, legal, and electronic assets. Changes to the value of these assets are reflected throughout the network, and each copy of the ledger is appended.

Many organizations, governments, and institutes use a central database of the ledger, which we discussed in the Centralized ledgers section. A centralized ledger needs a central authority to be trusted by transacting parties; however, in a distributed ledger, the need for a third party is omitted, which is one of the gravitational forces behind the attraction to DLT. Here, I have quietly used the term DLT because a distributed ledger can be pronounced as a shared ledger or a DLT, and they are one and the same.

What's disruptive about a DLT is that the ledger database is distributed, spread on all of the nodes or computing devices across the network, and each node has an identical copy of the ledger, where nodes update themselves independently. All of the participating nodes reach an agreement to establish a single truth (true copy) for the ledger through a process called consensus. Once a consensus is reached, the distributed ledger is updated automatically and the latest truth (true agreed copy) of the ledger is appended on each node separately. While reading this paragraph, you might think about the reconciliation process of banks to establish trust and an agreement on the ledger. With DLT, trust (reconciliation) and consensus (agreement) happen seamlessly and automatically.

What we just found out is that there is no central authority in the previous story to maintain the distributed ledger. DLT empowers systems to reduce the dependencies on various central authorities such as banks, lawyers, governments, regulatory offices, and third-party authorities. Distributed ledgers omit the need for a central authority to validate, authenticate, and process transactions. Transitions on DLT are timestamped and have a cryptographic unique identity, where all records in question are available for the participants to view, and this ensures that the verifiable and auditable history of the transaction is stored immutably.

In the decentralized distributed ledger, the transaction is replicated to the distributed ledger, which means all the participating nodes' copies of the ledger are appended; however, there is no central single database. It is the network that is decentralized. Such a system needs a decentralized consensus as there is no single point of contract, or single authority or party. Hence, to ensure trustlessness, consensus is a must. In a traditional database system, a single party acts on behalf of the transacting clients to modify the state of the system. However, in a distributed ledger, any party can record, and the protocols and algorithms govern the posting of transactions on the network's ledger.

The following table lists some of the differences between a centralized ledger and a distributed ledger:

Centralized ledger

Distributed ledger

Reconciliation is required (both internal and external).

Reconciliation is not required; however, a consensus is required to reach an agreement.

There's no restriction on DB operations.

It's append-only.

There's a single point of failure.

It's distributed; hence, there's no single point of failure.

There's a single point of contact.

It's decentralized; hence, there's no single authority.

There are third parties, middlemen, and gatekeepers.

It's P2P. There's no central party, and appending to the ledger is governed by the consensus.

Backup and disaster recovery are required.

Resilience and availability increases as more and more participating nodes get to the network.

Actions can be performed on behalf of someone.

There's cryptographic authentication and authorization.

NA

It's immutable as the data added to the ledger stays immutable.

NA

There's direct interaction of the nodes, allowing initiation of direct transactions of assets such as currency, real assets such as land titles or documents, and so on.

Equipped with the knowledge of ledgers, let's now dive into DLT and blockchain and understand the difference between them.