How to explain Bitcoin
to your mother?
@philippecamacho
Distributed System,
Open Source, Digital
Signatures, Collision-
Resistant Hash
Functions, Broadcast
transactions, Merkle
t...
Maybe my
explanation
was not very
clear…
(Let’s do it again)
What is
Bitcoin?
Bitcoin
 It’s like gold expect that it’s digital
 No central authority controls the coins
 Limited number of bitcoins (...
Hum… Looks nice,
but how does it work?
Solution 0
Example: Linden Dollars
I control everything.
Fix #1
Bitcoin is a distributed protocol and is open source.
Solution 1
1 BTC
2 BTC
1 BTC
Great!
I can spend my bitcoins as many times as I want !
(double spending)
Fix #2
 The network shares a transaction book
Solution 2
Origin Destination Amount
Homer Lisa 1 BTC
Homer Bart 2 BTC
Lisa Bart 1 BTC
… … …
The network checks
that an ac...
As every transaction is public,
the identity of user is revealed.
Nobody will want to use such a system!
Fix #3
 Replace user id by some random number.
Solution 3
Origin Destination Amount
HHY67J81 JH89HF8M 1 BTC
HHY67J81 LAU4V6UU 2 BTC
JH89HF8M LAU4V6UU 1 BTC
… … …
Note th...
Every account id is public, thus I can transfer money
from an account that is not mine.
Fix #4: Digital Signatures
Private Key Public Key
= Bart’s address
SignMessage
Signature
Signature
Fix #4: Digital Signatures
Accept /
Reject
Verify
Fix #4: Digital Signatures
Non-repudiation Unforgeability
(You can’t sign in Bart’s name)
Solution 4
Origin Destination Amount Signature
HHY67J81 JH89HF8M 1 BTC Djsh767
HHY67J81 LAU4V6UU 2 BTC 8988dd
JH89HF8M LAU...
I can still do very bad things…
What about publishing a wrong history of transactions…
Things get a bit more complicated…
Name: Shafi Goldwasser
Profession: Computer scientist at MIT
Speciality: Cryptography
O...
FIX #5: Cryptographic Hash Functions
H
01110001110001110
10001010100010010
00110101010010110
01100111100011100
10000101000...
FIX #5: Cryptographic Hash Functions
 Security properties
 One-way
 Given the output y it’s hard
to compute some input ...
Solution 5
HH H
Tx1;
Tx2;
Tx3…
Initial value of
the chain:
coinbase
Tx34;
Tx35;
Tx36…
Tx54;
Tx55;
Tx56…
Block of
transacti...
Who computes the next block?
Proof of work
00000
00001
00010
00011
00100
00101
00110
00111
01000
01001
01010
01011
01100
01101
01110
01111
10000
10001
...
Solution 5
 The first node that manages to
solve the computational puzzle
(nonce) wins the block.
 The network extends t...
Nice in theory but why would
people waste their CPU cycles?
 The winner of a block is rewarded 25 BTC
by the network
(BTW, this is how bitcoins are created)
 This process is called...
1 0-
How to explain bitcoin to your mother
Upcoming SlideShare
Loading in …5
×

How to explain bitcoin to your mother

202
-1

Published on

This presentation explains Bitcoin in a simple way.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
202
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

How to explain bitcoin to your mother

  1. 1. How to explain Bitcoin to your mother? @philippecamacho
  2. 2. 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
  3. 3. Maybe my explanation was not very clear…
  4. 4. (Let’s do it again) What is Bitcoin?
  5. 5. 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
  6. 6. Hum… Looks nice, but how does it work?
  7. 7. Solution 0 Example: Linden Dollars
  8. 8. I control everything.
  9. 9. Fix #1 Bitcoin is a distributed protocol and is open source.
  10. 10. Solution 1 1 BTC 2 BTC 1 BTC
  11. 11. Great! I can spend my bitcoins as many times as I want ! (double spending)
  12. 12. Fix #2  The network shares a transaction book
  13. 13. 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.
  14. 14. As every transaction is public, the identity of user is revealed. Nobody will want to use such a system!
  15. 15. Fix #3  Replace user id by some random number.
  16. 16. 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.
  17. 17. Every account id is public, thus I can transfer money from an account that is not mine.
  18. 18. Fix #4: Digital Signatures Private Key Public Key = Bart’s address SignMessage Signature
  19. 19. Signature Fix #4: Digital Signatures Accept / Reject Verify
  20. 20. Fix #4: Digital Signatures Non-repudiation Unforgeability (You can’t sign in Bart’s name)
  21. 21. 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
  22. 22. I can still do very bad things… What about publishing a wrong history of transactions…
  23. 23. Things get a bit more complicated… Name: Shafi Goldwasser Profession: Computer scientist at MIT Speciality: Cryptography Other: Turing Award (march 2013) Your mother
  24. 24. FIX #5: Cryptographic Hash Functions H 01110001110001110 10001010100010010 00110101010010110 01100111100011100 10000101000101110 11011010110100111 Huge input Fixed sized output (e.g. 256 bits)
  25. 25. 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’)
  26. 26. Solution 5 HH H Tx1; Tx2; Tx3… Initial value of the chain: coinbase Tx34; Tx35; Tx36… Tx54; Tx55; Tx56… Block of transactions Block chain …
  27. 27. Who computes the next block?
  28. 28. 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 H1001101|| 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.
  29. 29. 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….
  30. 30. Nice in theory but why would people waste their CPU cycles?
  31. 31.  The winner of a block is rewarded 25 BTC by the network (BTW, this is how bitcoins are created)  This process is called mining.
  32. 32. 1 0-
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×