silicon valley code camp blockchain oct 2017

Post on 16-Mar-2018

723 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Presented By: Nelson Petracek, Office of the CTO

www.linkedin.com/in/npetrace

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

npetrace@tibco.com

October 7/8, 2017

Extending Blockchain to Enterprise Applications

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.

Core Concepts

© Copyright 2000-2017 TIBCO Software Inc.

Extending Blockchain: Core Concepts

Distributed System of

Record

Embedded Business

Terms

Security, Verifiability,

& Provenance

Consensus &

Agreement

© 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.

© 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.

© 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.

© 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.

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

© 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.

So What Can We Do With This?

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.

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”.

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.

Is a Blockchain All I Need?

© 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”

© 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

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?

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

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

Demo Time!

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

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

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

Code Walkthrough…

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.

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

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

Questions?

top related