technical introduction to bitcoins by gilles barbier, partner at thefamily

33
Bitcoin : Theoretical Principles Gilles Barbier, partner @TheFamily

Upload: thefamily

Post on 13-Apr-2017

798 views

Category:

Small Business & Entrepreneurship


1 download

TRANSCRIPT

Page 1: Technical Introduction to Bitcoins by Gilles Barbier, Partner at TheFamily

Bitcoin:Theoretical Principles

Gilles Barbier, partner @TheFamily

Page 2: Technical Introduction to Bitcoins by Gilles Barbier, Partner at TheFamily
Page 3: Technical Introduction to Bitcoins by Gilles Barbier, Partner at TheFamily

Oussama

Aliceone thousand

1000

Recipient Amount

AuthentificationAlice’s bank account

Page 4: Technical Introduction to Bitcoins by Gilles Barbier, Partner at TheFamily

Digital version

reuse

modify

emulate

no_money

[email protected]

[email protected]

Page 5: Technical Introduction to Bitcoins by Gilles Barbier, Partner at TheFamily

Using Private & Public keys

MessagePrivate key

Public keyea43e18442cc4e511cd2c8c58c25ef5c181a5d7dfb65c8e2873eb6f4ec73aaae

hash

Public keys

Page 6: Technical Introduction to Bitcoins by Gilles Barbier, Partner at TheFamily

Authenticate a email check

ea43e18442cc4e511cd2c8c58c25ef5c181a5d7dfb65c8e2873eb6f4ec73aaae

Public keyPrivate key

Page 7: Technical Introduction to Bitcoins by Gilles Barbier, Partner at TheFamily

reuse

modify

emulate

no_money

A Bitcoin Transaction

From: To : Amount : 2.5

ea43e18442cc4e511cd2c8c58c25ef5c181a5d7dfb65c8e2873eb6f4ec73aaae

readable instruction + hash obtained

from Alice private key

Alice Oussama

public keys as accounts identification

Page 8: Technical Introduction to Bitcoins by Gilles Barbier, Partner at TheFamily

In real world, you use a wallet

Private key

Page 9: Technical Introduction to Bitcoins by Gilles Barbier, Partner at TheFamily

> record transactions (avoid duplication) > manage balance (check you have money) > guarantee ‘honesty’

Page 10: Technical Introduction to Bitcoins by Gilles Barbier, Partner at TheFamily

> record transactions (avoid duplication) > manage balance (check you have money) > guarantee ‘honesty’

Page 11: Technical Introduction to Bitcoins by Gilles Barbier, Partner at TheFamily

Blockchain :)

Page 12: Technical Introduction to Bitcoins by Gilles Barbier, Partner at TheFamily

What is the blockchain?time

Page 13: Technical Introduction to Bitcoins by Gilles Barbier, Partner at TheFamily

How to alter the blockchain?• A fraudulent miner CAN NOT

• create or modify a valid transaction from someone else

• A fraudulent miner COULD

• remove a transaction

• modify its own transactions

• include an invalid transaction (syntax or double spend)

time

Page 14: Technical Introduction to Bitcoins by Gilles Barbier, Partner at TheFamily

Decentralised consensus

• Proposed by Satoshi Nakamoto (2008):

• Emergent consensus: consensus is guaranteed only after some time (typically about 1h)

Page 15: Technical Introduction to Bitcoins by Gilles Barbier, Partner at TheFamily

Decentralised consensus• independent verification of all new

transactions by all miner

• independent aggregation of those transactions into a new “block”.

• “random” selection of one of these new blocks (one miner wins a “lottery”)

• independent verification of this new block by all other miners

• independent aggregation of this new block to the blockchain

• independent selection of the “official” blockchain as the longest if any fork occurred

Page 16: Technical Introduction to Bitcoins by Gilles Barbier, Partner at TheFamily

It’s a bit more complicated than that :)

Mining Find a hash of * new transactions * previous block id * random number <= 0000000???????

(“difficulty”)

Page 17: Technical Introduction to Bitcoins by Gilles Barbier, Partner at TheFamily

Blockchain Convergencetwo concurrent winners => a blockchain fork

blockchain converge

blockchaintheoreticalattack

Page 18: Technical Introduction to Bitcoins by Gilles Barbier, Partner at TheFamily
Page 19: Technical Introduction to Bitcoins by Gilles Barbier, Partner at TheFamily

reuse

modify

emulate

no_money

Bitcoin Transaction

From: To : Amount : 2.5

ea43e18442cc4e511cd2c8c58c25ef5c181a5d7dfb65c8e2873eb6f4ec73aaae

hashing message with Alice private key

Alice Oussama

Page 20: Technical Introduction to Bitcoins by Gilles Barbier, Partner at TheFamily

Why 21m bitcoins?

Page 21: Technical Introduction to Bitcoins by Gilles Barbier, Partner at TheFamily

• Miner reward at t0 = 50 bitcoins

• Time to generate a block: 10 min

• Halving rate: 4 years

• 50 +50 +…+ 25 + 25 + … 12.5 + 12 + …etc

• = 50*(1+1/2+1/4+1/8+…)*(4*365*24*6) = 21m !

Page 22: Technical Introduction to Bitcoins by Gilles Barbier, Partner at TheFamily

Farm

Page 23: Technical Introduction to Bitcoins by Gilles Barbier, Partner at TheFamily
Page 24: Technical Introduction to Bitcoins by Gilles Barbier, Partner at TheFamily
Page 25: Technical Introduction to Bitcoins by Gilles Barbier, Partner at TheFamily
Page 26: Technical Introduction to Bitcoins by Gilles Barbier, Partner at TheFamily
Page 27: Technical Introduction to Bitcoins by Gilles Barbier, Partner at TheFamily
Page 28: Technical Introduction to Bitcoins by Gilles Barbier, Partner at TheFamily

Pool

Page 29: Technical Introduction to Bitcoins by Gilles Barbier, Partner at TheFamily
Page 30: Technical Introduction to Bitcoins by Gilles Barbier, Partner at TheFamily
Page 31: Technical Introduction to Bitcoins by Gilles Barbier, Partner at TheFamily

Altcoins

Page 32: Technical Introduction to Bitcoins by Gilles Barbier, Partner at TheFamily

Blockchain

Page 33: Technical Introduction to Bitcoins by Gilles Barbier, Partner at TheFamily

Thanks

@gillesbarbier