bitcoin tutorial (eff)
TRANSCRIPT
-
8/11/2019 Bitcoin Tutorial (EFF)
1/41
Bitcoin Tutorial
Joseph Bonneau
Thanks to Andrew Miller, Arvind Narayanan, Jeremy Clark, Joshua K
-
8/11/2019 Bitcoin Tutorial (EFF)
2/41
Bitcoin has many different part
-
8/11/2019 Bitcoin Tutorial (EFF)
3/41
Part I: Bitcoin in 6 easy s
-
8/11/2019 Bitcoin Tutorial (EFF)
4/41
Double spending: why ecash is
Alice
BobSignA(Transfer X to B)
CharlieSignA(Transfer X to C)
SignZ(Transfer X to A)
Redeem X?
Redeem X?
-
8/11/2019 Bitcoin Tutorial (EFF)
5/41
Step 1: Make the bank a global
SignA(Transfer X to C)
...SignA(Transfer X to B)
...
(the block
SignatureBANK
SignatureBANK
SignatureBANK
SignatureBANK
-
8/11/2019 Bitcoin Tutorial (EFF)
6/41
Step 2: Participants vote on blo
SignatureA SignatureB SignatureC ...
SignatureA SignatureB SignatureC ...
SignatureA SignatureB SignatureD ...
-
8/11/2019 Bitcoin Tutorial (EFF)
7/41
Step 3: A random user picks
N-2
N-1SignatureB
SignatureA
NSignatureC
N
C
-
8/11/2019 Bitcoin Tutorial (EFF)
8/41
Step 4: Resolve conflicts by for
SignA(Transfer X to B)SignatureB
SignatureA
SignA(Transfer X to C)SignatureC Sign
Sign
-
8/11/2019 Bitcoin Tutorial (EFF)
9/41
Step 5: Incentivise correct bloc
SignatureB
SignatureA
SignatureC Sign
Sign
Mint(X, A)
Mint(X, B)
Mint(X, D)
Mint(X, E)
Mint(X, C)
-
8/11/2019 Bitcoin Tutorial (EFF)
10/41
-
8/11/2019 Bitcoin Tutorial (EFF)
11/41
Step 6: Choose by hash power!
Mint(X, A)
Mint(X, B)
Mint(X, C)
SHA-256(BlockN-1, n) = 0x00000000
SHA-256(BlockN-1, n) = 0x0000000
Mining
Mining
-
8/11/2019 Bitcoin Tutorial (EFF)
12/41
Preventing double spending
SignA(Transfer X to B) SignA(Transfer X to C)SignA(Transfer X to B)
Longest cha in
-
8/11/2019 Bitcoin Tutorial (EFF)
13/41
Transaction confirmation (~6 bl
-
8/11/2019 Bitcoin Tutorial (EFF)
14/41
Bitcoin is t ransact ion-based
IN:scriptSig ...scriptSig ...
OUT:scriptPub A,
5.9
...
...
IN:scriptSig A
OUT:scriptPubB,
5.0scriptPubA,
0.9
IN
OU
10
IN:scriptSig ...
OUT:scriptPubA,
9.2
...
-
8/11/2019 Bitcoin Tutorial (EFF)
15/41
Bitcoin transactions specify sc
scriptPubKey:OP_DUP OP_HASH160 OP_EQUALVERIFY
IN:scriptSig ...
scriptSig ...OUT:scriptPub A,
5.9
IN:scriptSig A
OUT:scriptPubB,
5.0scriptPubA,
0.9
OP_DUP OP_HASH160 OP_EQUALVERIF
scriptSig:
Redemption script:
-
8/11/2019 Bitcoin Tutorial (EFF)
16/41
Bitcoin transactions specify sc
OP_DUP OP_HASH160 OP_EQUALVERIF
-
8/11/2019 Bitcoin Tutorial (EFF)
17/41
Bitcoin script features
multiple signatures escrow time locking commitment opening
...
smart contracts?
-
8/11/2019 Bitcoin Tutorial (EFF)
18/41
Part II: Mining & Consen
-
8/11/2019 Bitcoin Tutorial (EFF)
19/41
51% attacks
G
-
8/11/2019 Bitcoin Tutorial (EFF)
20/41
Checkpointing
How decentralized is Bitcoin?
-
8/11/2019 Bitcoin Tutorial (EFF)
21/41
Selfish mining
Observation: for 0.33 < x< 0.5, a fraction xof selfish m
can earn greater than a fraction xof rewards
Secret Block
Secret Block
Majority is not enough: Bitcoin mining is vulnerable
Ittay Eyal and Emin Gn Sirer. Financial Crypto 2014
-
8/11/2019 Bitcoin Tutorial (EFF)
22/41
Mining difficulty
-
8/11/2019 Bitcoin Tutorial (EFF)
23/41
Difficulty adjustment
10 minutes
2 weeks
-
8/11/2019 Bitcoin Tutorial (EFF)
24/41
Mining rewards
-
8/11/2019 Bitcoin Tutorial (EFF)
25/41
Total network capacity
264hashes per block (every 10 minute 275hashes in 2013
o In exchange for ~US$250M Consuming > 100 MW
-
8/11/2019 Bitcoin Tutorial (EFF)
26/41
Bitcoin mining hardware
-
8/11/2019 Bitcoin Tutorial (EFF)
27/41
Should I mine bitcoins?
Chilkoot paKlondike 18
-
8/11/2019 Bitcoin Tutorial (EFF)
28/41
Mining pools Mint(25,0x000000000
0x000000000000490c6b00...
0x00000000x0000000000001e8709ce...
0x00000000000007313f89... 0x0000000
0x000000000000a877902e...
-
8/11/2019 Bitcoin Tutorial (EFF)
29/41
Mining pools
-
8/11/2019 Bitcoin Tutorial (EFF)
30/41
Part III: Bitcoin as a curr
-
8/11/2019 Bitcoin Tutorial (EFF)
31/41
Why does Bitcoin have value?
Consensus
Consensus in state (blockchain) Consensus in payment
Consensus in rules
The Economics of Bitcoin Mining, or Bitcoin in the Presence of Advers
Joshua Kroll, Ian Davey, Ed Felten. WEIS 2013
-
8/11/2019 Bitcoin Tutorial (EFF)
32/41
Price during 2013
-
8/11/2019 Bitcoin Tutorial (EFF)
33/41
Black Markets
Silk Road: US$14M in Revenue in 2012 [Christin 2012
Traveling the Silk Road: A measurement analysis of a large anonymous online
Nicolas Christin, WWW 2013
-
8/11/2019 Bitcoin Tutorial (EFF)
34/41
Capital controls
-
8/11/2019 Bitcoin Tutorial (EFF)
35/41
E-commerce
-
8/11/2019 Bitcoin Tutorial (EFF)
36/41
Bitcoin exchanges
Beware the middleman: Empirical analysis of Bitcoin-exchange risk
Tyler Moore and Nicolas Christin, Financial Crypto 2013
-
8/11/2019 Bitcoin Tutorial (EFF)
37/41
Bitcoin ATMs
-
8/11/2019 Bitcoin Tutorial (EFF)
38/41
Bitcoin meetups
-
8/11/2019 Bitcoin Tutorial (EFF)
39/41
Bitcoin meetups
-
8/11/2019 Bitcoin Tutorial (EFF)
40/41
Bitcoin limitations
~7transactions per secondo Visa: ~10k tps (peak)
248currency unitso ~32k per person on earth
0.0001 BTCtransaction fees typicalo ~$0.40 US
~60 minutesconfirmation delay
A reserve
-
8/11/2019 Bitcoin Tutorial (EFF)
41/41
Questions