Skip to main content
Hyperledger Fabric as
Managed PaaS in Oracle Cloud
Focus on Blockchain Value, not Tech Stack
Mark Rakhmilevich, Senior Director, Blockchain Product Management, Oracle
mark.rakhmilevich@oracle.com
www.linkedin.com/in/markrakhmilevich
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Safe Harbor Statement
The following is intended to outline our general product direction. It is intended for
information purposes only, and may not be incorporated into any contract. It is not a
commitment to deliver any material, code, or functionality, and should not be relied upon
in making purchasing decisions. The development, release, and timing of any features or
functionality described for Oracle’s products remains at the sole discretion of Oracle.
Copyright © 2018 Oracle and/or its affiliates. All rights reserved. | 3
Oracle Helping Enterprises Adopt Blockchain
Enterprise-Ready
• Highly secure, privacy enabled
• Scalable business networks
• Highly resilient, built-in backups
and recoverability, HA+DR
• Flexible, hybrid deployments
Ease of Integration
• REST API for API-driven integration
• Plug-n-Play Enterprise Adapters
• Embedded blockchain APIs in Netsuite
ERP, Flexcube, Open Banking API
platform, upcoming SCM applications
Quick Time-to-Value
• Pre-assembled, managed PaaS
Cloud offering
• Dynamic configurability and
member on-boarding
• Development support to start
developing applications within
minutes
Extending Enterprise Boundary
• Extend ERP/GL/SCM business processes
in Oracle SaaS, on-prem and non-Oracle
systems to share data and conduct
trusted transactions with others
• Helping customers build consortia with
trading partners through enabling
technology for policy-based governance
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
Spectrum of Blockchain Models
Public/Permissioned
Blockchain
• Multiple selected
organizations
• Permissioned writers
• “Public” read access
• Pre-approved
participants update
the ledger
• Flexible policies for
read access
• Lighter and faster
Enterprise
Customer Focus
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Sample of Oracle Customer Blockchain Initiatives
5
Financial Services
•Intra-Bank Cross Border
Payments/Remittances
•Intercompany Financials
ERP reconciliation
•Asset tokenization and SPVs
•Open API auditing
•Loyalty points networks for
consumers & merchants
•Invoice Factoring &
Reconciliation
•Brokerage funds transfer
•Corporate B2B Payments
•Cross-Border Loans for
handling Buyer’s Credit
•Supplier / Vendor Finance
•Full Trade Lifecycle
Management
•Securitization
•Customer onboarding/KYC
•Lending/Credit Advance
Supply Chain
•Maritime shipping document
exchange, DG declarations,
etc.
•Electronic invoicing in
franchises
•Electronic components ship &
debit claims
•Genealogy and traceability of
parts in re-mfg/repair
processes
•Conflict minerals/ethical
sourcing traceability
•Maintenance parts & service
techs tracking in multi-
layered distribution
•Food/Beverage/Ag products
provenance
•Tamper-proof IoT sensor data
+ provenance tracking
•Custody transfer for oil & gas
•Brand compliance in Grocery
retail
Public Sector
• Customs (import/export
licensing, excise taxes)
• Migration and refugee case
tracking
• Cross-agency HR status and
records tracking
• Citizen services, e.g.,
benefits, multi-agency
programs
• Compliance with DoNotCall
tracking regulations
• Tax exemption certificates
and amount tracking
• Regulatory certifications
(food, pharma, etc.)
• Government records (titles,
birth certificates, licenses,
etc.) sharing
• Digital Identity and Identity
Proofing
• Collections tracking across
enforcement agencies
Healthcare
• Exchanging clinical data
(lab results) and other
EHRs
• Service provider
credentials & other data
management
• Clinical trials data trail –
collection, lineage, and
FDA reporting
• Remote monitoring of
patient vitals data from
connected devices
• Anti-counterfeit track &
trace for drugs in
distribution chain
• Pharma cold chain track &
trace
• Integration with IoT
devices monitoring health
or equipment
• Clinical equipment sensor
data reporting and tracking
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
• Fast to provision
• Easy to configure changes
• Quick to onboard new members
• Fast to develop & test smart
contracts and integrate applications
• Performance and scalability
• HA and operational resilience
• Security and confidentiality
• Plug-n-Play enterprise integration
• Supportability and management
• Policy-based governance
Enterprise Demands from Blockchain Platforms
Rapid Experimentation Production-Ready
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Oracle Blockchain Cloud Service
Hardened for enterprise applications
Oracle Blockchain Cloud Platform
Oracle Cloud Infrastructure and PaaS Services
Container
Services
Identity
Management
Events
Management
Services
Data
Services
Fine-grained access control*
Governance*
Consensus
(Kafka)
Smart Contracts
(Go, Node.js, Java)
Confidentiality
(Channels, Collections)
REST APIs SDKs for Go, Java, and Node.js Enterprise Adapters (OIC)
Distributed Ledger
Open Source Hyperledger Fabric
Oracle-managed PaaS
On-Premises Apps
SCMERP HCM CX
Oracle SaaS
CRM
3rd Party SaaS
Custom
Cloud Apps
Hyperledger Fabric Peers
in customer data centers
or 3rd
party clouds
OBP – on-premises
deployment*
*coming soon
Pre-Assembled
Enterprise-Grade
Automated
DevOps
Plug and Play
Integrations
Open
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
• Provisioning & Integration in Oracle Cloud
– Pre-assembled, template-based provisioning
– Incorporates infrastructure dependencies via Oracle
Cloud Services (managed containers, VMs, identity
management, block and object storage, Kafka)
• Oracle Managed Service
– Oracle operations monitoring
– Managed patching/updates
– Embedded ledger and configuration backups
• IDCS Integration
– User/role management
– Authentication for BCS Console, REST Proxy, CA
• Object Store Integration
– Configuration backup, archiving ledger blocks
• REST Proxy
– Supports rich set of Fabric APIs via REST calls
– Enables synchronous invocation as well as
events/callbacks and DevOps operations
– Simplifies integration and insulates applications from
underlying changes in transaction flow
• Management/Operations Console
– Automates many administration tasks
– Dynamic configuration with server restart
– Monitoring and troubleshooting
• Ledger DB replaced by Berkeley DB
– CouchDB rich query support at LevelDB performance
– SQL-based rich query support and results validation at
commit time
• Rich history database
– Shadows transaction history to DBaaS and hooks up
with Analytics/BI (e.g., OAC or 3rd party tools)
8
Major OBP Added Value In and Around Hyperledger Fabric
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
• Build Trusted Business Networks
– Simple Provisioning
– Complete Blockchain Platform in a Few Clicks
– Add Partner Organizations
– Support Hybrid Networks with Open Source
• Automate with Smart Contracts
– Business Logic for Blockchain
– Event Notifications
– Quickly Build and Deploy Chaincode
– Define Endorsement Policies
• Conduct Private Transactions
– Confidentiality Domains via Channels
– Easily Control Member Access Privileges
– Dynamically Create Channels
– Use Private Collections within Channels
Using OBP CS Customers Can…
• Integrate Blockchain in Applications
– REST API-driven Development
– SDK-based Development (Java, Node.js, GO, others coming)
– Extend SaaS Apps through enterprise adapters (OIC), events
– Build New Apps in PaaS AppDev: Containers, VBCS, PCS, MCE
• Leverage OOTB Support for Blockchain APIs
– Netsuite SuiteCloud Platform.
– Oracle Digital Innovation Platform for Open Banking
– Oracle FLEXCUBE Core Banking platform
– (Upcoming) Intelligent Track & Trace SaaS
• Configure, Run, Monitor Blockchain Network
– Intuitive, Comprehensive Admin Console & REST API
– Dynamic Configuration and Administration
– Easy Monitoring & Troubleshooting
Copyright © 2017, Oracle and/or its affiliates. All rights reserved.
Oracle Autonomous Blockchain Momentum
10
Food
Provenance &
Conflict Minerals
Maritime
Shipping
Franchise
Network
Customs
& Excise
Trade
Migration
& Refugees
Lifecycle
& Benefits
Health
Records
Patient
Monitoring
Anti-counterfeit
drugs
tracking
Supply Chain Use Cases
Public Sector Use Cases
Heath Care and Pharma Use Cases
Cross-border
Funds Transfer
International
Loyalty
Programs
Bank
Guarantee
Financial Services Use Cases
Securely, reliably extend business processes and accelerate B2B transactions
6
Customers
90+
Production
Blockchain Networks
400+
Trials
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
In Production or
Approaching Go-Live
11
Provenance of
Extra Virgin Italian
Olive Oil
SUPPLY CHAIN
Conflict Minerals
Tracing
Maritime shipping
documentation
LOGISTICS
Franchise documentation
exchange
ELECTRONIC INVOICING & EDI
FINANCIAL SERVICES
Funds Transfer
Excise Licensing
and Taxes
IMPORT/EXPORT
GAMING/BETTING
Invoice
Reconciliation
(12 consortium founding members
+ shippers & forwarders)
CDEL
ONLINE TRAINING & EDUCATION
Diploma/Continuous Education
certificate platform
Sample of ISVs
adopting OBP
Invoice Factoring Order-to-Cash Contracts Mgmt. Logistics/TMS Remote Patient Monitoring
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
OOW Asia
Customer
Panel
Confidential – Oracle Internal/Restricted/Highly Restricted 12
• Logistics
• Maritime Shipping
• Lottery/Sports Betting
• Asset/Liabilities Tokenization
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
OBP High-Level Service Architecture in OCI
13
Client
Application
(REST)
Client (SDK)
Application
(gRPC)
OCI LBR/WTSS
Orderer
Nodes
BCS Pod/Customer Instance
Peer
Nodes
IDCS
Object
Store
Mgmt
Service
PaaS Service Manager
HA Management VMs – Control Plane Chaincode VM
Chaincode
Containers
REST
Proxies Fabric-CA
(MSP)
Operations
Console
Peer
Nodes
Chaincode
Containers
Kafka VMs
Kafka
Broker
Zookeeper
Hyperledger Fabric Peers
in customer data centers
or 3rd party clouds
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 15
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
OBCS in OCI Provisioning
16
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
• BCS Console: Web UI & REST API for
administration, operations and
monitoring the blockchain network
• Admin tasks:
– Bring up/down blockchain network and
manage nodes (peers, orderers, CA)
– Configure network channels and policies
– Deploy/instantiate smart-contracts
– Add peers, orderers, member organizations
– Create channels, edit policies
• Monitoring & troubleshooting:
– View network topology
– Monitor status of peers, orderers and other
network components
– Monitor operations metrics
– View ledgers blocks
– View log files for troubleshooting
BCS Administration/Operations
17
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Wizard to Join Organizations into a Blockchain Network
• Certificate exported
and uploaded to the
Founder’s instance
• Orderer info exported
from Founder’s instance
and imported in joining
instance
• Post-GA will extend to:
– Propagate channel and
chaincode information
across the network
– Apply flexible governance
policies for consortium-
based model
18
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Nodes View
19
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 20
Peer LHS Menu
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | 21
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Nodes-Channels Association in Topology View
Confidential – Oracle Internal/Restricted/Highly Restricted 22
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Channels/LHS menu
23
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Multiple Channels with Ledger Monitoring and Browsing
• Multiple channels for privacy via sub-netting
– Each channel has its own ledger and authorized group
of members
– Members can be added to a channel at creation or
later time, and their peers can then join the channel
– Chaincodes instantiated per channel with defined
endorsement policies (N out of M, named endorsers)
– Transactions specify a channel by name in the request
– Private transactions between selected peers will be
supported with side DB for transaction data and
transaction evidence stored in the ledger
• Channel Ledger browser
– Provides a paged view of blocks by time ranges
– Drill down into transactions in the block
– View of transaction details
24
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
• Smart contract developers who create chaincode
– Deploy through console or through SDK
– Test through REST APIs
– SQL-based rich queries for world state
• Application developers will develop/integrate
end-user apps, which execute transactions via
smart-contracts invoked using:
– Client SDK (Java, Go, Node.js)
– REST APIs
• Planned developer productivity enhancements
– Business-user friendly smart contracts leveraging rules
engine technology for human-readable smart contracts
– Automated deployment or upgrades of smart contracts
leveraging DevOps integration of CI/CD tooling in Oracle
Developer Cloud Service
BCS Interactions – Smart Contract and Application Developers
25
Client
SDK
Keys
Application Developers Smart Contract
Developer
REST Proxy
(HLF SDK)
BCS
Console
Blockchain Network
REST
Dev mode
Unit testing
with mock
ledger
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Chaincodes (Smart Contracts) View
Confidential – Oracle Internal/Restricted/Highly Restricted 26
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Automated Lifecycle of Smart Contracts
• Package – create a zip pkg of the source directory on the
development side
• Install
– Copies source package to requested peers
– Creates deployment spec
• Instantiate
– Builds (compile/link) the GO code, creating a binary
– Binds it to a channel
– Creates execution container and load the binary
– Runs Init method in the chaincode, which can create new data
values in the ledger
• Export REST end point for deployed chaincode
• Invoke transactions from client SDK or REST proxy
– Calls Invoke method in the chaincode, which can run
functions that update or query the ledger
• Upgrade – select existing chaincode on a channel, provide
new version
– Install & instantiate steps are automatic
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted 28
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Welcome/Samples
29
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |
SQL-based Rich Data Queries
• Replaced Couch DB and Level DB with Berkeley-DB for World State
– Each chaincode’s name space represented as a table
– Enables use of SQL SELECTs to query the world state DB
– Rich query functionality of CouchDB with LevelDB performance
• Example
SELECT … FROM …
WHERE json_extract(valueJson, '$.docType') = 'vehiclePart' AND
json_extract(valueJson, '$.owner') = 'Detroit Auto'
ORDER BY json_extract(valueJson, '$.owner')
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Rich History DB for Analytics Integration
• Parallel with regular history
DB updates, we
asynchronously update
Oracle ADW/DBaaS for
every transaction commit
• DB maintains rich data
model using Oracle JSON
support (can be unpacked
in OAC project)
• Accessible for Analytics / BI /
DWH reporting, interactive
visualization dashboards, etc.
• Can be used for transaction
confirmations and high
volume read-only access
when async delay is not critical
31
1
2
3
Visualization Dashboard Created
in Oracle Analytics Cloud
from the Rich History DB
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Ease of Integration and Systems of Record Connectivity
NEW SAAS BLOCKCHAIN
APPLICATIONS
• Supply chain track & trace use
cases and more
• Oracle GBU applications in
selected industries
ORACLE INTEGRATION CLOUD
• Adapters for Oracle & 3rd party
applications in cloud and on-prem:
ERP, SCM, CX, HCM…
• Technology adapters (MFT, JMS…)
• Turn application events into REST
calls to run blockchain transactions
REST API-DRIVEN INTEGRATION
• Invoke txn’s in sync & async
mode
• Get txn status
• Register event callback URL
• Query ledger data
• Provisioning API
• Operations/Configuration APIs
JAVA, GO, AND NODE.JS
CLIENT SDKS
• Invoke txn’s asynchronously
• Get txn status
• Query ledger data
• Subscribe to events
• Add channels/peers
• Enroll new members
Apps Apps
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 33
Extensive REST API Framework – Transactions/Queries/Events
Transactions and Queries Events
• Get version (of REST proxy)
• Query chaincode function
• Get transaction ID
• Invoke transaction
synchronously
• Invoke transaction
asynchronously
• Subscribe to event, event type:
“transaction”: concerned with events on a particular transaction ID
“txOnChannel”: returns a transaction object for every new transaction on a particular channel
“txOnNetwork”: returns a transaction object for every new transaction in the entire network
“blockOnChannel”: returns a block header for every new block on a particular channel
“blockOnNetwork”: returns a block header on creation of a new block in the entire network
“chaincodeEvent”: returns custom events emitted from chaincode
• Unsubscribe event
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. | 34
Extensive REST API Framework – Admin/DevOps
Channels Statistics Chaincodes Nodes Organizations
• Create channel
• Get channel list
• Get channel list
for chaincode
• Get channel list
for a peer
• Update channel
configuration
• Get channel info
• Get ledger block
by block ID
• Get blocks by ID
range
• Get blocks by
time range
• nodeResUsage (CPU,
Mem, Disk)
• nodeHealth
• channelInfo
• channelsJoined
• chaincodeInstalled
• chaincodeInstantiated
• userTrans
• billableTrans
• Endorsements
• Commits
• Blocks
• proxySyncInvocation
• proxyAsyncInvocation
• proxyConfiguredCC
• Get list of installed
cc’s
• Get a list of
chaincodes on a
specific peer
• Get list of
chaincodes on a
channel
• Install chaincode
• Instantiate
chaincode
• Get chaincode info
• Get node list
• Get a list of peers on a channel
• Get a list of peers for a specific
chaincode
• Add a peer node
• Start/Stop a peer node
• Remove a peer node
• Get/Set a peer node’s
attributes
• Join a peer to a channel
• Export/Import peers
• Start/Stop an orderer
• Get/Set an orderer’s attributes
• Start/Stop a CA node
• Get/Set a CA’s attributes
• Start/Stop REST proxy
• Get/Set REST proxy’s
configuration
• Get org certificates
• Get org admin
credentials
• Get ordering service
setting in a founder
org
• Join a new org to a
founder org
• Set ordering service
to a participant org
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Comprehensive Blockchain Platform
35
Membership
Service
Membership Service
Applications
Validating Nodes/ Peers
Distributed Ledger
(Single Version of Truth)
Smart Contracts
(aka Chaincode)
Ordering Service
Ordering Service
REST Proxy and Operations APIs
Operations
Admin/Operations Console
Integrated backplane of supporting services
Oracle value-add
Rich integration tools for SORs & new apps
App
App
SDK
Flexible, global, hybrid, interoperable deployments
P P
P
Pre-assembled Dependencies
SQL-based rich queries over K-V ledger
SQL
Automated DevOps in Oracle-managed PaaS
Rich history DB for Analytics/BI
REST proxy
REST
REST
Hyperledger Fabric
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Customer Success Stories, Videos
cloud.oracle.com/blockchain/customers
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted 37
Partner Solutions Marketplace: https://cloudmarketplace.oracle.com/marketplace/blockchain
Learn More
http://oracle.com/blockchain
https://cloud.oracle.com/ja_JP/blockchain
http://developer.oracle.com/blockchain
Try Free Oracle Blockchain SDK
https://www.oracle.com/technetwork/topics/cloud/downloads/blockchain-sdk-5443939.html