blockchain as a service - event schedule & agenda...

Post on 16-May-2018

216 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

BLOCKCHAIN AS A SERVICE Building Blocks of Blockchain Gary White

@garypwhitejr

Who dis? Gary White Jr. DELL EMC DOJO Blockchain Enthusiast DevOps Evangelist CF Committer Tweet @ Me @garypwhitejr Tweet @ The Dojo @DellEMCDojo

@garypwhitejr

AGENDA WHAT IS A BLOCKCHAIN?

WHY DO I CARE?

MAKE IT A SERVICE!

DEEP DIVE AND INVESTIGATION

SECURING, ACCESSING, AND MONETIZING DATA

BLOCKCHAIN AS A SERVICE

@garypwhitejr

DEEP DIVE What is a Blockchain?

@garypwhitejr

What ISN’T a blockchain? BITCOIN BITCOIN USES BLOCKCHAIN ENFORCING SECURITY AND CREDIBILITY. THE BLOCKCHAIN ITSELF IS HOLDING DATA.

CURRENCY BLOCKCHAINS HOLD DATA. DATABASES HOLD DATA. MYSQL AND MONGO ARE NOT CURRENCY, EVEN IF PAYPAL MAY USE THEM TO KEEP TRACK OF CURRENCY

AN OVERLORD THERE IS NO SUCH THING AS “THE BLOCKCHAIN” THERE IS SUCH THING AS “A BLOCKCHAIN”

@garypwhitejr

Distributed Ledger Technology

OPEN READ

ACCESS

OPEN WRITE

PROPOSALS

SECURE WRITE VALIDATION

PROCESS

ANON USER

INTERACTION

@garypwhitejr

Didn’t We Solve This?

REPLICATION FASTER READ TIMES

DATA SYNC REQUIRES CA OVERSIGHT

FAMILIARITY SEAMLESS APPLICATION LAYER

FAULT TOLERANCE* HARDWARE FAULTS /=/ SYSTEM FAILURES

@garypwhitejr

Didn’t We Solve This?

FAULT TOLERANCE SOFTWARE FAILURE = SYSTEM FAILURES

(SOME) HARDWARE FAILURES = SYSTEM FAILURES

@garypwhitejr

Byzantine Faults

https://www.safaribooksonline.com/library/view/cassandra-the-definitive/9781449399764/ch01.html “Byzantine Fault Tolerance is not a Bigtable goal” RETREAT ATTACK OR

@garypwhitejr

Byzantine Faults

DATA MASTER

IF WE DON’T PLAN FOR THIS, ALL FAULTS BECOME FAILURES.

“Many of the Byzantine failures Resulted in 4-way splits. Some of the nodes saw a good message, some saw the same message arriving late, some nodes saw a checksum error in that message, and some saw both types of errors.” https://c3.nasa.gov/dashlink/static/media/other/ObservedFailures14.html

@garypwhitejr

Who do we trust?

NOBODY.

@garypwhitejr

When do we trust them?

NEVER! (Just kidding)

@garypwhitejr

Proof of validity Use tight encryption methods

When do we trust them? RULES

Proof of contribution to SYSTEM INTEGRITY

Proof of identity

Data should have full integrity. (first take, no rewrites) Data Access should be EASY.

@garypwhitejr

Brainstorm: @garypwhitejr

What’s in a Block? Previous Block Hash

“NONCE”

TRANSACTIONS + HASHES

UNIQUE BLOCK HASH

HA

SH

TOG

ETH

ER

TRANSACTIONS 1: ALICE SENDS BOB 5 COINS 2: BOB SENDS CHARLIE 3 COINS 3: CHARLIE SENDS DEE 2 COINS

INFORMATION DATA

H(A) H(B) H(C) H(D)

H(H(A)-H(B)) H(H(C)-H(D))

AND SO ON

“MERKLE TREE”

PLUS TREE HASH

@garypwhitejr

What’s in a Block? Previous Block Hash

“NONCE”

TRANSACTIONS + HASHES

UNIQUE BLOCK HASH

HA

SH

TOG

ETH

ER

TRANSACTIONS 1: ALICE SENDS BOB 5 COINS 2: BOB SENDS CHARLIE 3 COINS 3: CHARLIE SENDS DEE 2 COINS

INFORMATION DATA

H(A) H(B) H(C) H(D)

H(H(A)-H(B)) H(H(C)-H(D))

AND SO ON

“MERKLE TREE”

PLUS TREE HASH

@garypwhitejr

Creating Transactions

WHO SENT IT? TRANSACTIONS ARE SIGNED

WHAT’S THE PLAN? GIVE DATA FOR THE TRANSACTION (TRANSFER 20 TO BERT, ETC..)

WHO KNOWS? TRANSACTIONS PROPOGATE THROUGHOUT THE NETWORK

IS IT SECURE? TRANSACTION DATA IS HASHED ENSURING DATA INTEGRITY

@garypwhitejr

Validating Transactions / Blocks PERSISTENT STATE

“IS THIS VALID?” IS AN EASY YES/NO OPENLY AVAILABLE

ANYONE CAN (IN)VALIDATE ANY TRANSACTION

@garypwhitejr

What’s in a Block? Previous Block Hash

“NONCE”

TRANSACTIONS + HASHES

UNIQUE BLOCK HASH

HA

SH

TOG

ETH

ER

TRANSACTIONS 1: ALICE SENDS BOB 5 COINS 2: BOB SENDS CHARLIE 3 COINS 3: CHARLIE SENDS DEE 2 COINS

INFORMATION DATA

H(A) H(B) H(C) H(D)

H(H(A)-H(B)) H(H(C)-H(D))

AND SO ON

“MERKLE TREE”

PLUS TREE HASH

@garypwhitejr

What’s in a Block? Previous Block Hash

“NONCE”

TRANSACTIONS + HASHES

UNIQUE BLOCK HASH

HA

SH

TOG

ETH

ER

TRANSACTIONS 1: ALICE SENDS BOB 5 COINS 2: BOB SENDS CHARLIE 3 COINS 3: CHARLIE SENDS DEE 2 COINS

INFORMATION DATA

H(A) H(B) H(C) H(D)

H(H(A)-H(B)) H(H(C)-H(D))

AND SO ON

“MERKLE TREE”

PLUS TREE HASH

@garypwhitejr

Merkle Tree? T1 T2 T3 T4

HASH 0-0 hash(T1)

HASH 0-1 hash(T2)

HASH 0 hash(HASH0-0 – HASH0-1)

HASH 1-0 hash(T3)

HASH 1-1 hash(T4)

HASH 1 hash(HASH1-0 – HASH1-1)

“TOP HASH” hash(HASH0 – HASH1)

SECURE CONTENT CHANGING ONE HASH CHANGES THE TOP

QUICK VALIDATION HASHING SOME HASHES ISN’T HARD. TOP HASH IS DEPENDENT ON LOWER

@garypwhitejr

What’s in a Block? Previous Block Hash

“NONCE”

TRANSACTIONS + HASHES

UNIQUE BLOCK HASH

HA

SH

TOG

ETH

ER

TRANSACTIONS 1: ALICE SENDS BOB 5 COINS 2: BOB SENDS CHARLIE 3 COINS 3: CHARLIE SENDS DEE 2 COINS

INFORMATION DATA

H(A) H(B) H(C) H(D)

H(H(A)-H(B)) H(H(C)-H(D))

AND SO ON

“MERKLE TREE”

PLUS TREE HASH

@garypwhitejr

What’s in a Block? Previous Block Hash

“NONCE”

TRANSACTIONS + HASHES

UNIQUE BLOCK HASH

HA

SH

TOG

ETH

ER

TRANSACTIONS 1: ALICE SENDS BOB 5 COINS 2: BOB SENDS CHARLIE 3 COINS 3: CHARLIE SENDS DEE 2 COINS

INFORMATION DATA

H(A) H(B) H(C) H(D)

H(H(A)-H(B)) H(H(C)-H(D))

AND SO ON

“MERKLE TREE”

PLUS TREE HASH

@garypwhitejr

What’s in a Block? Previous Block Hash

“NONCE”

TRANSACTIONS + HASHES

UNIQUE BLOCK HASH

HA

SH

TOG

ETH

ER

TRANSACTIONS 1: ALICE SENDS BOB 5 COINS 2: BOB SENDS CHARLIE 3 COINS 3: CHARLIE SENDS DEE 2 COINS

INFORMATION DATA

H(A) H(B) H(C) H(D)

H(H(A)-H(B)) H(H(C)-H(D))

AND SO ON

“MERKLE TREE”

PLUS TREE HASH

@garypwhitejr

What’s in a Block? Previous Block Hash

“NONCE”

TRANSACTIONS + HASHES

UNIQUE BLOCK HASH

HA

SH

TOG

ETH

ER

TRANSACTIONS 1: ALICE SENDS BOB 5 COINS 2: BOB SENDS CHARLIE 3 COINS 3: CHARLIE SENDS DEE 2 COINS

INFORMATION DATA

H(A) H(B) H(C) H(D)

H(H(A)-H(B)) H(H(C)-H(D))

AND SO ON

“MERKLE TREE”

PLUS TREE HASH

@garypwhitejr

“NONCE”? https://en.bitcoin.it/wiki/Nonce

RANDOM VALUE TRANSACTION HASHES AND TREES

FAST GUESSING HASHING IS A SWIFT PROCESS

VARIABLE DIFFICULTY DIFFICULTY CHANGES BASED ON PARTICIPATION

“INFEASIBLE TO PREDICT” HASHING MAGIC

@garypwhitejr

Generating “NONCE” GENERATED BLOCK HASH

“GOLDEN NONCE” UNIQUE BLOCK HASH

@garypwhitejr

What’s in a Block? Previous Block Hash

“NONCE”

TRANSACTIONS + HASHES

UNIQUE BLOCK HASH

HA

SH

TOG

ETH

ER

TRANSACTIONS 1: ALICE SENDS BOB 5 COINS 2: BOB SENDS CHARLIE 3 COINS 3: CHARLIE SENDS DEE 2 COINS

INFORMATION DATA

H(A) H(B) H(C) H(D)

H(H(A)-H(B)) H(H(C)-H(D))

AND SO ON

“MERKLE TREE”

PLUS TREE HASH

@garypwhitejr

What’s in a Block? Previous Block Hash

“NONCE”

TRANSACTIONS + HASHES

UNIQUE BLOCK HASH

HA

SH

TOG

ETH

ER

TRANSACTIONS 1: ALICE SENDS BOB 5 COINS 2: BOB SENDS CHARLIE 3 COINS 3: CHARLIE SENDS DEE 2 COINS

INFORMATION DATA

H(A) H(B) H(C) H(D)

H(H(A)-H(B)) H(H(C)-H(D))

AND SO ON

“MERKLE TREE”

PLUS TREE HASH

@garypwhitejr

BITCOIN A WELL KNOWN USE CASE FOR SECURE BLOCKCHAIN TECHNOLOGY

@garypwhitejr

PAYLOAD EX: ALICE SENDS 2 BC TO BOB

01001100 01001001 01010100

VALIDATION CHECK LEDGER STATE, KEYS, HASH

INCENTIVE “GOLDEN” NONCES ARE PAID BITCOIN

ANONYMOUS BITCOIN USERS EXIST AS A HASH ID

DIFFICULTY BLOCKS RETREIVED CONSISTENTLY

ADOPTION EXISTING USER BASE

@garypwhitejr

RESOLVING CONFLICT THE LONGEST CHAIN IS THE WINNER.

NODES PREFER THE LEAST EFFORT TO BE THE FARTHEST ALONG

@garypwhitejr

Extending our Blockchain’s use Previous Block Hash

“NONCE”

UNIQUE BLOCK HASH

HA

SH

TOG

ETH

ER

TRANSACTIONS 1: ALICE SENDS BOB 5 COINS 2: BOB SENDS CHARLIE 3 COINS 3: CHARLIE SENDS DEE 2 COINS

H(A) H(B) H(C) H(D)

H(H(A)-H(B)) H(H(C)-H(D))

AND SO ON

“MERKLE TREE”

TRANSACTIONS + HASHES

PLUS TREE HASH

DATA AS INFORMATION

@garypwhitejr

Extending our Blockchain’s use Previous Block Hash

“NONCE”

UNIQUE BLOCK HASH

HA

SH

TOG

ETH

ER

TRANSACTIONS 1: ALICE PUBLISHED AN APP 2: CHARLIE USED AN APP

DATA AS INFORMATION, AND DATA AS APPLICATIONS

H(A) H(B) H(C) H(D)

H(H(A)-H(B)) H(H(C)-H(D))

AND SO ON

“MERKLE TREE”

TRANSACTIONS + HASHES

PLUS TREE HASH

@garypwhitejr

COOL, WHY DO I CARE? The Value of using blockchain

@garypwhitejr

Distributed Ledger Security @garypwhitejr

Smart Contracts/Dapps @garypwhitejr

Multi-Cloud/NHC Integration

WEB UI

@garypwhitejr @garypwhitejr

Multi-Cloud/NHC Integration

WEB UI

@garypwhitejr

Multi-Cloud/NHC Integration

WEB UI

FEE TRANSACTIONS CAN BE CHARGED FOR USE OF APPS

$

@garypwhitejr

ETHEREUM AS A SERVICE Blockchain in Cloud Foundry

@garypwhitejr

Web UI

“bootnode”

@garypwhitejr

CF Service Broker API

Web UI

“bootnode”

@garypwhitejr

CF Service Broker API

BOSH VM

Web UI leveraging

DApps

@garypwhitejr

CF Service Broker API

BOSH VM

BLOCKCHAIN AS A SERVICE Building Blocks of Blockchain Gary White

@garypwhitejr

top related