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)

Blockchain actors

An entity that can participate in an action or in a blockchain network is known as an actor, which is an abbreviation of blockchain actor. In this section, we will cover various actors involved in blockchain. However, before we get into the details, let's briefly revisit the private blockchain. The previous section covered various types of blockchain networks. However, in this section, we will focus on defining actors primarily for private blockchain networks.

The following table lists some of the main properties of private blockchain networks that are essential to understanding blockchain actors:

Characteristics

Private and Permissionless

Private and Permissioned (consortium)

Owner

Single owner

Consortia or a founder organization

Consensus

Managed by single owner

Managed by a consortium (set of designated participants)

Read transaction

Any node

Only permissioned nodes

Network

Distributed

Decentralized

Private blockchain is meant to solve enterprise business cases, and this evolution is gaining momentum. Private and permissioned is a consortium blockchain that works across various organizations; however, it has a controlled user group. Participants, although not fully trusted, are identifiable (have identities). Like-minded enterprises or enterprises trying to chase similar goals can form a consortium to address business needs, improve trust, transparency, and accountability, and enhance existing business processes and workflows.

Private and permissionless blockchains, are not truly distributed. They are decentralized and are fully controlled by a single owner. As it is owned and operated by a single authority, consensus that's established in such a network cannot be trusted as the power lies with the central authority to choose users and influence consensus. A consortium blockchain (private and permissioned blockchain) is owned by a founder organization, but managed by a consortia (set of participants from different organizations). Consensus can be trusted as various organizations participate in it and they have a collective interest in the outcomes.

A consortium offers many benefits, such as the following:

  • Not every enterprise or organization needs to build solutions to leverage blockchain. They can share the business network and build it together, which is cost-effective and less time-consuming.
  • Smaller organizations can join the league and join the network on a pay-per-use basis and yet fully scale their business on blockchain.
  • Member organizations of the consortia need to identify the use cases that reflect their common problems. They can then define a governing body and build solutions together to meet business needs.
  • The identities of the participants are known, which enhances the level of trust.
  • Consensus cannot be influenced as consortium members manage the blockchain network.
  • The blockchain network access control and features of the blockchain network can ensure the privacy of data and enhanced security.
  • Licenses to participate are issued by regulatory authorities of the blockchain network.
  • Access to transaction data and knowledge about transactions is limited to permissioned participants for particular transactions.
  • Consortia are resilient and offer high security, performance, scalability, and transactional throughput.

So far, we've discussed various private blockchain networks and the benefits of a consortium. Now, let's get back to the main topic of this section—actors. The following figure shows various actors for private blockchain network:

Blockchain actors

Each actor has a defined and key role to play in the development, operation, and maintenance of the blockchain network. However, the most challenging work lies with the architect.

The architecture of designing, building, maintaining, and using blockchain applications involve various actors, which are discussed as follows:

  • Process owner: Process owners are subject matter experts on business processes. They are key to identifying business challenges and helping define common problems, which become the base to form a consortium. Process owners are key participants for defining use cases. They are subject matter experts on as-is processes, define the to-be processes from a functional standpoint, and lay the foundation for the blockchain business network.
  • Blockchain regulatory authority: They are the primary authority of the business network (founder organization with members from the consortium). They issue licenses (certificates) to participants and usually have broader access to the network. They define access controls, issue certificates, and so on. They have functional knowledge about the processes and they ensure the correct participants get access to the relevant parts of blockchain network. They are key in defining the consortium, as private and permissioned blockchain networks are based on identifiable participants with defined access controls. Along with architects, they are responsible for identifying and defining the following:
    • Funding for the establishment, development, and operations of the consortium and blockchain network
    • Choosing the infrastructure for the blockchain network
    • Access control and participation of the actors and end users in the blockchain network
    • Defining and establishing trust authorities
    • Defining governance for the programs that will lead to the development of the blockchain network
    • Establish ROI for the consortium and its members
    • Define tracking, tracking of the program, and so on
  • Blockchain architect: They should have a background in business analysis and should have an understanding of technology. A blockchain architect should have knowledge about their peers, consensus, security, chaincode, integration, ledgers, and applications. They, along with the authority, define and decide on the usage of consensus algorithms, standards, best practices, and so on for the consortium and its solutions. A blockchain architect is responsible for the following activities:
    • Delves into identifying use cases
    • Analyzes and chooses a specific blockchain solution for the given use case(s)
    • Defines which blockchain/DLT solution fits the gaps
    • Offers estimates, plans risk, and defines milestones
    • Architecting and designing the solution
    • Works in tandem with infrastructure, blockchain operator, and development teams for the correct realization of the blockchain solution
    • Defines reuse, auditability, and monitoring of the blockchain network
    • Analyzes and quantifies the performance, resilience, security, scalability, and transactional throughput of the blockchain network
    • Defines the versioning strategy, governance model, and production readiness of the blockchain network
  • Blockchain solution providers: A consortium can opt for a BaaS (cloud) offering as blockchain business network's infrastructure. They can also set up an on-premise solution. Blockchain architects, along with the blockchain authority, can decide on the infrastructure. Once decided, the blockchain solution provider (either cloud or on-premise) can take care of the setup, management, maintenance, and support for the infrastructure of the blockchain network. The blockchain solution providers are the team from the blockchain cloud service providers who are responsible for creating and maintaining the blockchain network, offering security solutions, and providing ease of deploying and maintaining smart contracts or chain codes.
  • Blockchain network operators: They define the business network, configure the business network, access control, and monitor the business network. They focus on the operational part of the blockchain business network. They mostly care about peers, consensus, and security of the blockchain network and are not concerned about smart contract and user interface codes.
  • Blockchain developer: Blockchain developers focus on code (chaincode, UI, and analytics). They also take care of integration of blockchain network's chaincode with other applications, data sources, events, and ledgers. They are transparent to the working of blockchain network, consensus, security, peers, and orderers. However, they should understand the fundamentals of blockchain. Anyone with an acumen to code in any high-level programming language and who has a basic understating of blockchain/DLT technology can execute the following responsibilities as a blockchain developer:
    • Develop smart contracts or chaincode
    • Deploy and test smart contracts or chaincode
    • Use APIs in code to interact with blockchain networks
    • Develop, deploy, and maintain dApps and user interfaces as web applications for smart contracts
  • Blockchain end user: With access to dApps web applications, end users are capable of consuming blockchain smart contracts via a UI or web application. This allows the end users to execute transactions against smart contracts, and yet the underlying blockchain technology remains transparent to them.
  • Blockchain auditors: As the consortium includes various enterprises and discrete parties, it has its own business complexities. These complexities can lead to disputes. Hence, a consortium must have arbitrators to settle disputes. This means there is a need for an arbitration function for a consortium, which takes care of the participation contract (via a legal document) between members of the consortia. For now, the CPA authorities will handle these legal documents, until the time they turn into smart contracts (chaincode) and act as smart arbitrators. A consortium can engage smart contract (chaincode) auditors to verify the smart contracts and verify the interface and integration of smart contracts with external applications and data sources. Such independent auditors will offer assurance to the consortium and help surface vulnerabilities. Also, it allows regulatory bodies such as SEC to have a read-only pull on data so that they can identify transaction details among the universe of available information.