bitcoin tutorial - college of computing & informaticsgreenie/cs475/bitcoin tutorial...

67
Bitcoin Tutorial Based on a talk by Joseph Bonneau Thanks to Andrew Miller, Arvind Narayanan, Jeremy Clark, Joshua Kroll, Ed Felten CS 475 May 26, 2015

Upload: dinhkien

Post on 24-May-2018

219 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Bitcoin Tutorial

Based on a talk by Joseph Bonneau

Thanks to Andrew Miller, Arvind Narayanan, Jeremy Clark, Joshua Kroll, Ed Felten

CS 475 May 26, 2015

Page 2: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Bitcoin has many different parts!

Page 3: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Part I: Bitcoin in 6 easy steps

Page 4: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Double spending: why ecash is hard

BANK Alice

Bob SignA(Transfer X to B)

Charlie SignA(Transfer X to C)

SignZ(Transfer X to A)

Redeem X?

Redeem X?

Page 5: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Step 1: Make the bank a global log

SignA(Transfer X to C)

... SignA(Transfer X to B)

...

SignA(Transfer X to C)

(the block chain)

SignatureBANK

SignatureBANK

SignatureBANK

SignatureBANK

Page 6: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Step 2: Participants vote on blocks

SignatureA SignatureB SignatureC ...

SignatureA SignatureB SignatureC ...

SignatureA SignatureB SignatureD ...

Page 7: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Step 3: A random user picks

N-2

N-1

SignA(Transfer X to C)

SignatureB

SignatureA

N SignatureC

N

C

Page 8: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Step 4: Resolve conflicts by forking

SignA(Transfer X to B) SignatureB

SignatureA

SignA(Transfer X to C) SignatureC SignatureD

SignatureE

Page 9: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Step 5: Incentivise correct blocks

SignatureB

SignatureA

SignatureC SignatureD

SignatureE

Mint(X, A)

Mint(X, B)

Mint(X, D)

Mint(X, E)

Mint(X, C)

Page 10: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)
Page 11: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Step 6: Choose by hash power!

Mint(X, A)

Mint(X, B)

Mint(X, C)

SHA-256(BlockN-1, n) = 0x00000000000000003f89...

SHA-256(BlockN-1, n) = 0x00000000000000008c71...

Mining difficulty

Mining difficulty

Page 12: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Preventing double spending

SignA(Transfer X to B) SignA(Transfer X to C) SignA(Transfer X to B)

Longest chain wins

Page 13: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Transaction confirmation (~6 blocks)

Page 14: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Real time bitcoin http://www.blockchain.info

Page 15: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Bitcoin is transaction-based

IN: scriptSig ... scriptSig ...

OUT: scriptPub A,

5.9

...

... IN:

scriptSig A OUT:

scriptPubB, 5.0 scriptPubA,

0.9

IN: scriptSig A scriptSig A

OUT: scriptPubC,

10.0

IN: scriptSig ...

OUT: scriptPubA,

9.2

...

Page 16: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Bitcoin transactions specify scripts scriptPubKey: OP_DUP OP_HASH160 <pubKeyHash> OP_EQUALVERIFY OP_CHECKSIG

IN: scriptSig ... scriptSig ...

OUT: scriptPub A,

5.9

IN: scriptSig A

OUT: scriptPubB, 5.0 scriptPubA,

0.9

<sig> <pubKey> OP_DUP OP_HASH160 <pubKeyHash> OP_EQUALVERIFY OP_CHECKSIG

scriptSig: <sig> <pubKey>

Redemption script:

Page 17: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Bitcoin transactions specify scripts

<sig> <pubKey> OP_DUP OP_HASH160 <pubKeyHash> OP_EQUALVERIFY OP_CHECKSIG

<sig> ✓ <pubKey>

<pubKey>

<pubKeyHash?>

<pubKeyHash>

Page 18: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Bitcoin script features ●  multiple signatures ●  escrow ●  time locking ●  commitment opening ... ●  smart contracts?

Page 19: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Part II: Mining & Consensus

Page 20: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

51% attacks

Goldfinger Attack?

Page 21: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Checkpointing

How decentralized is Bitcoin?

Page 22: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Selfish mining Observation: for 0.33 < x < 0.5, a fraction x of selfish miners can earn greater than a fraction x of rewards

Secret Block

Secret Block

Majority  is  not  enough:  Bitcoin  mining  is  vulnerable  I8ay  Eyal  and  Emin  Gün  Sirer.  Financial  Crypto  2014  

Page 23: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Mining difficulty

bitcoinwisdom.com

Page 24: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Difficulty adjustment

bitcoinwisdom.com

10 minutes

2 weeks

Page 25: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Mining rewards

Courtesy: Brian Warner

Page 26: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Total network capacity ●  264 hashes per block (every 10 minutes!) ●  275 hashes in 2013 o  In exchange for ~US$250M

●  Consuming > 100 MW

Page 27: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Bitcoin mining hardware

Page 28: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Should I mine bitcoins?

Chilkoot pass, Klondike 1898

Page 29: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Mining pools Mint(25, KPOOL)

0x00000000000000003f89...

0x000000000000490c6b00...

0x00000000000000003f89... 0x0000000000001e8709ce...

0x00000000000007313f89...

0x00000000000045a1611f...

0x000000000000a877902e...

Page 30: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Mining pools

Page 31: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)
Page 32: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Part III: Bitcoin as a currency

Page 33: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

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  Adversaries  Joshua  Kroll,  Ian  Davey,  Ed  Felten.  WEIS  2013  

Page 34: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Price during 2013

Page 35: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Price during 2013-2015

Page 36: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Black Markets

Silk Road: US$14M in Revenue in 2012 [Christin 2012] Traveling  the  Silk  Road:  A  measurement  analysis  of  a  large  anonymous  online  marketplace  Nicolas  ChrisSn, WWW  2013  

Page 37: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Capital controls

Page 38: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

E-commerce

Page 39: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Bitcoin exchanges

Beware  the  middleman:  Empirical  analysis  of  Bitcoin-­‐exchange  risk  Tyler  Moore  and  Nicolas  ChrisSn, Financial  Crypto  2013  

Page 40: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Bitcoin ATMs

Page 41: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Bitcoin meetups

Page 42: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Bitcoin meetups

Page 43: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Part IV: Neat applications

Page 44: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Green Addresses (speeding up payments)

IN: scriptSig ...

OUT: scriptPub A,

10.0

IN: scriptSig A

OUT: scriptPub O,

1.0 scriptPub A, 9.0

x 6

Page 45: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Green Addresses (speeding up payments)

IN: scriptSig ...

OUT: scriptPub G,

10.0

IN: scriptSig A

OUT: scriptPub O,

1.0 scriptPub A, 9.0

I promise to never double-spend!

Page 46: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Sequential micropayments

IN: scriptSig ...

OUT: scriptPub G,

10.0

I promise to never double-spend!

IN: scriptSig A

OUT: scriptPub O,

0.1 scriptPub A, 9.9

IN: scriptSig A

OUT: scriptPub O,

0.2 scriptPub A, 9.8

IN: scriptSig A

OUT: scriptPub O,

0.3 scriptPub A, 9.7

IN: scriptSig A

OUT: scriptPub O,

0.4 scriptPub A, 9.6

Page 47: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Secure commitments (timestamping)

Hash Data

CommitCoin:  carbon  daSng  commitments  with  Bitcoin  Jeremy  Clark,  Aleksander  Essex.  Financial  Crypto  2012  

Page 48: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Randomness Beacon

Hash =

Page 49: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Part V: Anonymity

Page 50: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Tracing Bitcoin transactions

IN: scriptSig A1 scriptSig A2

OUT: scriptPub

A3, 5.9

...

... IN:

scriptSig A3 OUT:

scriptPubB, 5.0 scriptPubA4,

0.9

Joint control Change addresses

Page 51: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Building the transaction graph

A  FisWul  of  Bitcoins:  Characterizing  Payments  Among  Men  with  No  Names  Sarah  Meiklejohn  et  al, IMC  2013  

Page 52: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Bitcoins carry a transaction history

Towards  Risk  Scoring  of  Bitcoin  TransacSons  Möser,  Malte,  Rainer  Böhme,  and  Dominic  Breuker, BITCOIN  2013  

●  identification ●  censorship ●  recovery from theft ●  economic analysis

Page 53: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Mixes

Page 54: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Mixes today

Caution: Mixing services may themselves be operating with anonymity. As such, if the mixing output fails to be delivered or access to funds is denied there is no recourse. Use at your own discretion.

-The Bitcoin Wiki

An  inquiry  into  money  laundering  tools  in  the  Bitcoin  ecosystem  Möser,  Malte,  Rainer  Böhme,  and  Dominic  Breuker, ECRIME  2013  

Page 55: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

If  v  ➡  kesc  by  tin,  but  not          v  ➡  kout  by  tout  The  client  publishes  

If  I  send  you  v  bitcoins  by  Sme  tin  Will  you  send  v  to  my  address  kout  by  Sme  tout?  

Sure!  Just  send  your  coins  kesc    Sign(v,  tin,  tout  ,kout  ,kesc}  

Anyone  can  verify  cheaSng  

(Ideally)  no  one  trusts              anymore  

Better mixes with warranties

Mixcoin:  Anonymity  for  Bitcoin  with  accountable  mixes  J.  Bonneau,  A.  Narayanan,  A.  Miller,  J.  Clark,  J.  Kroll,  E.  Felten.  Financial  Crypto  2013  

Page 56: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Coin Join

IN: scriptSig P scriptSig M scriptSig S

OUT:

scriptPub P’, 1.0 scriptPub M’, 1.0 scriptPub

S’, 1.0

Page 57: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Zerocoin Bitcoin Zerocoin

CRYPTO! Zerocoin:  Anonymous  distributed  e-­‐cash  from  bitcoin  Ian  Miers,  ChrisSna  Garman,  Ma8hew  Green,  Avi  Rubin.  IEEE  Oakland  2013  

Page 58: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Zerocash

“Cryptocurrencies are just a gateway drug to SNARKS”

Zerocash:  Decentralized  Anonymous  Payments  from  Bitcoin  E.  Ben-­‐Sasson,  A.  Chiesa,  C.  Garman,  M.  Green,  I.  Miers,  E.  Tromer,  M.  Virza  IEEE  Oakland  2014  

Page 59: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Part VI: Extensions & Altcoins

Page 60: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Types of changes to Bitcoin

●  overlay ●  soft fork ●  hard fork ●  alternate chain ●  alternate systems

Easy

Hard

Deploym

ent difficulty

Page 61: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Overlays

Page 62: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

✓Soft fork changes

●  Pay-to-script-hash ●  Pay-to-SNARK (CoinWitness) ●  ECDSA-P256 replacements ●  Zerocoin

Page 63: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Hard fork changes

●  Change block size ●  Change block frequency ●  Various bug fixes ●  Restructuring the chain

Page 64: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Altcoins (Bitcoin-like chain)

Page 65: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Other altcoins

Page 66: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Bitcoin limitations ●  ~7 transactions per second

o  Visa: ~10k tps (peak) ●  248 currency units

o  ~32k per person on earth ●  0.0001 BTC transaction fees typical

o  ~$0.40 US ●  ~60 minutes confirmation delay

A reserve currency?

Page 67: Bitcoin Tutorial - College of Computing & Informaticsgreenie/cs475/Bitcoin tutorial (CS475).pdfBitcoin Tutorial Based on a talk by ... Secret Block Majority)is ... Emin)Gün)Sirer.)Financial)Crypto)2014)

Questions