O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Blockchain across Oracle

Book Description

Learn what the Blockchain is, what the differences between available blockchain platforms are, how to work with Oracle's Blockchain Cloud Service, and how Blockchain can change the direction of your Oracle work and the focus of your customers.

Key Features

  • A professional orientation of the Blockchain for Oracle developers and customers
  • Learn what the Blockchain is and how it will affect for you and your customers
  • Learn how blockchain will disrupt traditional cross-organizational applications
  • Implement your own Blockchain on Oracle and develop your first smart contract
  • Industry directions of the Blockchain to help you decide where to develop your skills

Book Description

Blockchain across Oracle gives you the professional orientation to Blockchain that you need as an Oracle developer in today's changing world. Written and prepared for you by Oracle Developer Champion Robert van Molken, this book gets you up to speed with the details of the Blockchain - core concepts, how to implement Oracle's Blockchain Cloud Service, industry implications for the Blockchain, and how the Blockchain will affect your Oracle customers.

Robert van Molken introduces you to the history and concepts of the Blockchain. You'll really get to understand the Blockchain inside and out, as an Oracle developer or solution architect. You'll understand the Blockchain flow, and how the hashes and chains create a new decentralised paradigm for you as an Oracle developer. You'll gain insights into how the Blockchain affects Oracle developers and customers in this modern and disruptive era. You'll see how the Blockchain concepts work in this new world where Assets, Transactions, Security, and Privacy, can all be sustained across a decentralized system for your customers.

Then you'll find a detailed look at the cutting-edge Oracle middleware solutions. You'll learn about Hyperledger Fabric, the opensource Blockchain framework used by Oracle as its core, and how to set up your own Oracle Blockchain Network. You'll design and develop a smart contract, and learn how to run it on the Oracle Blockchain Cloud Service.

The final part of the book looks at how the Blockchain will affect your customers across various industry sectors. By studying industry trends in the financial services sector, healthcare industry, and the transport industry, you'll discover how the options and possibilities for you and your clients are being transformed by the Blockchain across Oracle. You'll complete this professional orientation by looking at Blockchain trends and future directions.

What you will learn

  • A full introduction to the Blockchain
  • How the Blockchain affects Oracle developers and customers
  • Core concepts including blocks, hashes, and chains, assets, transactions, and consensus
  • How to work with Oracle Cloud to implement a Blockchain Network
  • Design, develop, and run smart contracts on the Oracle Blockchain Cloud Service
  • Blockchain security and privacy for Oracle developers and clients
  • Public and private Blockchain decisions for Oracle architects and developers
  • Industry analysis across finance, governance, and healthcare sectors
  • Industry trends and the future of the Blockchain technology

Who this book is for

This book is a professional orientation for all Oracle developers, solution architects, and decisions makers involved in Oracle system and future development.

Downloading the example code for this book You can download the example code files for all Packt books you have purchased from your account at http://www.PacktPub.com. If you purchased this book elsewhere, you can visit http://www.PacktPub.com/support and register to have the files e-mailed directly to you.

Table of Contents

  1. Title Page
  2. Copyright and Credits
    1. Blockchain across Oracle
  3. Packt Upsell
    1. Why subscribe?
    2. Packt.com
  4. Contributors
    1. About the author
    2. About the reviewers
    3. Packt is searching for authors like you
  5. Preface
    1. History of Blockchain
    2. What this book covers
      1. Part I: Implications of Blockchain
      2. Part II: Blockchain Core Concepts and Terminology
      3. Part III: Implementing a Permissioned Blockchain
      4. Part IV: Real-World Industry Case Studies
    3. How I have approached this book
    4. Who this book is for
    5. To get the most out of this book
      1. Download the example code files
      2. Download the color images
      3. Conventions used
    6. Get in touch
      1. Reviews
  6. Part I
  7. An Introduction to the Blockchain
    1. What is a blockchain?
    2. How does a blockchain work?
    3. What is the architecture behind the blockchain?
      1. The data layer
        1. Data model, transactions, and chain structure
        2. Cryptographic protocol, hash functions, and digital signatures
        3. Merkle tree
        4. Participants
      2. The network layer
        1. Peer-to-peer network and broadcast of data
        2. Relay network
        3. Local validation
      3. The consensus layer
        1. Sophisticated consensus mechanisms
        2. Lightweight consensus mechanisms
        3. Permissioned consensus
        4. Sharding consensus
      4. The incentive layer
        1. Rewards distribution and transaction fees
      5. The application layer
        1. Digital ledger
        2. Smart contract
        3. RESTful and command-line APIs
        4. Decentralized applications
    4. Differences between public and private blockchains
    5. How secure and private are blockchains?
    6. What kind of applications can I run on blockchains?
      1. Other decentralized applications
    7. Summary
  8. How Blockchain Will Disrupt Your Organization
    1. Why is blockchain a disruptive technology?
    2. What is Oracle's strategy?
    3. What is the blockchain cloud service?
    4. What are Oracle's competitors doing?
    5. What are the disruptive effects on individuals?
      1. Database administrator
      2. Application integration developer
      3. Frontend developer
    6. Summary
  9. Part II
  10. Blockchain 101 - Assets, Transactions, and Hashes
    1. Assets
    2. Transactions
      1. Managed by a peer-to-peer network
      2. What does a transaction look like?
      3. How can you send a transaction?
    3. Hashes
      1. The types of hash functions used by blockchain
    4. Summary
  11. Blockchain 101 - Blocks, Chains, and Consensus
    1. Blocks
      1. Breaking down blocks
      2. Hashing a block
    2. Chains
      1. Blockchain
        1. Distributed and decentralized
        2. Forks
          1. Orphaned and stale blocks
          2. Soft fork versus hard fork
      2. Sidechains
        1. The underlying mechanism
    3. Consensus
      1. Methods of reaching consensus
        1. Proof-of-work
        2. Practical byzantine fault tolerance
        3. Proof-of-stake
        4. Delegated proof-of-stake
    4. Summary
  12. Blockchain 101 - Security, Privacy, and Smart Contracts
    1. How secure is the blockchain?
      1. Public versus private blockchains
      2. Unexpected security risks
      3. Security starts at the network architecture level
      4. Importance of the consensus protocol
      5. Bugs in the blockchain code
      6. Manage asset security
        1. Difference between hot and cold wallets
        2. Software wallets (desktop and mobile)
        3. Online or web wallets
        4. Physical or paper wallets
        5. Hardware wallets
      7. Access control
      8. Reversibility of transactions
    2. Maintaining privacy on the blockchain
      1. Maintaining today's level of privacy
      2. Secure multi-party computation
      3. Zero-knowledge proofs
      4. Permissioned blockchain
    3. Making sense of smart contracts
      1. What is a smart contract?
      2. How smart contracts work
      3. Examples of smart contracts
        1. Code example of a smart contract
    4. Summary
  13. Understanding the Blockchain Data Flow
    1. Overview of the blockchain flow
      1. Basic flow of a transaction
      2. Architecture layers
    2. Architectural thoughts and considerations
      1. Submitting transactions
      2. Knowing the data structure
      3. Broadcasting and verifying data
      4. Combining TXs in a block structure
      5. Validating and verifying a block
    3. Summary
  14. Public Versus Permissioned Blockchains and their Providers
    1. What types of blockchain currently exist?
      1. Public blockchains
        1. Advantages
        2. Challenges
      2. Consortium blockchain
        1. Advantages
        2. Challenges
      3. Private blockchains
        1. Advantages
        2. Challenges
    2. Public blockchain providers
      1. Ethereum
      2. NEO
      3. IPFS
      4. Blockstack
    3. Private/consortium blockchain providers
      1. Hyperledger Fabric
      2. Oracle blockchain cloud service
      3. R3/Corda
      4. MultiChain
    4. Summary
  15. Part III
  16. Ethereum Versus Hyperledger
    1. Two leading platform frameworks
      1. Ethereum
      2. Hyperledger fabric
    2. Mode of operation and participation
      1. Ethereum
      2. Hyperledger fabric
    3. Consensus algorithm
      1. Ethereum
      2. Hyperledger fabric
    4. Built-in cryptocurrency
      1. Ethereum
      2. Hyperledger Fabric
    5. Smart contracts
      1. Ethereum
      2. Hyperledger Fabric
      3. How to develop a smart contract
        1. Ethereum 
        2. Hyperledger fabric
      4. Where do your smart contracts run?
        1. Ethereum
        2. Hyperledger Fabric
    6. Summary
  17. Building a Next-Generation Oracle B2B Platform
    1. Introducing the business case
    2. Traditional cross-organizational applications
      1. Introducing Oracle B2B
      2. Introducing Oracle SOA Suite
      3. Implementing the business case on a B2B network
        1. What is the common application architecture?
        2. How do partners interact with each other?
        3. In-depth look at interactions
          1. New accident report
          2. Insurance claim request
          3. Repair order request
      4. Five implementation challenges and/or pitfalls
        1. Reaching a consensus about the interactions
        2. Configuring CPAs can be a redundant activity
        3. Partners need to implement the same business rules
          1. Are all rules implemented?
          2. Room for interpretation
          3. Use of different programming languages
        4. Different approaches to processing and storing data
        5. Offline reconciliation after uncompleted transactions
    3. Blockchain can solve these challenges
      1. How does it solve the traditional B2B challenges?
        1. Taking out the middleman
          1. Messages are distributed to partners in the blockchain
          2. Configuring redundant CPAs is a thing of the past
          3. Solves offline reconciliation between partners
          4. The impact it has on the TTP
        2. Defining interactions is easier and more democratic
        3. One smart contract to rule them all
        4. Data is stored in the same way on each network peer
      2. Implementing the business case on a blockchain
        1. What is the blockchain platform architecture?
        2. Smart contract interactions
        3. In-depth look into interactions
          1. New accident report
          2. Insurance claim request
          3. Repair order request
    4. Blockchain – the next-generation B2B platform
    5. Summary
  18. Introducing the Oracle Blockchain Cloud Service
    1. Why did Oracle pick Hyperledger Fabric?
    2. What component roles does Fabric fulfil?
      1. Membership services
      2. Consensus services
        1. The peer and ordering service architecture
        2. The distributed ledger and world state
        3. Channels for limiting access and visibility
        4. Peer gossip data dissemination protocol
        5. Consensus protocol
          1. Endorsement
          2. Ordering
          3. Validation (commitment)
      3. Chaincode services
    3. Why did Oracle build a managed platform?
    4. What component roles does OBCS fulfill?
      1. Infrastructure and PaaS services
      2. Blockchain nodes and containers
        1. OBCS peer node
        2. OBCS orderer node
        3. OBCS MSP
      3. Data services
        1. OBCS world state and history databases
        2. OBCS – object store integration
      4. Administration services
      5. REST gateway (APIs)
    5. Summary
  19. Setting Up Your Permissioned Blockchain
    1. Summarizing the problem
    2. Introducing the solution
    3. Provisioning the environments
    4. First look at the administrative console
      1. Blockchain Dashboard
      2. Blockchain Network
      3. Blockchain Nodes
      4. Blockchain Channels
      5. Blockchain Chaincodes
    5. Adding the member organizations
      1. Export member organization's certificates
      2. Export member organization's peer nodes
      3. Import certificates of member organizations
      4. Import peer nodes of member organizations
      5. Export orderer settings from founder
      6. Import orderer settings at member organizations
    6. Setting up a private channel
      1. Create a new channel as the founder
      2. Adding member peers to the channel
    7. Summary
  20. Designing and Developing Your First Smart Contract
    1. The proposed application
    2. Model-first design approach
      1. Designing the participants and base assets
      2. Designing the accident assets and transactions
      3. Designing the repair assets and transactions
      4. Designing the insurance assets and transactions
    3. Setting up the necessary development tools
      1. Installing cURL
      2. Installing Docker and Docker Compose
      3. Installing the Go programming language
        1. Step 1 – Installing Go
        2. Step 2 – Setting environment paths
        3. Step 3 – Setting up your Go workspace
      4. Downloading platform-specific binaries
      5. Installing Visual Studio Code (IDE)
    4. Programming the smart contract
      1. Setting up a workspace in VSCode
      2. Installing missing Go packages and commands
      3. Programming the actual chaincode
        1. Programming the initial chaincode skeleton
        2. Adding the data model objects
        3. Programming the ReportAccident transaction
    5. Summary
  21. Deploying and Testing Your First Smart Contract
    1. Deploying your smart contract 
      1. Installing chaincode on the founder's peers
      2. Activating the chaincode on a channel
      3. Installing a new version of our chaincode
      4. Installing chaincode on member organizations
    2. Exposing smart contracts using the REST proxy
      1. Exposing chaincode using the Advanced method
      2. Exposing chaincode using the Quick method
    3. Testing a smart contract using a REST client
      1. Installing a client to call the REST proxy's API
      2. Importing and testing chaincode API requests
        1. Available REST proxy APIs
        2. Getting the version of the OBCS API
        3. Overview of chaincode interactions
        4. Setting up all of the required demo assets
        5. Reading asset data to check the current values
        6. Reporting a new accident
        7. Updating the accident report
        8. Issuing a new insurance policy
        9. Requesting a quote for vehicle repairs
        10. Offering a repair quote with estimates
        11. Sending an insurance claim to the driver at fault
      3. Monitoring executed transactions
    4. Summary
  22. Configuring, Extending, and Monitoring Your Network
    1. Extending your blockchain network
      1. Creating a certificate file as a Fabric participant
      2. Importing the certificates file as founder
      3. Adding a member to an existing channel as founder
      4. Adding a member to chaincode endorsers as founder
      5. Adding yourself to the network as a Fabric participant
        1. Retrieving the orderer settings file
        2. Composing the orderer certificate PEM file
        3. Adding the Fabric participant to the network
    2. Configuring your blockchain network
      1. Ordering service
        1. Changing the settings of the ordering service
        2. Changing the configuration of the orderer node
      2. CA node
      3. Peer nodes
        1. Gossip attributes
        2. Election attributes
        3. Event service attributes
        4. Chaincode attributes
    3. Monitoring your blockchain network
      1. Checking the log files of nodes
      2. Things we can/can't monitor from the platform's perspective
      3. Integrating applications using Fabric SDK
    4. Summary
  23. Part IV
  24. Blockchain Across the Financial Services Industry
    1. Impact on financial services
      1. The impact of blockchain on the financial services versus financial markets
      2. International trade finance
        1. Current state and inefficiencies
      3. Cross-border payments
        1. Current state and inefficiencies
    2. Use case – ATM and payment gateway
      1. Cryptocurrency ATM
      2. PayIOTA – Payment gateway
    3. Use case – MonetaGo – bill discounting
    4. Summary
  25. Blockchain Across the Transportation Industry
    1. Impact on transportation and logistics
      1. Freight/fleet tracking
        1. Current state and inefficiencies
      2. Performance contracts
        1. Current state and inefficiencies
    2. Use case – SkyCell (refrigerated air freight)
    3. Use case – TradeLens (shipping solution)
    4. Use case – BiTA (Transport Alliance)
    5. Summary
  26. Blockchain Across the Healthcare Industry
    1. Impact on healthcare
      1. Drug traceability and anti-counterfeiting
        1. Current state and inefficiencies
      2. Cybersecurity and data security 
        1. Current state and inefficiencies
    2. Use case – MedicalChain (health records)
      1. Current state and inefficiencies of health records
      2. Key features of the platform
        1. Dual-blockchain system
        2. Multiple participants and permissions
        3. Data is cryptographically encrypted
      3. Platform services
    3. Use case – Nano Vision (cure development)
      1. Current inefficiencies of medical research
      2. The Nano Sense chip
      3. Nano Cure Chain and marketplace
      4. The AI/ML inference engine
      5. Initial health threat targets
    4. Summary
  27. Future Industry and Technology Directions
    1. Future industry directions
      1. Energy industry
        1. Peer-to-peer trading and microgrids
        2. Current state and inefficiencies
      2. Food and agriculture industry
        1. Current state and inefficiencies
        2. Notable platforms to watch
          1. Agriledger/AgUnity
          2. Foodshed
          3. Provenance
    2. Future technology directions
      1. Lightning Network
      2. Raiden Network
      3. IOTA Tangle network
    3. How do I remain current on blockchain developments?
    4. Summary
  28. Other Books You May Enjoy
    1. Leave a review - let other readers know what you think