silicon valley code camp blockchain oct 2017

30
Presented By: Nelson Petracek, Office of the CTO www.linkedin.com/in/npetrace https://www.tibco.com/solutions/blockchain [email protected] October 7/8, 2017 Extending Blockchain to Enterprise Applications

Upload: nelson-petracek

Post on 16-Mar-2018

723 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Silicon Valley Code Camp Blockchain Oct 2017

Presented By: Nelson Petracek, Office of the CTO

www.linkedin.com/in/npetrace

https://www.tibco.com/solutions/blockchain

[email protected]

October 7/8, 2017

Extending Blockchain to Enterprise Applications

Page 2: Silicon Valley Code Camp Blockchain Oct 2017

Messaging: Most people have heard of Bitcoin, and also know that blockchain is one of the underlying concepts behind this cryptocurrency. However, the ability to share information via a shared, trusted distributed network with embedded business logic also has many potential benefits for an enterprise deployment. Join this session to hear about blockchain, enterprise use cases, and associated concepts such as smart contracts. We will build a smart contract in Java or Go on the Hyperledger Fabric blockchain technology, and also discuss what we, as technologists, should be thinking about as we look to apply these concepts across various enterprise use cases.

Extending Blockchain to Enterprise Applications

© Copyright 2000-2017 TIBCO Software Inc.

Page 3: Silicon Valley Code Camp Blockchain Oct 2017

Core Concepts

Page 4: Silicon Valley Code Camp Blockchain Oct 2017

© Copyright 2000-2017 TIBCO Software Inc.

Extending Blockchain: Core Concepts

Distributed System of

Record

Embedded Business

Terms

Security, Verifiability,

& Provenance

Consensus &

Agreement

Page 5: Silicon Valley Code Camp Blockchain Oct 2017

© Copyright 2000-2017 TIBCO Software Inc.

Extending Blockchain: Core Concepts

Blockchain may be thought of as a distributed data management platform

where data may be shared across a distributed (decentralized) network, securely

and with (potentially) business logic.

Page 6: Silicon Valley Code Camp Blockchain Oct 2017

© Copyright 2000-2017 TIBCO Software Inc.

Extending Blockchain: Core Concepts

•  Enterprise use cases require the need to automatically execute programmable logic within the blockchain network.

•  Remove slow, inaccurate paper-based systems.

•  Automate transaction “workflow”.

•  But with no central third party.

•  Typically a key discussion point surrounding private / permissioned or consortium blockchains.

•  Required to obtain agreement across various network participants to maintain accuracy, compliance, and trust.

•  Obtain agreement before transaction is accepted.

Page 7: Silicon Valley Code Camp Blockchain Oct 2017

© Copyright 2000-2017 TIBCO Software Inc.

Extending Blockchain: Smart Contracts

•  Smart Contracts represent a way to introduce business logic into the blockchain. •  May be triggered by transactions or external events.

•  Logic may be executed “on-chain” by the participants in the network, with no central coordinator. •  Code is run in parallel. •  Results are compared and agreed upon.

•  Opportunity to reduce risk, increase efficiency, and automate the execution of business logic across the network without a central party.

Page 8: Silicon Valley Code Camp Blockchain Oct 2017

© Copyright 2000-2017 TIBCO Software Inc.

Extending Blockchain: Smart Contracts

•  Smart contract execution is computationally more expensive than “local” execution, but there is no single source of control. •  Multiple participants run the same code.

•  Code can typically be viewed by all participants, which may or may not be desired. •  Code is part of the network itself.

•  Bitcoin itself has limited capacity for implementing generic types of “general purpose” business logic. •  Logic is essentially built into the network (“payments” scripts).

•  Sidechains and approaches such as MAST (Merkelized Abstract Syntax Trees) may reduce this limitation.

Page 9: Silicon Valley Code Camp Blockchain Oct 2017

Extending Blockchain: Smart Contracts

© Copyright 2000-2017 TIBCO Software Inc.

•  Oracles feed data from outside sources into smart contracts.

•  Oracles can be: •  Software-based •  Hardware-based •  Consensus-based

•  Need to consider the impact to security and trust as data is being retrieved from an outside (potentially tampered) source.

Oracles (Off Chain)

•  Meant to address problems associated with confidentiality on blockchains. •  e.g. Bitcoin transaction data

viewable by all network participants.

•  Prove the integrity of blockchain transactions without revealing information about the sender, recipient, asset, etc.

•  Zcash, Quorum

Zero Knowledge Proofs

Page 10: Silicon Valley Code Camp Blockchain Oct 2017

© Copyright 2000-2017 TIBCO Software Inc.

Extending Blockchain: Smart Contracts

Smart Contracts represent a method for controlling how changes are made to the

underlying blockchain “database”, in a non-centralized and (potentially) untrustworthy

environment.

Page 11: Silicon Valley Code Camp Blockchain Oct 2017

So What Can We Do With This?

Page 12: Silicon Valley Code Camp Blockchain Oct 2017

Many Use Cases Under Discussion…

© Copyright 2000-2017 TIBCO Software Inc.

Product Provenance

Perishables, valuables (art, jewelry), packages,

containers, equipment, pharmaceuticals.

Health Care

Supply management, electronic health records,

claims processing, registries.

IoT

Machine to machine micropayments, identity,

automated resource sharing.

Government

Voting, licenses, vendor interactions, identity, information sharing,

compliance.

And Many Others…

Financial instruments, insurance premiums, music

rights, ownership rights, payments, ...

Consumer Contracts

Apartment rentals, energy transactions, airline

compensation, real estate, licenses, car leases.

Page 13: Silicon Valley Code Camp Blockchain Oct 2017

Extending Blockchain: Ethereum (https://www.ethereum.org/)

© Copyright 2000-2017 TIBCO Software Inc.

•  Blockchain platform for executing smart contracts. •  Programmable blockchain that may be used to create operations of any

complexity.

•  Turing complete

•  Requires “proof of work” (“Ethash”) in order to successfully mine a block.

•  “Suited for applications that automate direct interaction between peers or facilitate coordinated group action across a network” (ethdocs.org)

•  Contracts typically are written in “Solidity” (similar to Javascript).

•  Native value token: “ether” (ETH). •  Various denominations

•  Used for pay for computation by purchasing “gas”.

Page 14: Silicon Valley Code Camp Blockchain Oct 2017

Extending Blockchain: Hyperledger Project (https://www.hyperledger.org/)

© Copyright 2000-2017 TIBCO Software Inc.

•  Open source effort to advance cross-industry blockchain technologies. •  Hosted under the Linux Foundation.

•  Community for multiple projects related to blockchain.

•  Encourages interoperable components.

•  “Hyperledger Fabric”: implementation of blockchain technology intended as a foundation for developing blockchain applications. •  Designed as a modular architecture.

•  Hosts smart contracts called “chaincode”, run in containers.

•  Other projects: Sawtooth Lake, Iroha, Burrow, Indy.

•  Not a single blockchain, and has no “built-in” cryptocurrency tokens.

Page 15: Silicon Valley Code Camp Blockchain Oct 2017

Is a Blockchain All I Need?

Page 16: Silicon Valley Code Camp Blockchain Oct 2017

© Copyright 2000-2017 TIBCO Software Inc.

Extending Blockchain: Challenges & Considerations

In general, in addition to the items discussed, we also have considerations such as:

Governance & Stewardship Data Privacy Legal &

Regulatory Risks

Deployment, Management, &

Logging

New Technology, “Picking a

Winner”

Page 17: Silicon Valley Code Camp Blockchain Oct 2017

© Copyright 2000-2017 TIBCO Software Inc.

Smart contracts show a lot of promise, but there are also concerns such as the following:

Programming Errors

Required Collaboration

Supporting Infrastructure

Needs

Legal Implications

Lack of Standards

Extending Blockchain: Challenges & Considerations

Page 18: Silicon Valley Code Camp Blockchain Oct 2017

Extending Blockchain: Challenges & Considerations

© Copyright 2000-2017 TIBCO Software Inc.

For the appropriate use case, blockchain can provide “part” of the solution. However, during implementation, there are still questions to answer:

How Do I Get Data In/Out of

the Blockchain?

How Do I Extend Smart Contract

Logic To My Enterprise?

How Do I Respond To

Events from my Ledger?

How Do I Analyze Data

Contained Within the Ledger?

Can I Provide Controlled, Managed Access to

Blockchain Capabilities?

Page 19: Silicon Valley Code Camp Blockchain Oct 2017

Extending Blockchain: Additional Capabilities

© Copyright 2000-2017 TIBCO Software Inc.

Off-Chain Storage

Off-Chain Execution

Distributed Ledger Blockchain

Security On-Chain Execution & Storage

Blockchain APIs HFC SDK

REST HTTP

JSON RPC Web3

Blockchain Proxy Layer Smart Contracts

ChainCode, Solidity, …

Data Distribution Transport

Microservices Event Handlers

API Management Analytics

Page 20: Silicon Valley Code Camp Blockchain Oct 2017

Extending Blockchain: Additional Capabilities

© Copyright 2000-2017 TIBCO Software Inc.

Off-Chain Storage

TIBCO GraphDB ActiveSpaces

Off-Chain Execution

TIBCO (Various)

Distributed Ledger Blockchain

Security On-Chain Execution & Storage

Blockchain APIs HFC SDK

REST HTTP

JSON RPC Web3

Blockchain Proxy Layer

TIBCO Hybrid Integration

Smart Contracts ChainCode, Solidity, …

TIBCO BusinessEvents

Data Distribution Transport

TIBCO FTL / eFTL

Microservices & Process Automation

TIBCO Hybrid Integration, AMX BPM Event Handlers

TIBCO BusinessEvents, StreamBase

API Management

TIBCO Mashery Analytics

TIBCO Spotfire, Live Datamart

Page 21: Silicon Valley Code Camp Blockchain Oct 2017

Demo Time!

Page 22: Silicon Valley Code Camp Blockchain Oct 2017

Demonstration: Use Case and Components

© Copyright 2000-2017 TIBCO Software Inc.

On Vehicle Purchase Case Creation,

Accept/Reject Price

1

Retrieve Vehicle Details via VIN from NHTSA REST service.

2

Offer to Purchase Vehicle, Record Transaction on

Blockchain

3

Submit Registration Request, Record Transaction on

Blockchain

4

Complete Vehicle Purchase Case Management

Process

5

Page 23: Silicon Valley Code Camp Blockchain Oct 2017

Demonstration: Use Case and Components

© Copyright 2000-2017 TIBCO Software Inc.

Docker Container(s)

HFC SDK REST

Chaincode

Hyperledger Fabric

(CA, Orderer,

Peer, CLI)

Hyperledger Composer Hyperledger Explorer

BWCE

Microservices •  v1 •  v2

•  Composer utilized to generate Fabric components. •  Chaincode

•  REST API stubs

•  Blocks / transactions viewable via Hyperledger Explorer.

•  TIBCO BusinessWorks Container Edition (BWCE) utilized to expose related microservices and record transactions on the blockchain. •  Hosted within Kubernetes / Istio

service mesh.

Kubernetes (minikube) / Istio

Service/Deployment/Ingress

RouteRuie

Page 24: Silicon Valley Code Camp Blockchain Oct 2017

Demonstration: Use Case and Components

© Copyright 2000-2017 TIBCO Software Inc.

Assets

Vehicle

o String vin (key) o String make o String model o Integer year o String manufacturer o Boolean registered --> Purchaser owner

Participants

Purchaser RegisteredOwner

o String phoneNumber (key) o String firstName o String lastName Inherits from Person

Transactions

Purchase RegisterAndInsure

o Double purchaseAmount --> Vehicle vehicle --> Purchaser purchaser

--> Vehicle vehicle --> RegisteredOwner registeredOwner

Events

Purchase, Registration Notification

--> Vehicle vehicle

Page 25: Silicon Valley Code Camp Blockchain Oct 2017

Code Walkthrough…

Page 26: Silicon Valley Code Camp Blockchain Oct 2017

Extending Blockchain: Recommendations

© Copyright 2000-2017 TIBCO Software Inc.

•  Not every problem requires a blockchain! •  Peer to peer networking, distributed data stores, and cryptography

have been around for some time.

•  Need to look at a number of factors. For example: •  Number of network participants.

•  Required trust and integrity levels.

•  Amount of data to be stored.

•  Performance requirements and transaction processing times.

•  Ability to automate business interactions across a network.

•  A blockchain is only part of the equation.

Page 27: Silicon Valley Code Camp Blockchain Oct 2017

Extending Blockchain: Recommendations

© Copyright 2000-2017 TIBCO Software Inc.

•  Gain awareness through experimentation.

•  Cloud based services make it easier to get started.

•  Answer the factors (previous slides), and identify use cases / value appropriate for your business.

•  Determine how the key characteristics of a blockchain can be beneficial to the business network.

Distributed System of

Record

Embedded Business

Terms

Security, Verifiability,

& Provenance

Consensus &

Agreement

Page 28: Silicon Valley Code Camp Blockchain Oct 2017
Page 29: Silicon Valley Code Camp Blockchain Oct 2017

More Information

© Copyright 2000-2017 TIBCO Software Inc.

TIBCO Blog and Community: http://www.tibco.com/blog/ https://community.tibco.com/

https://www.tibco.com/solutions/blockchain

Page 30: Silicon Valley Code Camp Blockchain Oct 2017

Questions?