bitcoin and blockchain 101

40
Bitcoin & Blockchain 101

Upload: james-turner

Post on 10-Jan-2017

156 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Bitcoin and Blockchain 101

Bitcoin & Blockchain 101

Page 2: Bitcoin and Blockchain 101

Who am I?

James Turner Polyglot programmer

Worked for ebay , BBC, BSkyB CTO @ magnr.com

2

Page 3: Bitcoin and Blockchain 101

Agenda

•How you might know Bitcoin

•What is Bitcoin?

•How Bitcoin solves certain problems

•What is this magical Blockchain everyone is talking about?

• It’s not all shiny

•Recap

•Questions

3

Page 4: Bitcoin and Blockchain 101

This is NOT Bitcoin

4http://www.wired.com/2015/04/silk-road-1/

Page 5: Bitcoin and Blockchain 101

This is

5

Page 6: Bitcoin and Blockchain 101

The Bitcoin protocol

• A method of exchanging data over a network

• A set of rules that everyone adheres to.

• These rules can be verified to check for errors

• Describes a transaction between 1 or more parties

6

Page 7: Bitcoin and Blockchain 101

Bank Alice and Bob

7

Send £100 to Bobpretty please? BOB YOU’RE RICH!

Alice Bob

When Who Amount20 Aug Alice -10021 Aug Graham +2522 Aug Steve -8023 Aug Chen -10

When Who Amount21 Aug Bob +10021 Aug Ian +2521 Aug Dave +1024 Aug Joe -99

COORDINATED EFFORTBANK A BANK B

Bank A Ledger Bank B Ledger

Page 8: Bitcoin and Blockchain 101

Banking problems?

• Centralised system failure (NatWest/RBS ATM glitch)

• Centralised trust failure (Northern Rock)

• Separated Ledgers (no single view of state - impractical auditing)

8

http://www.theguardian.com/business/2016/jan/01/natwest-rbs-customers-hit-another-banking-glitchhttp://news.bbc.co.uk/1/hi/business/6996136.stm

Page 9: Bitcoin and Blockchain 101

Bitcoin Alice and Bob

9

Alice Bob

When Who Amount20 Aug Alice -10021 Aug Bob +10021 Aug Ian +2521 Aug Dave +1021 Aug Graham

a+25

22 Aug Steve -80

Graham

Dave

Steve

When Who Amount20 Aug Alice -10021 Aug Bob +10021 Aug Ian +2521 Aug Dave +1021 Aug Graham

a+25

22 Aug Steve -80

W W A20 Ali-10021 B +21 Ia +21 D +21 Gr +22 St -80

W W A20 Ali-10021 B +21 Ia +21 D +21 Gr +22 St -80W W A20 Ali-10021 B +21 Ia +21 D +21 Gr +22 St -80

Page 10: Bitcoin and Blockchain 101

Bitcoin Alice and Bob Transaction

10

Alice Bob

Graham

Dave

Steve

Who AmtAlice -20Bob +20

Who AmtAlice -20Bob +20

Who AmtAlice -20Bob +20

Who AmtAlice -20Bob +20

When Who Amount20 Aug Alice -10021 Aug Bob +10021 Aug Ian +2521 Aug Dave +1021 Aug Graham

a+25

22 Aug Steve -8023 Aug Alice -2023 Aug Bob +20

When Who Amount20 Aug Alice -10021 Aug Bob +10021 Aug Ian +2521 Aug Dave +1021 Aug Graham

a+25

22 Aug Steve -80

When Who Amt23 Aug Alice -2023 Aug Bob +20

+

W W A20 Ali-10021 B +21 Ia +21 D +21 Gr +22 St -8023 Ali -2023 B +

W W A20 Ali-10021 B +21 Ia +21 D +21 Gr +22 St -8023 Ali -2023 B + W W A20 Ali-10021 B +21 Ia +21 D +21 Gr +22 St -8023 Ali -2023 B +

Page 11: Bitcoin and Blockchain 101

Bitcoin Properties

• Fault tolerance

• No centralised trust

• Auditable

11

Page 12: Bitcoin and Blockchain 101

Problems Solved…

12

Page 13: Bitcoin and Blockchain 101

Not quite…

13

Page 14: Bitcoin and Blockchain 101

EVIL ALICE - Double Spending

14

Alice Bob

When Who Amount20 Aug Alice -10020 Aug Bob +100

When Who Amount20 Aug Alice -10020 Aug Graham +100

Graham

When Who Amount19 Aug Steve +50 19 Aug Ian +1019 Aug Joe -9020 Aug Alice -10020 Aug Bob +100

When Who Amount19 Aug Steve +50 19 Aug Ian +1019 Aug Joe -9020 Aug Alice -10020 Aug Bob +100

When Who Amount19 Aug Steve +50 19 Aug Ian +1019 Aug Joe -9020 Aug Alice -10020 Aug Graham +100

???

Page 15: Bitcoin and Blockchain 101

Changing the ledger a little (part 1)

15

When From To Amount20 Aug Alice Bob 8020 Aug Alice Alice 2021 Aug Bob Graham 8022 Aug Graham Bob 1022 Aug Graham Graham 70

Let’s assume Alice has £100

We can split a transaction into giving some moneyand receiving some change in return. Much like a cash transaction

Page 16: Bitcoin and Blockchain 101

Changing the ledger a little (part 2)

16

TX ID When From To Amount1,0 20 Aug Alice Bob 801,1 20 Aug Alice Alice 202,0 21 Aug Bob Graham 803,0 22 Aug Graham Bob 103,1 22 Aug Graham Graham 70

Let’s give each Transaction an Identity and Index

Page 17: Bitcoin and Blockchain 101

Changing the ledger a little (part 3)

17

TX ID SPENDS When From To Amount SPENT?1,0 0,0 20 Aug Alice Bob 80 YES1,1 0,0 20 Aug Alice Alice 20 NO2,0 1,0 21 Aug Bob Graham 80 YES3,0 2,0 22 Aug Graham Bob 10 NO3,1 2,0 22 Aug Graham Graham 70 NO

Who Balance

Alice 20

Bob 10

Graham 70

Each transaction references a previous transaction

Page 18: Bitcoin and Blockchain 101

Blockchain the Magical Unicorn

18

Block 2

Block 1

reference

TX ID SPENDS When From To Amount SPENT?

1,0 0,0 20 Aug Alice Bob 80 YES

1,1 0,0 20 Aug Alice Alice 20 NO

2,0 1,0 21 Aug Bob Graham 80 YES

3,0 2,0 22 Aug Graham Bob 10 NO

3,1 2,0 22 Aug Graham Graham 70 NO

TX1

TX2

TX3

Page 19: Bitcoin and Blockchain 101

Creating a block

• Take some recent transaction data and a reference to a previous block

• Produce a hash (algorithmic computational function) of this data

• Add the new block to the chain of blocks you know about

• Rinse, repeat…

19

Page 20: Bitcoin and Blockchain 101

What the hash?

“The quick brown fox jumps over the lazy dog”

d7a8fbb307d7809469ca9abcb0082e4f8d5651e46d3cdb762d02d0bf37c9e592

“The quick brown fox jumps over the lazy doh”

631386c0ac66eafac3a28dbe68a76c6cbc0ba6382011481d59e6795243499196

1 letter difference in characters results in extremely different hash results.

20https://en.wikipedia.org/wiki/SHA-2

Page 21: Bitcoin and Blockchain 101

Blockchain

21

Block 1

2cf24d…8b9824

Block 2

5a936e…c5850cPrevious:Previous:

Block 3

Previous:91e924…78f0ab

5a936e…c5850c

Hashed

91e924…78f0ab

Hashed Hashed

TX 1

TX 2

TX 3 TX 4

4101e9…09809f

HEIGHT: 0 HEIGHT: 1 HEIGHT: 2

Page 22: Bitcoin and Blockchain 101

Blockchain immutability

22

Block 1 Block 2 Block 3

5a936e…c5850c 91e924…78f0ab

TX 1

TX 2

TX 3 TX 4

4101e9…09809f

Block 1 Block 2 Block 3

5a936e…c5850c

TX 1

TX 2

TX 3.1 TX 4

4101e9…09809f60da4a…a2f738

XPrevious:91e924…78f0ab

Page 23: Bitcoin and Blockchain 101

Block difficulty

• What’s to stop Alice from re-writing all historical blocks?

• Hashing has to be sufficiently complex so as to take time to produce

• Thus Alice cannot guarantee she will be the next person to “mine” a block.

• Most cryptocurrencies rely on the difficulty being a hash with a certain

number of 0 prefixes, e.g.

• 000000000000000006c7cdecaf9dbe50a5fc693e7a555550d57aa1706f3f964b

• THIS IS PROOF OF WORK (AKA MINING)!

23

Page 24: Bitcoin and Blockchain 101

EVIL ALICE - Double Spending

24

Alice Bob

When Who Amount20 Aug Alice -10020 Aug Bob +100

When Who Amount20 Aug Alice -10020 Aug Graham +100

Graham

When Who Amount19 Aug Steve +50 19 Aug Ian +1019 Aug Joe -9020 Aug Alice -10020 Aug Bob +100

When Who Amount19 Aug Steve +50 19 Aug Ian +1019 Aug Joe -9020 Aug Alice -10020 Aug Bob +100

When Who Amount19 Aug Steve +50 19 Aug Ian +1019 Aug Joe -9020 Aug Alice -10020 Aug Graham +100

When Who Amount19 Aug Steve +50 19 Aug Ian +1019 Aug Joe -9020 Aug Alice -10020 Aug Bob +100

NEW BLOCK FOUND

Page 25: Bitcoin and Blockchain 101

Why bother?

• Each new block is rewarded with bitcoins

• Thus, there is a greater benefit from being a good citizen

25

Page 26: Bitcoin and Blockchain 101

26

Page 27: Bitcoin and Blockchain 101

27

Page 28: Bitcoin and Blockchain 101

EVIL ALICE - Spending Graham’s Money

28

Alice Bob

When Who Amount20 Aug Graham -10020 Aug Alice +100

Graham

When Who Amount19 Aug Steve +50 19 Aug Ian +1019 Aug Joe -9020 Aug Graham -10020 Aug Alice +100

When Who Amount19 Aug Steve +50 19 Aug Ian +1019 Aug Joe -9020 Aug Graham -10020 Aug Alice +100

When Who Amount19 Aug Steve +50 19 Aug Ian +1019 Aug Joe -90

When Who Amount20 Aug Graham -10020 Aug Alice +100

???UM NO!

Page 29: Bitcoin and Blockchain 101

So…

How do I know that the cash you’re giving me, belongs to you?

29

Page 30: Bitcoin and Blockchain 101

Introducing Cryptography

• Cryptography is mathematics (i.e. provable)

• Bitcoin uses asymmetric key cryptography based on ECDSA

• Bitcoin uses the public key component as the “address”.

• No reliance on an intermediary party to provide account numbers.

30

https://en.bitcoin.it/wiki/How_bitcoin_workshttps://en.wikipedia.org/wiki/Public-key_cryptography

Page 31: Bitcoin and Blockchain 101

Public/Private Keys

31

WHO PUBLIC KEY PRIVATE KEY

Alice aabc4d 982831

Bob 8392a1 471829

Graham 1b1b78 747173

Page 32: Bitcoin and Blockchain 101

The Ledger

32

TX ID SPENDS When From To Amount SPENT?

1,0 0,0 20 Aug Alice Bob 80 YES

1,1 0,0 20 Aug Alice Alice 20 NO

2,0 1,0 21 Aug Bob Graham 80 YES

3,0 2,0 22 Aug Graham Bob 10 NO

3,1 2,0 22 Aug Graham Graham 70 NO

Page 33: Bitcoin and Blockchain 101

The Anonymous Ledger

33

TX ID SPENDS When From To Amount SPENT?

1,0 0,0 20 Aug aabc4d Alice

8392a1 Bob 80 YES

1,1 0,0 20 Aug aabc4d Alice

aabc4d Alice 20 NO

2,0 1,0 21 Aug 8392a1 Bob

1b1b78 Graham 80 YES

3,0 2,0 22 Aug 1b1b78 Graham

8392a1 Bob

10 NO

3,1 2,0 22 Aug 1b1b78 Graham

1b1b78 Graham

70 NO

Page 34: Bitcoin and Blockchain 101

The Signed Anonymous Ledger

34

TX ID SPENDS When From To Amount SPENT? SIG

1,0 0,0 20 Aug aabc4d Alice

8392a1 Bob 80 YES 41c1a8

1,1 0,0 20 Aug aabc4d Alice

aabc4d Alice 20 NO 6219dd

2,0 1,0 21 Aug 8392a1 Bob

1b1b78 Graham 80 YES 98fbca

3,0 2,0 22 Aug 1b1b78 Graham

8392a1 Bob

10 NO d38628

3,1 2,0 22 Aug 1b1b78 Graham

1b1b78 Graham

70 NO a8239c8

Page 35: Bitcoin and Blockchain 101

EVIL ALICE - Spending Grahams

35

Alice Bob

When Who Amount SIG20 Aug Graham -100 ???20 Aug Alice +100 ???

Graham

When Who Amount19 Aug Steve +50 19 Aug Ian +1019 Aug Joe -9020 Aug Graham -10020 Aug Alice +100

When Who Amount19 Aug Steve +50 19 Aug Ian +1019 Aug Joe -90

When Who Amount19 Aug Steve +50 19 Aug Ian +1019 Aug Joe -90

Invalid Sig, Reject

When Who Amount SIG20 Aug Graham -100 ???20 Aug Alice +100 ???

Invalid Sig, Reject

X

X

Page 36: Bitcoin and Blockchain 101

36

Page 37: Bitcoin and Blockchain 101

But, it’s not all shiny

• Bitcoin is “eventually consistent” (~10 mins)

• Non-rescindable, once it’s gone, it’s gone!

• Loss of private keys = loss of all money, can’t print any more

• ~1% loss of bitcoin per year

• Change rollouts are hard

37

Page 38: Bitcoin and Blockchain 101

Recap

• Distributed ledger of transactions

• Fault tolerant

• Immutable

• Auditable

• Secure

• Anonymised

• Rewards participation

38

Page 39: Bitcoin and Blockchain 101

So what are people doing with bitcoin?

39

R3 BlockchainConsortium

Purse.io spending power XAPO Debit Card

Gift cards

Smart Contracts

Blockchain in the Linux Kernel

Immutable record keeping

Diamond tracking and verification of source

Bitcoin Savings

Page 40: Bitcoin and Blockchain 101

Questions?

40