33
How to explain Bitcoin to your mother? @philippecamacho

How to explain bitcoin to your mother

Embed Size (px)

DESCRIPTION

This presentation explains Bitcoin in a simple way.

Citation preview

Page 1: How to explain bitcoin to your mother

How to explain Bitcoin

to your mother? @philippecamacho

Page 2: How to explain bitcoin to your mother

Distributed System,

Open Source, Digital

Signatures, Collision-

Resistant Hash

Functions, Broadcast

transactions, Merkle

trees,…

Very interesting…

I can send bitcoin via

email right?

Me My mother

Page 3: How to explain bitcoin to your mother

Maybe my

explanation

was not very

clear…

Page 4: How to explain bitcoin to your mother

(Let’s do it again)

What is

Bitcoin?

Page 5: How to explain bitcoin to your mother

Bitcoin

It’s like gold expect that it’s digital

No central authority controls the coins

Limited number of bitcoins (btc)

You can keep it or transfer it

You don’t have to reveal your identity

Page 6: How to explain bitcoin to your mother

Hum… Looks nice,

but how does it work?

Page 7: How to explain bitcoin to your mother
Page 8: How to explain bitcoin to your mother

Solution 0

Example: Linden Dollars

Page 9: How to explain bitcoin to your mother

I control everything.

Page 10: How to explain bitcoin to your mother

Fix #1

Bitcoin is a distributed protocol and is open source.

Page 11: How to explain bitcoin to your mother

Solution 1

1 BTC

2 BTC 1 BTC

Page 12: How to explain bitcoin to your mother

Great!

I can spend my bitcoins as many times as I want !

(double spending)

Page 13: How to explain bitcoin to your mother

Fix #2

The network shares a transaction book

Page 14: How to explain bitcoin to your mother

Solution 2

Origin Destination Amount

Homer Lisa 1 BTC

Homer Bart 2 BTC

Lisa Bart 1 BTC

… … …

The network checks

that an account is

funded before

allowing a new

transfer.

Page 15: How to explain bitcoin to your mother

As every transaction is public,

the identity of user is revealed.

Nobody will want to use such a system!

Page 16: How to explain bitcoin to your mother

Fix #3

Replace user id by some random number.

Page 17: How to explain bitcoin to your mother

Solution 3

Origin Destination Amount

HHY67J81 JH89HF8M 1 BTC

HHY67J81 LAU4V6UU 2 BTC

JH89HF8M LAU4V6UU 1 BTC

… … …

Note that any user

can create multiple

accounts.

Page 18: How to explain bitcoin to your mother

Every account id is public, thus I can transfer money

from an account that is not mine.

Page 19: How to explain bitcoin to your mother

Fix #4: Digital Signatures

Private Key Public Key

= Bart’s address

Sign Message

Signature

Page 20: How to explain bitcoin to your mother

Signature

Fix #4: Digital Signatures

Accept /

Reject Verify

Page 21: How to explain bitcoin to your mother

Fix #4: Digital Signatures

Non-repudiation Unforgeability

(You can’t sign in Bart’s name)

Page 22: How to explain bitcoin to your mother

Solution 4

Origin Destination Amount Signature

HHY67J81 JH89HF8M 1 BTC Djsh767

HHY67J81 LAU4V6UU 2 BTC 8988dd

JH89HF8M LAU4V6UU 1 BTC djDhd7n

… … …

Every bitcoin address

corresponds to the

public key.

Message

Page 23: How to explain bitcoin to your mother

I can still do very bad things…

What about publishing a wrong history of transactions…

Page 24: How to explain bitcoin to your mother

Things get a bit more complicated…

Name: Shafi Goldwasser

Profession: Computer scientist at MIT

Speciality: Cryptography

Other: Turing Award (march 2013)

Your mother

Page 25: How to explain bitcoin to your mother

FIX #5: Cryptographic Hash Functions

H

01110001110001110

10001010100010010

00110101010010110

01100111100011100

10000101000101110

11011010110100111

Huge input

Fixed sized output

(e.g. 256 bits)

Page 26: How to explain bitcoin to your mother

FIX #5: Cryptographic Hash Functions

Security properties

One-way

Given the output y it’s hard to compute some input x such that H(x) = y

Collision-Resistant

It’s hard to find two different values x,x’ such that

H(x)=H(x’)

Page 27: How to explain bitcoin to your mother

Solution 5

H H H

Tx1;

Tx2;

Tx3…

Initial value of

the chain:

coinbase

Tx34;

Tx35;

Tx36…

Tx54;

Tx55;

Tx56…

Block of

transactions

Block chain

Page 28: How to explain bitcoin to your mother

Who computes the next block?

Page 29: How to explain bitcoin to your mother

Proof of work

00000 00001

00010 00011

00100 00101 00110 00111

01000 01001 01010 01011 01100 01101

01110 01111

10000

10001 10010 10011 10100 10101 10110

10111 11000 11001 11010 11011

11100 11101 11110 11111

H 1001101|| x 000||10

Find the nonce x such

that the output starts

with 3 zeros.

The only way (*) to

compute the nonce such

that the ouput starts with 𝒏 zeros is to try with roughly

𝟐𝒏 hash values

(*) If you find a better way you may (1) get rich, (2) be famous (Turing award), or (3) both.

Page 30: How to explain bitcoin to your mother

Solution 5

The first node that manages to solve the computational puzzle (nonce) wins the block.

The network extends the chain from the newly computed block

The network always choose the largest chain

Damned!

I need to control 51% of the network….

Page 31: How to explain bitcoin to your mother

Nice in theory but why would

people waste their CPU cycles?

Page 32: How to explain bitcoin to your mother

The winner of a block is rewarded 25 BTC

by the network

(BTW, this is how bitcoins are created)

This process is called mining.

Page 33: How to explain bitcoin to your mother

1 0 -