Service Broker Blockhead Open - Linux Foundation Events › wp-content › ... · Blockhead Open...

Post on 25-Jun-2020

0 views 0 download

transcript

Blockhead Open Service BrokerJonathan BerkhahnSwetha RepakulaIBM

The Blockhead Open Service Broker

Jonathan Berkhahn: jaberkha@us.ibm.com

Swetha Repakula: srepaku@us.ibm.com

IBM

Blockchain

3

4

geth Ethereum Network

1. Deploy geth, or some type of local ethereum node

user

5

geth Ethereum Network

1. Deploy geth, or some type of local ethereum node

2. Download and sync the network ledger

user

6

geth Ethereum Network

1. Deploy geth, or some type of local ethereum node

2. Download and sync the network ledger

3. Create a user account

user

7

geth Ethereum Network

1. Deploy geth, or some type of local ethereum node

2. Download and sync the network ledger

3. Create a user account4. Write your contract

user Smart Contract

8

geth Ethereum Network

1. Deploy geth, or some type of local ethereum node

2. Download and sync the network ledger

3. Create a user account4. Write your contract5. Compile your contract to create

bytecode

user Smart Contract bytecode

9

geth Ethereum Network

1. Deploy geth, or some type of local ethereum node

2. Download and sync the network ledger

3. Create a user account4. Write your contract5. Compile your contract to create

bytecode6. Download another client to talk

to gethuser

Client

Smart Contract bytecode

10

geth Ethereum Network

1. Deploy geth, or some type of local ethereum node

2. Download and sync the network ledger

3. Create a user account4. Write your contract5. Compile your contract to create

bytecode6. Download another client to talk

to geth7. Learn how to deploy your

bytecode through the clientuser

Client

Smart Contract bytecode

Blockhead

• Server Implementation of the Open Service Broker API• Automatically does most of the heavy lifting for you

11

Open Service Broker API

• App developers want to use blockchain• App devs should focus on writing apps• We want to deliver this functionality in an easy to use way• OSB API

12

Open Service Broker API

• Open standard for the provisioning and management of cloud services in relation to a cloud platform

• Any service that can be decomposed into the OSB workflow can be provisioned as a OSB service

• Once a broker is subscribed to your platform, can be utilized easily be end appl developers

• Current implementations for Cloud Foundry, Kubernetes

13

Blockhead

• Automates the deployment and use of a blockchain node• Currently supports Etherium

• Deploys and syncs an Etherium node• Creates an account on that node• Compiles and applies a smart contract you specify• Returns the Application Binary Interface for your use

• Plan to add support for Hyperledger Fabric

14

Blockhead - 2 Simple Steps

15

1. Create Service2. Bind Service (with contract URL)

Behind the Scenes

16

Service Provisioning

17

Service Broker

Request Service Creation

NodeNodeNodeNode

NodeNodeNodeNodeCloud Platform

AppAppApp

Service Provisioning

18

Service Broker

Request Service Creation

NodeNodeNodeNode

NodeNodeNodeNodeCloud Platform

AppAppApp

Starts a new node

Service Binding

19

Cloud Platform

AppAppApp

Service Broker

NodeNodeNodeNode

NodeNodeNodeNode

Service Binding

20

Request Service Binding

Cloud Platform

AppAppApp

Service Broker

NodeNodeNodeNode

NodeNodeNodeNode

Service Binding

21

Request Service Binding

Cloud Platform

AppAppApp Deploys specified

smart contract

Service Broker

NodeNodeNodeNode

NodeNodeNodeNode

Service Binding

22

Returns credentials,

contract address and

ABI

Cloud Platform

AppAppApp

Service Broker

NodeNodeNodeNode

NodeNodeNodeNode

DEMO

23

References

• OSBAPI : https://github.com/openservicebrokerapi/servicebroker• Bosh Release:

https://github.com/nimakaviani/ethereum-container-broker• Demo App:

https://github.com/swetharepakula/blockhead-broker-demo• Blog Post:

https://hackernoon.com/project-blockhead-an-ethereum-smart-contract-service-broker-for-kubernetes-and-cloud-foundry-88390a3ac63f

24

Any Questions?

25