How to explain bitcoin to your mother
-
Upload
philippe-camacho -
Category
Technology
-
view
96 -
download
1
description
Transcript of How to explain bitcoin to your mother
![Page 1: How to explain bitcoin to your mother](https://reader035.fdocuments.us/reader035/viewer/2022081802/548faa15b479591e1d8b4d31/html5/thumbnails/1.jpg)
How to explain Bitcoin
to your mother? @philippecamacho
![Page 2: How to explain bitcoin to your mother](https://reader035.fdocuments.us/reader035/viewer/2022081802/548faa15b479591e1d8b4d31/html5/thumbnails/2.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022081802/548faa15b479591e1d8b4d31/html5/thumbnails/3.jpg)
Maybe my
explanation
was not very
clear…
![Page 4: How to explain bitcoin to your mother](https://reader035.fdocuments.us/reader035/viewer/2022081802/548faa15b479591e1d8b4d31/html5/thumbnails/4.jpg)
(Let’s do it again)
What is
Bitcoin?
![Page 5: How to explain bitcoin to your mother](https://reader035.fdocuments.us/reader035/viewer/2022081802/548faa15b479591e1d8b4d31/html5/thumbnails/5.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022081802/548faa15b479591e1d8b4d31/html5/thumbnails/6.jpg)
Hum… Looks nice,
but how does it work?
![Page 7: How to explain bitcoin to your mother](https://reader035.fdocuments.us/reader035/viewer/2022081802/548faa15b479591e1d8b4d31/html5/thumbnails/7.jpg)
![Page 8: How to explain bitcoin to your mother](https://reader035.fdocuments.us/reader035/viewer/2022081802/548faa15b479591e1d8b4d31/html5/thumbnails/8.jpg)
Solution 0
Example: Linden Dollars
![Page 9: How to explain bitcoin to your mother](https://reader035.fdocuments.us/reader035/viewer/2022081802/548faa15b479591e1d8b4d31/html5/thumbnails/9.jpg)
I control everything.
![Page 10: How to explain bitcoin to your mother](https://reader035.fdocuments.us/reader035/viewer/2022081802/548faa15b479591e1d8b4d31/html5/thumbnails/10.jpg)
Fix #1
Bitcoin is a distributed protocol and is open source.
![Page 11: How to explain bitcoin to your mother](https://reader035.fdocuments.us/reader035/viewer/2022081802/548faa15b479591e1d8b4d31/html5/thumbnails/11.jpg)
Solution 1
1 BTC
2 BTC 1 BTC
![Page 12: How to explain bitcoin to your mother](https://reader035.fdocuments.us/reader035/viewer/2022081802/548faa15b479591e1d8b4d31/html5/thumbnails/12.jpg)
Great!
I can spend my bitcoins as many times as I want !
(double spending)
![Page 13: How to explain bitcoin to your mother](https://reader035.fdocuments.us/reader035/viewer/2022081802/548faa15b479591e1d8b4d31/html5/thumbnails/13.jpg)
Fix #2
The network shares a transaction book
![Page 14: How to explain bitcoin to your mother](https://reader035.fdocuments.us/reader035/viewer/2022081802/548faa15b479591e1d8b4d31/html5/thumbnails/14.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022081802/548faa15b479591e1d8b4d31/html5/thumbnails/15.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022081802/548faa15b479591e1d8b4d31/html5/thumbnails/16.jpg)
Fix #3
Replace user id by some random number.
![Page 17: How to explain bitcoin to your mother](https://reader035.fdocuments.us/reader035/viewer/2022081802/548faa15b479591e1d8b4d31/html5/thumbnails/17.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022081802/548faa15b479591e1d8b4d31/html5/thumbnails/18.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022081802/548faa15b479591e1d8b4d31/html5/thumbnails/19.jpg)
Fix #4: Digital Signatures
Private Key Public Key
= Bart’s address
Sign Message
Signature
![Page 20: How to explain bitcoin to your mother](https://reader035.fdocuments.us/reader035/viewer/2022081802/548faa15b479591e1d8b4d31/html5/thumbnails/20.jpg)
Signature
Fix #4: Digital Signatures
Accept /
Reject Verify
![Page 21: How to explain bitcoin to your mother](https://reader035.fdocuments.us/reader035/viewer/2022081802/548faa15b479591e1d8b4d31/html5/thumbnails/21.jpg)
Fix #4: Digital Signatures
Non-repudiation Unforgeability
(You can’t sign in Bart’s name)
![Page 22: How to explain bitcoin to your mother](https://reader035.fdocuments.us/reader035/viewer/2022081802/548faa15b479591e1d8b4d31/html5/thumbnails/22.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022081802/548faa15b479591e1d8b4d31/html5/thumbnails/23.jpg)
I can still do very bad things…
What about publishing a wrong history of transactions…
![Page 24: How to explain bitcoin to your mother](https://reader035.fdocuments.us/reader035/viewer/2022081802/548faa15b479591e1d8b4d31/html5/thumbnails/24.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022081802/548faa15b479591e1d8b4d31/html5/thumbnails/25.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022081802/548faa15b479591e1d8b4d31/html5/thumbnails/26.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022081802/548faa15b479591e1d8b4d31/html5/thumbnails/27.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022081802/548faa15b479591e1d8b4d31/html5/thumbnails/28.jpg)
Who computes the next block?
![Page 29: How to explain bitcoin to your mother](https://reader035.fdocuments.us/reader035/viewer/2022081802/548faa15b479591e1d8b4d31/html5/thumbnails/29.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022081802/548faa15b479591e1d8b4d31/html5/thumbnails/30.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022081802/548faa15b479591e1d8b4d31/html5/thumbnails/31.jpg)
Nice in theory but why would
people waste their CPU cycles?
![Page 32: How to explain bitcoin to your mother](https://reader035.fdocuments.us/reader035/viewer/2022081802/548faa15b479591e1d8b4d31/html5/thumbnails/32.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022081802/548faa15b479591e1d8b4d31/html5/thumbnails/33.jpg)
1 0 -