Top Banner
When You Shouldn't Use Blockchains – or Smart Contracts axel simon, Office of the CTO [email protected] OpenFintech Forum 2018-10-11
37

or Smart Contracts When You Shouldn't Use Blockchains · In fact, the original bitcoin whitepaper talks about “trustless”¹. Trust is a human value. It's fickle and dependent

May 22, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: or Smart Contracts When You Shouldn't Use Blockchains · In fact, the original bitcoin whitepaper talks about “trustless”¹. Trust is a human value. It's fickle and dependent

When You Shouldn't Use Blockchains– or Smart Contracts

axel simon, Office of the CTO

[email protected]

OpenFintech Forum2018-10-11

Page 2: or Smart Contracts When You Shouldn't Use Blockchains · In fact, the original bitcoin whitepaper talks about “trustless”¹. Trust is a human value. It's fickle and dependent

Presentation agenda

Page 3: or Smart Contracts When You Shouldn't Use Blockchains · In fact, the original bitcoin whitepaper talks about “trustless”¹. Trust is a human value. It's fickle and dependent

RED HAT OFFICE OF THE CTO – AXEL SIMON3

- What are blockchains? (and what are they useful for?)

- Are we getting overexcited here?- When not to use a blockchain- What are smart contracts? (and what are they useful for?)

- What to think about when considering smart contracts

- What about trust?

Page 4: or Smart Contracts When You Shouldn't Use Blockchains · In fact, the original bitcoin whitepaper talks about “trustless”¹. Trust is a human value. It's fickle and dependent

What blockchains are(an attempt at a definition)

Page 5: or Smart Contracts When You Shouldn't Use Blockchains · In fact, the original bitcoin whitepaper talks about “trustless”¹. Trust is a human value. It's fickle and dependent

RED HAT OFFICE OF THE CTO – AXEL SIMON5

A blockchain is a

- distributed- replicated- peer-to-peer network of- databases allowing- multiple non-trusting parties- to transact without a trusted 3rd party intermediary and- maintains an immutable record of time sequence records.

BLOCKCHAIN: THE NEW SOLUTION(TO ALL YOUR PROBLEMS)

Page 6: or Smart Contracts When You Shouldn't Use Blockchains · In fact, the original bitcoin whitepaper talks about “trustless”¹. Trust is a human value. It's fickle and dependent

RED HAT OFFICE OF THE CTO – AXEL SIMON6

- A hyped-up concept, with some real properties.

- Blockchains (for different uses) rather than blockchain (one to rule them all).

- Ecosystem mostly open source.

BLOCKCHAINS:THE INTERNET OF VALUE?

Page 7: or Smart Contracts When You Shouldn't Use Blockchains · In fact, the original bitcoin whitepaper talks about “trustless”¹. Trust is a human value. It's fickle and dependent

What are they useful for

Page 8: or Smart Contracts When You Shouldn't Use Blockchains · In fact, the original bitcoin whitepaper talks about “trustless”¹. Trust is a human value. It's fickle and dependent

RED HAT OFFICE OF THE CTO – AXEL SIMON8

Replace a (fallible) authority with a distributed system where every participant reaches agreement regarding "the truth" and no one can take control.

Distributed authority & consensus mechanisms.

HOW ARE THEY USEFULREPLACING A (FALLIBLE) AUTHORITY

Page 9: or Smart Contracts When You Shouldn't Use Blockchains · In fact, the original bitcoin whitepaper talks about “trustless”¹. Trust is a human value. It's fickle and dependent

RED HAT OFFICE OF THE CTO

HOW ARE THEY USEFULA COMMON RAIL

Blockchains can also be envisioned as a common information rail (or a message bus) that connects various entities.

Each organisation latches onto the rail and follows it.

This idea is at the heart of most of the powerful BC use cases: reconciliation with a single entity(the blockchain, the rail, the message bus)rather than a multitude of different ones with their own approaches, protocols and quirks.

Another common rail: the Sky-Line in BioShock Infinite

Page 10: or Smart Contracts When You Shouldn't Use Blockchains · In fact, the original bitcoin whitepaper talks about “trustless”¹. Trust is a human value. It's fickle and dependent

RED HAT OFFICE OF THE CTO – AXEL SIMON10

Immutable series of time-stamped events.

Great for traceability.

Useful for logistics, healthcare (one patient record easily shared), financial transactions, etc.

HOW ARE THEY USEFULTRACEABILITY

CC Twentyfour Students

Page 11: or Smart Contracts When You Shouldn't Use Blockchains · In fact, the original bitcoin whitepaper talks about “trustless”¹. Trust is a human value. It's fickle and dependent

Things to keep in mind about blockchains

Page 12: or Smart Contracts When You Shouldn't Use Blockchains · In fact, the original bitcoin whitepaper talks about “trustless”¹. Trust is a human value. It's fickle and dependent

RED HAT OFFICE OF THE CTO – AXEL SIMON12

Fundamentally, blockchains are peer-to-peer networks: this has consequences (good & bad).

Everyone has a copy of the data.

THINGS TO KEEP IN MINDA FEW (INTERESTING, DESIRABLE) CHARACTERISTICS

Page 13: or Smart Contracts When You Shouldn't Use Blockchains · In fact, the original bitcoin whitepaper talks about “trustless”¹. Trust is a human value. It's fickle and dependent

A solution looking for a problem?

Page 14: or Smart Contracts When You Shouldn't Use Blockchains · In fact, the original bitcoin whitepaper talks about “trustless”¹. Trust is a human value. It's fickle and dependent

RED HAT OFFICE OF THE CTO – AXEL SIMON14

Blockchains are not a silver bullet.

A SOLUTION LOOKING FOR A PROBLEM?

Page 15: or Smart Contracts When You Shouldn't Use Blockchains · In fact, the original bitcoin whitepaper talks about “trustless”¹. Trust is a human value. It's fickle and dependent

What’s pushing for adoption?(and are we getting overexcited?)

Page 16: or Smart Contracts When You Shouldn't Use Blockchains · In fact, the original bitcoin whitepaper talks about “trustless”¹. Trust is a human value. It's fickle and dependent

RED HAT OFFICE OF THE CTO – AXEL SIMON16

• Any application with multiple users which stores data can be a blockchain-enabled application!

ADOPTION DRIVERSNOT ALL DESIRABLE

Page 17: or Smart Contracts When You Shouldn't Use Blockchains · In fact, the original bitcoin whitepaper talks about “trustless”¹. Trust is a human value. It's fickle and dependent

RED HAT OFFICE OF THE CTO – AXEL SIMON17

• Any application with multiple users which stores data can be a blockchain-enabled application!

• Conferences and “gurus” saying “embrace blockchain now, or go out of business within six months”

ADOPTION DRIVERSNOT ALL DESIRABLE

Page 18: or Smart Contracts When You Shouldn't Use Blockchains · In fact, the original bitcoin whitepaper talks about “trustless”¹. Trust is a human value. It's fickle and dependent

RED HAT OFFICE OF THE CTO – AXEL SIMON18

• Any application with multiple users which stores data can be a blockchain-enabled application!

• Conferences and “gurus” saying “embrace blockchain now, or go out of business within six months”

• The tech is hard to understand, those who do tend to be techies(and don’t necessarily care about business impact)

ADOPTION DRIVERSNOT ALL DESIRABLE

Page 19: or Smart Contracts When You Shouldn't Use Blockchains · In fact, the original bitcoin whitepaper talks about “trustless”¹. Trust is a human value. It's fickle and dependent

If you only remember one thing:

before you ask “which?”, ask “why?”

Page 20: or Smart Contracts When You Shouldn't Use Blockchains · In fact, the original bitcoin whitepaper talks about “trustless”¹. Trust is a human value. It's fickle and dependent

Reasons not to deploy a blockchain

Page 21: or Smart Contracts When You Shouldn't Use Blockchains · In fact, the original bitcoin whitepaper talks about “trustless”¹. Trust is a human value. It's fickle and dependent

RED HAT OFFICE OF THE CTO – AXEL SIMON21

● when ○ it's just you: no group/multiple (dis/mistrustful) entities, no consensus, no point○

WHEN TO SAY NOIT’S EASIER THAN IT SEEMS

Page 22: or Smart Contracts When You Shouldn't Use Blockchains · In fact, the original bitcoin whitepaper talks about “trustless”¹. Trust is a human value. It's fickle and dependent

RED HAT OFFICE OF THE CTO – AXEL SIMON22

● when ○ it's just you: no group/multiple (dis/mistrustful) entities, no consensus, no point○ it's a group, with a central/third-party authority, but it's doing its job fine.

Also: when the process is a single/few step(s), not multiple steps.

WHEN TO SAY NOIT’S EASIER THAN IT SEEMS

Page 23: or Smart Contracts When You Shouldn't Use Blockchains · In fact, the original bitcoin whitepaper talks about “trustless”¹. Trust is a human value. It's fickle and dependent

RED HAT OFFICE OF THE CTO – AXEL SIMON23

● when ○ it's just you: no group/multiple (dis/mistrustful) entities, no consensus, no point○ it's a group, with a central/third-party authority, but it's doing its job fine.

Also: when the process is a single/few step(s), not multiple steps.

● when using a centralised database works fine○ think “where is the data” (location), not “who owns or controls it” (authority)○ in some cases, consensus (not control) about updating it is enough

WHEN TO SAY NOIT’S EASIER THAN IT SEEMS

Page 24: or Smart Contracts When You Shouldn't Use Blockchains · In fact, the original bitcoin whitepaper talks about “trustless”¹. Trust is a human value. It's fickle and dependent

RED HAT OFFICE OF THE CTO – AXEL SIMON24

● when ○ it's just you: no group/multiple (dis/mistrustful) entities, no consensus, no point○ it's a group, with a central/third-party authority, but it's doing its job fine.

Also: when the process is a single/few step(s), not multiple steps.

● when using a centralised database works fine○ think “where is the data” (location), not “who owns or controls it” (authority)○ in some cases, consensus (not control) about updating it is enough

● when you're the only one who benefits and it will just be costly / painful to others: you'll never really convince them

WHEN TO SAY NOIT’S EASIER THAN IT SEEMS

Page 25: or Smart Contracts When You Shouldn't Use Blockchains · In fact, the original bitcoin whitepaper talks about “trustless”¹. Trust is a human value. It's fickle and dependent

RED HAT OFFICE OF THE CTO – AXEL SIMON25

- Privacy by design: if you are going to store personal information, think twice.

- GDPR compliance team will thank you

WHEN TO SAY NOOR AT LEAST THINK LONG AND HARD

Page 26: or Smart Contracts When You Shouldn't Use Blockchains · In fact, the original bitcoin whitepaper talks about “trustless”¹. Trust is a human value. It's fickle and dependent

Things to keep in mind with smart contracts

Page 27: or Smart Contracts When You Shouldn't Use Blockchains · In fact, the original bitcoin whitepaper talks about “trustless”¹. Trust is a human value. It's fickle and dependent

RED HAT OFFICE OF THE CTO – AXEL SIMON27

You are probably thinking of contracts like this:

Think programs.

The programs are sent to the blockchain network.

They are executed by blockchain nodes.

“SMART” “CONTRACTS”NEITHER REALLY ONE OR THE OTHER

Page 28: or Smart Contracts When You Shouldn't Use Blockchains · In fact, the original bitcoin whitepaper talks about “trustless”¹. Trust is a human value. It's fickle and dependent

RED HAT OFFICE OF THE CTO – AXEL SIMON28

Smart contracts on multiple nodes, lots of complex interesting legal problems:- legal validity of code- responsibility (initiator? executor? third-parties?)- jurisdictional (where is the program actually running?)- oracles

- timely?- trustworthy? (assumed)- reachable?

“SMART” “CONTRACTS”LOTS OF NEW PROBLEMS TO CONSIDER

Page 29: or Smart Contracts When You Shouldn't Use Blockchains · In fact, the original bitcoin whitepaper talks about “trustless”¹. Trust is a human value. It's fickle and dependent

RED HAT OFFICE OF THE CTO – AXEL SIMON29

Smart contracts on multiple nodes:- how do you keep them updated?

Lots of complex computer problems lie here:- atomicity- race conditions- secure multi party computation (not exactly solved)

Smart contracts on single nodes:- SPOF, central authority?

“SMART” “CONTRACTS”EVEN MORE PROBLEMS TO CONSIDER

Page 30: or Smart Contracts When You Shouldn't Use Blockchains · In fact, the original bitcoin whitepaper talks about “trustless”¹. Trust is a human value. It's fickle and dependent

RED HAT OFFICE OF THE CTO – AXEL SIMON30

Not saying “don’t”.

Saying: think about “why” and “how”.

“SMART” “CONTRACTS”JUST REMEMBER THIS

Page 31: or Smart Contracts When You Shouldn't Use Blockchains · In fact, the original bitcoin whitepaper talks about “trustless”¹. Trust is a human value. It's fickle and dependent

A note about trust

Page 32: or Smart Contracts When You Shouldn't Use Blockchains · In fact, the original bitcoin whitepaper talks about “trustless”¹. Trust is a human value. It's fickle and dependent

RED HAT OFFICE OF THE CTO – AXEL SIMON32

Trust is not a commodity.In fact, the original bitcoin whitepaper talks about “trustless”¹.

Trust is a human value.It's fickle and dependent on a multitude of factors (context, time, goals, people) of which technical solutions are only a part.

TRUST

1. It’s not about zero trust, it’s about choosing who you trust.

Page 33: or Smart Contracts When You Shouldn't Use Blockchains · In fact, the original bitcoin whitepaper talks about “trustless”¹. Trust is a human value. It's fickle and dependent

FIN

Page 34: or Smart Contracts When You Shouldn't Use Blockchains · In fact, the original bitcoin whitepaper talks about “trustless”¹. Trust is a human value. It's fickle and dependent

THANK YOUplus.google.com/+RedHat

linkedin.com/company/red-hat

youtube.com/user/RedHatVideos

facebook.com/redhatinc

twitter.com/RedHatNews

Page 35: or Smart Contracts When You Shouldn't Use Blockchains · In fact, the original bitcoin whitepaper talks about “trustless”¹. Trust is a human value. It's fickle and dependent

Backup slides

Page 36: or Smart Contracts When You Shouldn't Use Blockchains · In fact, the original bitcoin whitepaper talks about “trustless”¹. Trust is a human value. It's fickle and dependent

RED HAT OFFICE OF THE CTO

SOME HELPFUL CONCEPTS“ISN’T IT JUST A DATABASE?”

One can follow the following conceptual path:

1. Centralised database2. Replicated database3. Distributed database

(Up to now, all under the control of one entity.)

4. Distributed ledger / blockchains(Under the control of multiple entities)

https://medium.com/@sbmeunier/blockchain-technology-a-very-special-kind-of-distributed-database-e63d00781118

Page 37: or Smart Contracts When You Shouldn't Use Blockchains · In fact, the original bitcoin whitepaper talks about “trustless”¹. Trust is a human value. It's fickle and dependent

RED HAT OFFICE OF THE CTO

SOME HELPFUL CONCEPTSHORIZONTAL & VERTICAL

Horizontal component● Data is distributed horizontally: every node in the network has a full* copy of the data

Vertical component● Data is ordered chronologically, in a series of blocks, each connected (and cryptographically linked) to the

previous

* Some argue that only sending some of the data to some of the nodes is a superior model