Slide 1

Slide 1 text

Blockchain: The slowest, most fascinating “database” you’ll ever see Stefan Tilkov, innoQ
 @stilkov

Slide 2

Slide 2 text

a.k.a.
 “I don’t know Blockchain (and you can, too)” Stefan Tilkov, innoQ
 @stilkov

Slide 3

Slide 3 text

1.

Slide 4

Slide 4 text

Bitcoin > Practical application of cryptography to > maintain a pseudonymous, global history of transactions > with guaranteed consistency > without centralization or intermediaries > resistant to forgery and fraud > Created in 2009 by Satoshi Nakamoto > Most successful crypto-currency to date

Slide 5

Slide 5 text

Cryptography?
 Oh no! Don’t worry.

Slide 6

Slide 6 text

Hashing Hashing Algorithm 0100101001001 01011111100101 0010101001010 11010101001011 1000100101001 00101011111100 12CA0219FABC1236

Slide 7

Slide 7 text

Hashing Algorithm 0100101001001 01011111101101 0010101001010 11010101001011 1000100101001 00101011111100 ABC8329FF129878E Hashing

Slide 8

Slide 8 text

0100101001001 01011111100101 0010101001010 11010101001011 1000100101001 00101011111100 12CA0219FABC1236 Hashing

Slide 9

Slide 9 text

Bitcoin: Vocabulary Transaction Block Wallet Address Node Blockchain Private Key Public Key maintains copy of creates consists of inputs encumbered with derived from derived from maintains validated by includes creates references previous Bitcoin contains

Slide 10

Slide 10 text

Bitcoin > The technology > The currency > Created via “mining” (coinbase tx) > 1 Bitcoin (BTC) = 1,000 mBTC = 1,000,000 uBTC = 1,000,000,000 Satoshi > Coins are maintained as part of transactions (not anonymous) Transaction Block Wallet Address Node Blockchain Private Key Public Key maintains copy of creates consists of inputs encumbered with derived from maintains validated by includes creates references previous Bitcoin contains

Slide 11

Slide 11 text

Bitcoin: Wallet > Maintains private keys, public keys, addresses > Used to sign transactions (sort of) > Implementations for mobile devices, Mac, Windows, Linux > “Online wallets” a.k.a. “a very bad idea” > Offline wallet Transaction Block Wallet Address Node Blockchain Private Key Public Key maintains copy of creates consists of inputs encumbered with derived from derived from maintains validated by includes creates references previous Bitcoin contains

Slide 12

Slide 12 text

Bitcoin: Transactions > Multiple inputs (unspent transaction output, UTXO) > Inputs can only be spent by owner > Multiple outputs > “Unspent” outputs are “encumbered” with recipient key > Can be sent to any node > Will be included in (validated by) block Transaction Block Wallet Address Node Blockchain Key Public Key maintains copy of creates consists of inputs encumbered with derived from maintains validated by includes creates references previous

Slide 13

Slide 13 text

Bitcoin: Blocks > Reference transactions > Include proof of work > Reference previous block > Number of blocks relate to level of trust Transaction Block Wallet Address Node Blockchain maintains copy of creates consists of inputs encumbered with maintains validated by includes creates references previous

Slide 14

Slide 14 text

Bitcoin: Nodes > Form a peer-to-peer network > Relay messages > Validate transactions and blocks > Maintain a copy of the blockchain Block Address Node Blockchain maintains copy of creates consists of encumbered with validated by references previous

Slide 15

Slide 15 text

Bitcoin: Blockchain > Linked list of all blocks ever created > Can and will be validated by every node > History of every transaction ever performed > Not actually a ledger Block Address Node Blockchain maintains copy of creates consists of encumbered with validated by references previous

Slide 16

Slide 16 text

Bitcoin: Mining & proof of work > Proof: Find a SHA256 input that meets network “difficulty target”) > Cheaper to play by the rules than to cheat > Difficulty adjusted over time > Only way for new bitcoins to get introduced > Optional transaction fee

Slide 17

Slide 17 text

Bitcoin: Validation/Consensus > Blocks chain – the more blocks reference a block, the better > Transactions considered immutable after 6 blocks > Consensus by means of “longest chain” Demo

Slide 18

Slide 18 text

Merkle Trees 12CA0219 0100 1100 0110 0101 1011 1010 1001 0001 3AF0CA32 AB198EE0 C391AABE 098AF1531 392ACD011 34999AFEE

Slide 19

Slide 19 text

12CA0219 0100 1100 0110 0101 1011 1011 1001 0001 3AF0CA32 AB198EE0 C391AABE 098AF1531 392ACD011 34999AFEE Merkle Trees

Slide 20

Slide 20 text

12CA0219 0100 1100 0110 0101 1011 1011 1001 0001 3AF0CA32 CA13092AF C391AABE 098AF1531 392ACD011 34999AFEE Merkle Trees

Slide 21

Slide 21 text

12CA0219 0100 1100 0110 0101 1011 1011 1001 0001 3AF0CA32 CA13092AF C391AABE 098AF1531 AAF0139F 34999AFEE Merkle Trees

Slide 22

Slide 22 text

12CA0219 0100 1100 0110 0101 1011 1011 1001 0001 3AF0CA32 CA13092AF C391AABE 098AF1531 AAF0139F AFE03801 Merkle Trees

Slide 23

Slide 23 text

Bitcoin: Script > Intentionally limited scripting > P2SH (“pay to script hash”) address (as opposed to P2PKH) > Usage e.g. for multi-signature (joint accounts) > Challenge: To spend, provide valid input to script > Base script: Ensure recipient has correct private key

Slide 24

Slide 24 text

2.

Slide 25

Slide 25 text

Ethereum vs. Bitcoin > Blockchain as technical basis > Currency: Ether > 1 Block approx. every minute > Currently proof of work, change to proof of stake planned > Platform for arbitrary contracts > State as part of the blockchain

Slide 26

Slide 26 text

Ethereum: Contracts & Code > Accounts can externally owned > Accounts can be embodied by code (“contract account”) > Contracts specify rules for interactions

Slide 27

Slide 27 text

“Here, run that code for me, will ya?”

Slide 28

Slide 28 text

Ethereum: Gas > Computation requires payment (“gas”) > Amount determined by caller > Execution of instructions consumes gas

Slide 29

Slide 29 text

Ethereum: Programming > Low-level byte code: EVM > Multiple languages > LLL (Lisp-like, low-level) > Serpent (Pythonesque) > Solidity (similar to JavaScript, but statically typed) > Executed by every node mining or validating blocks

Slide 30

Slide 30 text

3. Alternatives

Slide 31

Slide 31 text

Alternative approaches > Altcoins (Namecoin, Dogecoin, Devcoin, Bytecoin, …) > Colored coin > Metacoin

Slide 32

Slide 32 text

Sidechain approach > Create additional/parallel state model > Anchor in blockchain for validation Bitcoin Network Exchange

Slide 33

Slide 33 text

Bitcoin Network Exchange User Address Exchange Address Sidechain approach > Create additional/parallel state model > Anchor in blockchain for validation

Slide 34

Slide 34 text

Bitcoin Network User Address Sidechain Address Side chain SC Address 1 SC Address 2 Sidechain approach > Create additional/parallel state model > Anchor in blockchain for validation

Slide 35

Slide 35 text

Private (“permissioned”) ledgers > Used internally or with trusted partners > Lots of startups: clearmatics, Eris, Peernova, BigchainDB, … > OSS initiative: HyperLedger (Fabric, Sawtooth Lake)

Slide 36

Slide 36 text

4. What’s cool about it?

Slide 37

Slide 37 text

Distributed Consensus > Trustable, secure > Immediate > (Mostly) Unbreakable

Slide 38

Slide 38 text

Open access > Anyone can participate > No centralized control > Globalized

Slide 39

Slide 39 text

Disrupting intermediaries > Intermediaries provide consistency as a service > Risk of monopolies > Expensive > Possibly influenced by politics > Blockchain cuts out the middle man

Slide 40

Slide 40 text

Cost reduction for clearing > Collaborations rely on clearing e.g. in finance, logistics, energy > Reduced cost due to “permissioned” model (more trust)

Slide 41

Slide 41 text

Bitcoin: Fraud > Every bitcoin theft due to exchanges > Not a single successful attack on the blockchain itself > Much less vulnerable than any other currency

Slide 42

Slide 42 text

5.
 What about the bad parts?

Slide 43

Slide 43 text

Vulnerabilities > TheDAO on Ethereum: 150 million USD investment > Theft (?) of 60 million USD due to bug in contract code > Ethereum Hard-fork “If code is law, what’s wrong with bugs?”

Slide 44

Slide 44 text

Scalability > 1 block every ten minutes > Current size limit: 1 MB – 5,000 tx – 600 sec – 8.3 tx/s > Current visa tx rate: 5,000-50,000 tx/s > Possible solutions: > Increase block size > “Segregated witness”

Slide 45

Slide 45 text

Bitcoin: Volatility > Exchange rate with other currencies (real and crypto) > Much more stable in recent months > Will likely calm down even more > Has hurt “the brand” significantly

Slide 46

Slide 46 text

6. Use Cases

Slide 47

Slide 47 text

Property Management > Record (partial) ownership > Trade property/shares > Identity > DRM > Access Control > Digital Assets

Slide 48

Slide 48 text

Obligations > Emission fees > Debt > Clean energy fares

Slide 49

Slide 49 text

Distributed Autonomous Organizations > Complex interactions among participants > Multi-tiered > Corporation contracts as code

Slide 50

Slide 50 text

7. Summary (a.k.a. what I believe today)

Slide 51

Slide 51 text

Trusted, distributed, decentralized platforms will play a significant role in many industries

Slide 52

Slide 52 text

Don’t dismiss Bitcoin, Ethereum or public, permissionless blockchains in general just yet

Slide 53

Slide 53 text

Permissioned ledgers may be the future – or just an intermediate step to a new shared platform
 (similarly to the Internet)

Slide 54

Slide 54 text

The barrier to entry has never been this low – commercially as well as from a technical perspective

Slide 55

Slide 55 text

Stefan Tilkov
 [email protected]
 Phone: +49 170 471 2625 innoQ Deutschland GmbH Krischerstr. 100 40789 Monheim am Rhein Germany Phone: +49 2173 3366-0 innoQ Schweiz GmbH Gewerbestr. 11 CH-6330 Cham Switzerland Phone: +41 41 743 0116 www.innoq.com Ohlauer Straße 43 10999 Berlin Germany Phone: +49 2173 3366-0 Ludwigstr. 180E 63067 Offenbach Germany Phone: +49 2173 3366-0 Kreuzstraße 16
 80331 München Germany Phone: +49 2173 3366-0 Thank you. Questions?
 Comments? @stilkov