SlideShare a Scribd company logo
1 of 108
Class 26:
Cryptocurrency
Jeopardy
Cryptocurrency Cabal
cs4501 Fall 2015
David Evans and Samee Zahur
University of Virginia
Discretionary Final Exam
• Everyone should have received an email from me
with guidance
• If it included a tentative final exam time, you
need to confirm this.
• Final exam: (scheduled for 20 minutes)
– Explain bitcoin to a [VC, congress critter, CS major]
– Answer a few substantive questions (not like the
mostly “trivia” jeopardy questions today)
1
2
Teams
3
Alishan Hassan
Cody Robertson
Joseph Tobin
Ziqi Liu
A.J. Varshneya
Jacob Freck
Peter Leng
Sugat Poudel
Morgan Locks
Vignesh Kuppusamy
Alec Grieser
Acacia Dai
Collin Berman
Eashan Kaw
Fangyang Cui
Luke Gessler
Quentin Moore
Reid Bixler
Kevin Zhao
Sam Prestwood
Carter Hall
Cyrus Malekpour
Dean Makovsky
Elizabeth Kukla
Gardner Fiveash
Kienan Adams
Muthu Chidambaram
Michael Presicce
Ryan Anderson
Xhama Vyas
500 point bonus: How were teams formed?
(Hint: based on answers to one of the registration questions)
4
Alishan Hassan
Cody Robertson
Joseph Tobin
Ziqi Liu
A.J. Varshneya
Jacob Freck
Peter Leng
Sugat Poudel
Morgan Locks
Vignesh Kuppusamy
Alec Grieser
Acacia Dai
Collin Berman
Eashan Kaw
Fangyang Cui
Luke Gessler
Quentin Moore
Reid Bixler
Kevin Zhao
Sam Prestwood
Carter Hall
Cyrus Malekpour
Dean Makovsky
Elizabeth Kukla
Gardner Fiveash
Kienan Adams
Muthu Chidambaram
Michael Presicce
Ryan Anderson
Xhama Vyas
Team Semicolon
C/C++/C#/Java
Team Monty
Python
Team Other
Ruby, JavaScript, None,
Haskell, Rust, Go
5
MOSTLY
ABOUT
SATOSHI
HASHING
UNLOCKING
SCRIPTS
CRYPTO
CURVES
RANDOM ALTCOINS
100 nBTC
200 nBTC
300 nBTC
400 nBTC
100 nBTC
200 nBTC
300 nBTC
400 nBTC
100 nBTC
200 nBTC
300 nBTC
400 nBTC
100 nBTC
200 nBTC
300 nBTC
400 nBTC
100 nBTC
200 nBTC
300 nBTC
400 nBTC
100 nBTC
200 nBTC
300 nBTC
400 nBTC
Final Jeopardy
6
7
According to
Newsweek, this
is Satoshi
Nakamoto’s real
name
8
Return
9
First public announcement of bitcoin was on:
(A) July 4, 2008
(B) Halloween, 2008
(C) Christmas, 2008
(D) Jan 1, 2009
(E) None of These
10
11
Return
Satoshi 300
12
This is what it means for a
transaction to have two
confirmations.
13
14
Return
Satoshi 400
15
Best Answer Question
16
Order these by value from least to most
valuable:
(A) 1B Satoshis
(B) 1 nano-Apple
(C) 1 Gallon of Oil (Light Crude)
(D) 1 Kilogram of Gold
(E) 1 TJoule (in Virginia)
D: Gold = $1052/troy ounce, 1 kg = 32.15 troy ounces ~ $32,000
E: 1 TJ ~ $20,000
A: 100M Satoshis = 1 BTC, 1B Satoshis = 10 BTC ~ $3750
B: 1 nApple = Apple’s market cap = $658B = $658
C: Oil: $42/barrel = 42 gallons = $1
17
1 kw hour = $0.07
1 Joule = 1 w per second
1 kw hour = 1000 J * 3600s = 3.6MJ
TJ = M*MJ = M * $0.07/3.6 M = ~$20K
Bonus: How much would it cost to buy 1TJ of oil?
D: Gold = $1052/troy ounce, 1 kg = 32.15 troy ounces ~ $32,000
E: 1 TJ ~ $20,000
A: 100M Satoshis = 1 BTC, 1B Satoshis = 10 BTC ~ $3750
B: 1 nApple = Apple’s market cap = $658B = $658
C: Oil: $42/barrel = 42 gallons = $1
18
1 gallon of oil ~ 130MJ of energy
$1 * 1T/130M = $7500
Recall our estimate that bitcoin network uses
~200 MJ/s (or 120 GJ/block)
19
Return
Hashing 100
20
A function H has this
property if given y it is hard
to find an x such that
H(x) = y
21
Return
Hashing 200
22
The number of SHA-256 hash
computations expected to find
an x such that
SHA-256(SHA-256(x)) = 0
23
24
Return
Hashing 300
25
Topic: Merkle Trees
Hashing 300
26
Number of
hashes needed
to verify a
transaction in
Block #385972 Assume you already have the block header
and the transaction you want to verify.
27
28
Return
Hashing 400
29
All the places where
cryptographic hash functions
are used in bitcoin.
All teams answer: best answer(s) win.
Hashing in Bitcoin
• Producing the public bitcoin address by hashing the public key.
• Producing a transaction digest for use as the input in signing a
transaction.
• Producing the Merkle tree root for authenticating the
transactions in a block (using hashes all the way up the tree).
• Producing the hash of the previous block to use in the block
header.
• Proof-of-work: double hash of the block (with nonces) to find a
block that satisfies the difficulty needed in mining.
30
31
Return
Scripts 100
32
The output of
this script:
OP_DATA 3
OP_DATA 2
OP_DATA 1
OP_DUP
OP_ADD
OP_EQUALVERIFY
33
Return
Scripts 200
34
A script that
unlocks this one:
OP_DUP
OP_HASH160
OP_DATA20 adr
OP_EQUALVERIFY
OP_CHECKSIGYou may use pub_adr and priv_adr (the
public and private keys corresponding to
adr in your answer), and trans (the
transaction digest for this transaction).
All correct answers win.
35
36
Return
Scripts 300
37
Opcode implemented by this
code (from bitcoin core).
[Code on next slide – don’t need to name opcode, just explain operation.)
38
39
40
41
Return
Scripts 400
42
In Satoshi’s original script
implementation, this script
unlocks any value.
Scripts 400
43
In Satoshi’s original script
implementation, this script
unlocks any value.
case OP_RETURN: { pc = pend; } break;
44
45
Return
Crypto 100
46
What Bob should send to establish
shared secret with Alice:
𝑔 𝑎
mod 𝑝
Picks secret a
Picks secret b
Public values: 𝑔, 𝑝, 𝑔 𝑎, 𝑔 𝑏
Crypto 100
47
What Bob should send to establish
shared secret with Alice:
𝑔 𝑎
mod 𝑝
Picks secret a
Picks secret b
Public values: 𝑔, 𝑝, 𝑔 𝑎, 𝑔 𝑏
48
Return
Crypto 200
49
A proof that these graphs are
or are not isomorphic.
Graphs on next slide – first team with (good) correct answer wins.
50
A
B
C
D
E
T U XV W
51
52
Return
Crypto 300
53
A group is a set of elements
and an operator that satisfy
these four properties.
All teams answer.
54
Closure: a * b is also a group element.
Associativity: for all a, b, c: (ab)c = a(bc).
Identity element: there exists an element e,
such that for every element a: a * e = a = e * a
Inverse: for every element a, there exists an
element b such that a * b = e = b * a.
55
Closure: a * b is also a group element.
Associativity: for all a, b, c: (ab)c = a(bc).
Identity element: there exists an element e,
such that for every element a: a * e = a = e * a
Inverse: for every element a, there exists an
element b such that a * b = e = b * a.
Bonus: to be useful for El-Gamal signatures, what other properties should it have?
56
Return
Crypto 400
57
Message Alice should send to the public
ledger to transfer X to Bob.
Alice owns coin X and has public/private key
pair (KUA, KRA); Bob has public/private key
pair (KUB, KRB). All teams must answer.
58
59
msg = “I, KUA (Alice), transfer
coin X to KUB (Bob)”
Send to ledger the message signed
by Alice: (msg, EKRA(msg))
60
Return
Random 100
61
This is a random sequence
(choices on next slide).
[All teams may answer]
62
010110000111101100
001110111010000000
011101100000001110
110110010111110011
011110010000011100
000011101110000000
111010100100010100
000101000010011101
110111111110011000
101101010000001001
010110100110101100
001110111010100010
011101100010001110
110110010110110011
011010010010011100
100011101110010000
111010100100010101
000101000010011101
110110101110011000
101101010100001001
Defining
Randomness
63
Андре́й Колмого́ров
Andrey Kolmogorov
(1903-1987)
For a sequence s, its Kolmogorov
Complexity: K(s) = the length of the
shortest description of s
A sequence s is random,
if K(s) = |s| + C
(This is a somewhat informal version. A real definition would
need to be more careful about stating this asymptotically.)
“He was to probability
theory what Euclid was to
geometry.” (Peter Lax)
Kolmogorov Complexities
s = 000000000000000…
64
Kolmogorov Complexities
s = 000000000000000…
description = “N repeated 0s”
K(s) = log |s| + C1 < |s| + C
65
Definitely NOT RANDOM
Kolmogorov Complexities
t = 010011000111000011110000011111…
66
Kolmogorov Complexities
s = 010011000111000011110000011111…
67
description =
“s = “”;
for (i = 1; i < N; i++) {
for (j = 0; j < i; j++) s += ‘0’;
for (j = 0; j < i; j++) s += ‘1’; }”
K(s) = log |s| + C1 < |s| + C
Definitely NOT RANDOM
68
Return
Random 200
69
The smallest natural number
that cannot be described in
eleven words.
70
Return
Random 300
71
Given a sequence s, it is this
hard to compute its
Kolomorgov complexity K(s).
72
73
How many times does one need to write “verifiably random” to be convincing?
Bonus: What specification is this excerpt from?
74
Return
Random 400
75
Dual-EC PRNG
September 2013
76
77
Dual-EC PRNG
78
sisi +1= φ(si ×P)
s0  randomness
Update Internal State
P and Q are random
points on P-256.
Generate Output Bits
ri = φ(si ×Q)
16 least
significant bits of
ri’s x-coordinate
79
80
81
sisi +1= φ(si ×P)
s0
16 least significant
bits of ri’s x-coord
ri = φ(si ×Q)
oi
Bonus 200: given oi, how much work to find ri?
ri = (xi, yi) = (16 unknown bits | oi, yi)
Points on the curve: y2 = x3 – 3x + b (mod p)
82
sisi +1= φ(si ×P)
s0
16 least significant
bits of ri’s x-coord
ri = φ(si ×Q)
oi
Challenge: given oi, can you find si?
ri = (xi, yi) = (16 unknown bits | oi, yi)
Points on the curve: y2 = x3 – 3x + b (mod p)
foreach u in [0, 216]:
g = u | oi
z = g3 – 3g + b (mod p)
if z1/2 mod p exists, on the curve
83
“Rump session” talk at CRYPTO 2007:
Possible Back Door
P and Q are points on the curve
P is a generator of the curve
All points on curve are kP for some k
Curve is prime order: P = eQ for some e
84
Challenge: given oi, can you find si?
85
sisi +1= φ(si ×P)
s0
16 least significant
bits of ri’s x-coord
ri = φ(si ×Q)
oi
Challenge [400]: given oi and backdoor e,
can you find si + 1?
P = eQ
86
sisi +1= φ(si ×P)
s0
16 least significant
bits of ri’s x-coord
ri = φ(si ×Q)
oi
P = eQ
Hint:
Compute ri using brute force 16-bits from oi
Compute: A = (x, y) = ri ×Q
87
2013 Intelligence Budget Request
Snowden Leak (5 September 2013)
2013 Intelligence Budget Request ($250M)
88
89
90
sisi +1= φ(si ×P)
s0
16 least significant
bits of ri’s x-coord
ri = φ(si ×Q)
oi
P = eQ
A = (x, y) = ri ×Q
φ(e × A) = φ(e × si ×Q) = φ(si ×P) = si +1
91
Return
Altcoins 100
92
The Distinguished Alumni
Speaker this Friday (3:30pm
in Rice Auditorium)
93
Adrienne Porter Felt
(UVa BSCS 2008; UCB PhD; Google)
MAKING SECURITY USABLE (FOR A
BILLION USERS)
How do you know if a website is "safe"?
The security community puts enormous
effort into detecting malware, stopping
the next Heartbleed, and sandboxing bad
content. Google Chrome's usable security
team sits at the front end of this work:
we build the UI that tells end users what's
going on with their privacy and security.
Friday, 3:30pm in Rice 130
94
Return
Altcoins 200
95
An open source
peer-to-peer digital
currency, favored
by Shiba Inus
worldwide.
96
97
Return
Altcoins 300
98
According to litecoin.org, “Litecoin
features faster transaction confirmation
times and improved storage efficiency
than the leading math-based currency.”
Reasons why this claim is bogus.
99
Bonus: what are the
advantages of Litecoin’s
scrypt-based proof-of-work?
Best answer wins
100
Return
Altcoins 400
101
The Replace-by-Fee patch changes the
way nodes include transactions from
“first-seen” (if there are conflicting
transactions, take the first one) to
“highest-fee”. Explain how this makes
double-spend attacks easier or harder.
102
103
Return
Final Jeopardy
104
Topic: Block Headers
Final Jeopardy
105
The contents of a bitcoin
block header.
Must get 3 most important things to avoid loss.
Best, most detailed and correct answer wins.
106
107

More Related Content

What's hot

ASFWS 2012 - Hash-flooding DoS reloaded: attacks and defenses par Jean-Philip...
ASFWS 2012 - Hash-flooding DoS reloaded: attacks and defenses par Jean-Philip...ASFWS 2012 - Hash-flooding DoS reloaded: attacks and defenses par Jean-Philip...
ASFWS 2012 - Hash-flooding DoS reloaded: attacks and defenses par Jean-Philip...Cyber Security Alliance
 
Introduction to Homomorphic Encryption
Introduction to Homomorphic EncryptionIntroduction to Homomorphic Encryption
Introduction to Homomorphic EncryptionChristoph Matthies
 
Secure and privacy-preserving data transmission and processing using homomorp...
Secure and privacy-preserving data transmission and processing using homomorp...Secure and privacy-preserving data transmission and processing using homomorp...
Secure and privacy-preserving data transmission and processing using homomorp...DefCamp
 
Homomorphic Encryption
Homomorphic EncryptionHomomorphic Encryption
Homomorphic EncryptionVictor Pereira
 
A verifiable random function with short proofs and keys
A verifiable random function with short proofs and keysA verifiable random function with short proofs and keys
A verifiable random function with short proofs and keysAleksandr Yampolskiy
 
A survey on Fully Homomorphic Encryption
A survey on Fully Homomorphic EncryptionA survey on Fully Homomorphic Encryption
A survey on Fully Homomorphic Encryptioniosrjce
 
Computer security
Computer security Computer security
Computer security Harry Potter
 

What's hot (11)

ASFWS 2012 - Hash-flooding DoS reloaded: attacks and defenses par Jean-Philip...
ASFWS 2012 - Hash-flooding DoS reloaded: attacks and defenses par Jean-Philip...ASFWS 2012 - Hash-flooding DoS reloaded: attacks and defenses par Jean-Philip...
ASFWS 2012 - Hash-flooding DoS reloaded: attacks and defenses par Jean-Philip...
 
Hash function
Hash functionHash function
Hash function
 
Introduction to Homomorphic Encryption
Introduction to Homomorphic EncryptionIntroduction to Homomorphic Encryption
Introduction to Homomorphic Encryption
 
Codes and Isogenies
Codes and IsogeniesCodes and Isogenies
Codes and Isogenies
 
Secure and privacy-preserving data transmission and processing using homomorp...
Secure and privacy-preserving data transmission and processing using homomorp...Secure and privacy-preserving data transmission and processing using homomorp...
Secure and privacy-preserving data transmission and processing using homomorp...
 
Computing on Encrypted Data
Computing on Encrypted DataComputing on Encrypted Data
Computing on Encrypted Data
 
Homomorphic Encryption
Homomorphic EncryptionHomomorphic Encryption
Homomorphic Encryption
 
A verifiable random function with short proofs and keys
A verifiable random function with short proofs and keysA verifiable random function with short proofs and keys
A verifiable random function with short proofs and keys
 
A survey on Fully Homomorphic Encryption
A survey on Fully Homomorphic EncryptionA survey on Fully Homomorphic Encryption
A survey on Fully Homomorphic Encryption
 
1508.07756v1
1508.07756v11508.07756v1
1508.07756v1
 
Computer security
Computer security Computer security
Computer security
 

Similar to Cryptocurrency Jeopardy!

Blockchain Technology - Week 6 - Role of Cryptography in Blockchain
Blockchain Technology - Week 6 - Role of Cryptography in BlockchainBlockchain Technology - Week 6 - Role of Cryptography in Blockchain
Blockchain Technology - Week 6 - Role of Cryptography in BlockchainFerdin Joe John Joseph PhD
 
ACM ICPC 2016 NEERC (Northeastern European Regional Contest) Problems Review
ACM ICPC 2016 NEERC (Northeastern European Regional Contest) Problems ReviewACM ICPC 2016 NEERC (Northeastern European Regional Contest) Problems Review
ACM ICPC 2016 NEERC (Northeastern European Regional Contest) Problems ReviewRoman Elizarov
 
Engineering Fast Indexes for Big-Data Applications: Spark Summit East talk by...
Engineering Fast Indexes for Big-Data Applications: Spark Summit East talk by...Engineering Fast Indexes for Big-Data Applications: Spark Summit East talk by...
Engineering Fast Indexes for Big-Data Applications: Spark Summit East talk by...Spark Summit
 
Engineering fast indexes (Deepdive)
Engineering fast indexes (Deepdive)Engineering fast indexes (Deepdive)
Engineering fast indexes (Deepdive)Daniel Lemire
 
Demystifying Zero Knowledge Proofs [FINAL].pptx
Demystifying Zero Knowledge Proofs [FINAL].pptxDemystifying Zero Knowledge Proofs [FINAL].pptx
Demystifying Zero Knowledge Proofs [FINAL].pptxRedWhite12
 
555_Spring12_topic06.ppt
555_Spring12_topic06.ppt555_Spring12_topic06.ppt
555_Spring12_topic06.pptSnehSinha6
 
zkStudyClub: PLONKUP & Reinforced Concrete [Luke Pearson, Joshua Fitzgerald, ...
zkStudyClub: PLONKUP & Reinforced Concrete [Luke Pearson, Joshua Fitzgerald, ...zkStudyClub: PLONKUP & Reinforced Concrete [Luke Pearson, Joshua Fitzgerald, ...
zkStudyClub: PLONKUP & Reinforced Concrete [Luke Pearson, Joshua Fitzgerald, ...Alex Pruden
 
Elliptic Curve Cryptography
Elliptic Curve CryptographyElliptic Curve Cryptography
Elliptic Curve CryptographyKelly Bresnahan
 
All homework and exams in one file.pdf
All homework and exams in one file.pdfAll homework and exams in one file.pdf
All homework and exams in one file.pdfAnn Wera
 
Dynamic Programming.pptx
Dynamic Programming.pptxDynamic Programming.pptx
Dynamic Programming.pptxThanga Ramya S
 
Elliptical curve cryptography
Elliptical curve cryptographyElliptical curve cryptography
Elliptical curve cryptographyBarani Tharan
 
Analysis of sway type portal frame using direct stiffness method
Analysis of sway type portal frame using direct stiffness methodAnalysis of sway type portal frame using direct stiffness method
Analysis of sway type portal frame using direct stiffness methodkasirekha
 
Blockchain Cryptography for Developers (Nakov @ BlockWorld 2018, San Jose)
Blockchain Cryptography for Developers (Nakov @ BlockWorld 2018, San Jose)Blockchain Cryptography for Developers (Nakov @ BlockWorld 2018, San Jose)
Blockchain Cryptography for Developers (Nakov @ BlockWorld 2018, San Jose)Svetlin Nakov
 

Similar to Cryptocurrency Jeopardy! (20)

Blockchain Technology - Week 6 - Role of Cryptography in Blockchain
Blockchain Technology - Week 6 - Role of Cryptography in BlockchainBlockchain Technology - Week 6 - Role of Cryptography in Blockchain
Blockchain Technology - Week 6 - Role of Cryptography in Blockchain
 
3rd Semester Computer Science and Engineering (ACU) Question papers
3rd Semester Computer Science and Engineering  (ACU) Question papers3rd Semester Computer Science and Engineering  (ACU) Question papers
3rd Semester Computer Science and Engineering (ACU) Question papers
 
ACM ICPC 2016 NEERC (Northeastern European Regional Contest) Problems Review
ACM ICPC 2016 NEERC (Northeastern European Regional Contest) Problems ReviewACM ICPC 2016 NEERC (Northeastern European Regional Contest) Problems Review
ACM ICPC 2016 NEERC (Northeastern European Regional Contest) Problems Review
 
3rd Semester Computer Science and Engineering (ACU) Question papers
3rd Semester Computer Science and Engineering  (ACU) Question papers3rd Semester Computer Science and Engineering  (ACU) Question papers
3rd Semester Computer Science and Engineering (ACU) Question papers
 
Engineering Fast Indexes for Big-Data Applications: Spark Summit East talk by...
Engineering Fast Indexes for Big-Data Applications: Spark Summit East talk by...Engineering Fast Indexes for Big-Data Applications: Spark Summit East talk by...
Engineering Fast Indexes for Big-Data Applications: Spark Summit East talk by...
 
Engineering fast indexes (Deepdive)
Engineering fast indexes (Deepdive)Engineering fast indexes (Deepdive)
Engineering fast indexes (Deepdive)
 
Cs262 2006 lecture6
Cs262 2006 lecture6Cs262 2006 lecture6
Cs262 2006 lecture6
 
Demystifying Zero Knowledge Proofs [FINAL].pptx
Demystifying Zero Knowledge Proofs [FINAL].pptxDemystifying Zero Knowledge Proofs [FINAL].pptx
Demystifying Zero Knowledge Proofs [FINAL].pptx
 
555_Spring12_topic06.ppt
555_Spring12_topic06.ppt555_Spring12_topic06.ppt
555_Spring12_topic06.ppt
 
2.ppt
2.ppt2.ppt
2.ppt
 
ECC_basics.ppt
ECC_basics.pptECC_basics.ppt
ECC_basics.ppt
 
4th Semeste Electronics and Communication Engineering (June-2016) Question Pa...
4th Semeste Electronics and Communication Engineering (June-2016) Question Pa...4th Semeste Electronics and Communication Engineering (June-2016) Question Pa...
4th Semeste Electronics and Communication Engineering (June-2016) Question Pa...
 
zkStudyClub: PLONKUP & Reinforced Concrete [Luke Pearson, Joshua Fitzgerald, ...
zkStudyClub: PLONKUP & Reinforced Concrete [Luke Pearson, Joshua Fitzgerald, ...zkStudyClub: PLONKUP & Reinforced Concrete [Luke Pearson, Joshua Fitzgerald, ...
zkStudyClub: PLONKUP & Reinforced Concrete [Luke Pearson, Joshua Fitzgerald, ...
 
Elliptic Curve Cryptography
Elliptic Curve CryptographyElliptic Curve Cryptography
Elliptic Curve Cryptography
 
3rd Semester Computer Science and Engineering (ACU - 2022) Question papers
3rd Semester Computer Science and Engineering  (ACU - 2022) Question papers3rd Semester Computer Science and Engineering  (ACU - 2022) Question papers
3rd Semester Computer Science and Engineering (ACU - 2022) Question papers
 
All homework and exams in one file.pdf
All homework and exams in one file.pdfAll homework and exams in one file.pdf
All homework and exams in one file.pdf
 
Dynamic Programming.pptx
Dynamic Programming.pptxDynamic Programming.pptx
Dynamic Programming.pptx
 
Elliptical curve cryptography
Elliptical curve cryptographyElliptical curve cryptography
Elliptical curve cryptography
 
Analysis of sway type portal frame using direct stiffness method
Analysis of sway type portal frame using direct stiffness methodAnalysis of sway type portal frame using direct stiffness method
Analysis of sway type portal frame using direct stiffness method
 
Blockchain Cryptography for Developers (Nakov @ BlockWorld 2018, San Jose)
Blockchain Cryptography for Developers (Nakov @ BlockWorld 2018, San Jose)Blockchain Cryptography for Developers (Nakov @ BlockWorld 2018, San Jose)
Blockchain Cryptography for Developers (Nakov @ BlockWorld 2018, San Jose)
 

More from David Evans

Trick or Treat?: Bitcoin for Non-Believers, Cryptocurrencies for Cypherpunks
Trick or Treat?: Bitcoin for Non-Believers, Cryptocurrencies for CypherpunksTrick or Treat?: Bitcoin for Non-Believers, Cryptocurrencies for Cypherpunks
Trick or Treat?: Bitcoin for Non-Believers, Cryptocurrencies for CypherpunksDavid Evans
 
Anonymity in Bitcoin
Anonymity in BitcoinAnonymity in Bitcoin
Anonymity in BitcoinDavid Evans
 
Midterm Confirmations
Midterm ConfirmationsMidterm Confirmations
Midterm ConfirmationsDavid Evans
 
Scripting Transactions
Scripting TransactionsScripting Transactions
Scripting TransactionsDavid Evans
 
How to Live in Paradise
How to Live in ParadiseHow to Live in Paradise
How to Live in ParadiseDavid Evans
 
Mining Economics
Mining EconomicsMining Economics
Mining EconomicsDavid Evans
 
Becoming More Paranoid
Becoming More ParanoidBecoming More Paranoid
Becoming More ParanoidDavid Evans
 
Asymmetric Key Signatures
Asymmetric Key SignaturesAsymmetric Key Signatures
Asymmetric Key SignaturesDavid Evans
 
Class 1: What is Money?
Class 1: What is Money?Class 1: What is Money?
Class 1: What is Money?David Evans
 
Multi-Party Computation for the Masses
Multi-Party Computation for the MassesMulti-Party Computation for the Masses
Multi-Party Computation for the MassesDavid Evans
 
Proof of Reserve
Proof of ReserveProof of Reserve
Proof of ReserveDavid Evans
 
Blooming Sidechains!
Blooming Sidechains!Blooming Sidechains!
Blooming Sidechains!David Evans
 
Useful Proofs of Work, Permacoin
Useful Proofs of Work, PermacoinUseful Proofs of Work, Permacoin
Useful Proofs of Work, PermacoinDavid Evans
 
Alternate Cryptocurrencies
Alternate CryptocurrenciesAlternate Cryptocurrencies
Alternate CryptocurrenciesDavid Evans
 
Quiz 2: Bitcoin Protocol, Mining, Supsersizing
Quiz 2: Bitcoin Protocol, Mining, SupsersizingQuiz 2: Bitcoin Protocol, Mining, Supsersizing
Quiz 2: Bitcoin Protocol, Mining, SupsersizingDavid Evans
 
Mostly About Superfish
Mostly About SuperfishMostly About Superfish
Mostly About SuperfishDavid Evans
 

More from David Evans (20)

Trick or Treat?: Bitcoin for Non-Believers, Cryptocurrencies for Cypherpunks
Trick or Treat?: Bitcoin for Non-Believers, Cryptocurrencies for CypherpunksTrick or Treat?: Bitcoin for Non-Believers, Cryptocurrencies for Cypherpunks
Trick or Treat?: Bitcoin for Non-Believers, Cryptocurrencies for Cypherpunks
 
Anonymity in Bitcoin
Anonymity in BitcoinAnonymity in Bitcoin
Anonymity in Bitcoin
 
Midterm Confirmations
Midterm ConfirmationsMidterm Confirmations
Midterm Confirmations
 
Scripting Transactions
Scripting TransactionsScripting Transactions
Scripting Transactions
 
How to Live in Paradise
How to Live in ParadiseHow to Live in Paradise
How to Live in Paradise
 
Mining Economics
Mining EconomicsMining Economics
Mining Economics
 
Mining
MiningMining
Mining
 
Becoming More Paranoid
Becoming More ParanoidBecoming More Paranoid
Becoming More Paranoid
 
Asymmetric Key Signatures
Asymmetric Key SignaturesAsymmetric Key Signatures
Asymmetric Key Signatures
 
Class 1: What is Money?
Class 1: What is Money?Class 1: What is Money?
Class 1: What is Money?
 
Multi-Party Computation for the Masses
Multi-Party Computation for the MassesMulti-Party Computation for the Masses
Multi-Party Computation for the Masses
 
Proof of Reserve
Proof of ReserveProof of Reserve
Proof of Reserve
 
Silk Road
Silk RoadSilk Road
Silk Road
 
Blooming Sidechains!
Blooming Sidechains!Blooming Sidechains!
Blooming Sidechains!
 
Useful Proofs of Work, Permacoin
Useful Proofs of Work, PermacoinUseful Proofs of Work, Permacoin
Useful Proofs of Work, Permacoin
 
Alternate Cryptocurrencies
Alternate CryptocurrenciesAlternate Cryptocurrencies
Alternate Cryptocurrencies
 
Script
ScriptScript
Script
 
Selfish Mining
Selfish MiningSelfish Mining
Selfish Mining
 
Quiz 2: Bitcoin Protocol, Mining, Supsersizing
Quiz 2: Bitcoin Protocol, Mining, SupsersizingQuiz 2: Bitcoin Protocol, Mining, Supsersizing
Quiz 2: Bitcoin Protocol, Mining, Supsersizing
 
Mostly About Superfish
Mostly About SuperfishMostly About Superfish
Mostly About Superfish
 

Recently uploaded

College Call Girls New Alipore - For 7001035870 Cheap & Best with original Ph...
College Call Girls New Alipore - For 7001035870 Cheap & Best with original Ph...College Call Girls New Alipore - For 7001035870 Cheap & Best with original Ph...
College Call Girls New Alipore - For 7001035870 Cheap & Best with original Ph...anamikaraghav4
 
Call Girls Agency In Goa 💚 9316020077 💚 Call Girl Goa By Russian Call Girl ...
Call Girls  Agency In Goa  💚 9316020077 💚 Call Girl Goa By Russian Call Girl ...Call Girls  Agency In Goa  💚 9316020077 💚 Call Girl Goa By Russian Call Girl ...
Call Girls Agency In Goa 💚 9316020077 💚 Call Girl Goa By Russian Call Girl ...russian goa call girl and escorts service
 
Russian Call Girl South End Park - Call 8250192130 Rs-3500 with A/C Room Cash...
Russian Call Girl South End Park - Call 8250192130 Rs-3500 with A/C Room Cash...Russian Call Girl South End Park - Call 8250192130 Rs-3500 with A/C Room Cash...
Russian Call Girl South End Park - Call 8250192130 Rs-3500 with A/C Room Cash...anamikaraghav4
 
Call Girl Nashik Amaira 7001305949 Independent Escort Service Nashik
Call Girl Nashik Amaira 7001305949 Independent Escort Service NashikCall Girl Nashik Amaira 7001305949 Independent Escort Service Nashik
Call Girl Nashik Amaira 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
Science City Kolkata ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sex...
Science City Kolkata ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sex...Science City Kolkata ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sex...
Science City Kolkata ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sex...rahim quresi
 
Call Girls In Goa 9316020077 Goa Call Girl By Indian Call Girls Goa
Call Girls In Goa  9316020077 Goa  Call Girl By Indian Call Girls GoaCall Girls In Goa  9316020077 Goa  Call Girl By Indian Call Girls Goa
Call Girls In Goa 9316020077 Goa Call Girl By Indian Call Girls Goasexy call girls service in goa
 
Dakshineswar Call Girls ✔ 8005736733 ✔ Hot Model With Sexy Bhabi Ready For Se...
Dakshineswar Call Girls ✔ 8005736733 ✔ Hot Model With Sexy Bhabi Ready For Se...Dakshineswar Call Girls ✔ 8005736733 ✔ Hot Model With Sexy Bhabi Ready For Se...
Dakshineswar Call Girls ✔ 8005736733 ✔ Hot Model With Sexy Bhabi Ready For Se...aamir
 
2k Shot Call girls Laxmi Nagar Delhi 9205541914
2k Shot Call girls Laxmi Nagar Delhi 92055419142k Shot Call girls Laxmi Nagar Delhi 9205541914
2k Shot Call girls Laxmi Nagar Delhi 9205541914Delhi Call girls
 
👙 Kolkata Call Girls Shyam Bazar 💫💫7001035870 Model escorts Service
👙  Kolkata Call Girls Shyam Bazar 💫💫7001035870 Model escorts Service👙  Kolkata Call Girls Shyam Bazar 💫💫7001035870 Model escorts Service
👙 Kolkata Call Girls Shyam Bazar 💫💫7001035870 Model escorts Serviceanamikaraghav4
 
(KRITI) Pimpri Chinchwad Call Girls Just Call 7001035870 [ Cash on Delivery ]...
(KRITI) Pimpri Chinchwad Call Girls Just Call 7001035870 [ Cash on Delivery ]...(KRITI) Pimpri Chinchwad Call Girls Just Call 7001035870 [ Cash on Delivery ]...
(KRITI) Pimpri Chinchwad Call Girls Just Call 7001035870 [ Cash on Delivery ]...ranjana rawat
 
Call Girl Nashik Saloni 7001305949 Independent Escort Service Nashik
Call Girl Nashik Saloni 7001305949 Independent Escort Service NashikCall Girl Nashik Saloni 7001305949 Independent Escort Service Nashik
Call Girl Nashik Saloni 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
↑Top Model (Kolkata) Call Girls Rajpur ⟟ 8250192130 ⟟ High Class Call Girl In...
↑Top Model (Kolkata) Call Girls Rajpur ⟟ 8250192130 ⟟ High Class Call Girl In...↑Top Model (Kolkata) Call Girls Rajpur ⟟ 8250192130 ⟟ High Class Call Girl In...
↑Top Model (Kolkata) Call Girls Rajpur ⟟ 8250192130 ⟟ High Class Call Girl In...noor ahmed
 
Book Call Girls in Panchpota - 8250192130 | 24x7 Service Available Near Me
Book Call Girls in Panchpota - 8250192130 | 24x7 Service Available Near MeBook Call Girls in Panchpota - 8250192130 | 24x7 Service Available Near Me
Book Call Girls in Panchpota - 8250192130 | 24x7 Service Available Near Meanamikaraghav4
 
VIP Call Girls Sonagachi - 8250192130 Escorts Service 50% Off with Cash ON De...
VIP Call Girls Sonagachi - 8250192130 Escorts Service 50% Off with Cash ON De...VIP Call Girls Sonagachi - 8250192130 Escorts Service 50% Off with Cash ON De...
VIP Call Girls Sonagachi - 8250192130 Escorts Service 50% Off with Cash ON De...anamikaraghav4
 
Call Girls Nashik Gayatri 7001305949 Independent Escort Service Nashik
Call Girls Nashik Gayatri 7001305949 Independent Escort Service NashikCall Girls Nashik Gayatri 7001305949 Independent Escort Service Nashik
Call Girls Nashik Gayatri 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
Karnal Call Girls 8860008073 Dyal Singh Colony Call Girls Service in Karnal E...
Karnal Call Girls 8860008073 Dyal Singh Colony Call Girls Service in Karnal E...Karnal Call Girls 8860008073 Dyal Singh Colony Call Girls Service in Karnal E...
Karnal Call Girls 8860008073 Dyal Singh Colony Call Girls Service in Karnal E...Apsara Of India
 
Contact:- 8860008073 Call Girls in Karnal Escort Service Available at Afforda...
Contact:- 8860008073 Call Girls in Karnal Escort Service Available at Afforda...Contact:- 8860008073 Call Girls in Karnal Escort Service Available at Afforda...
Contact:- 8860008073 Call Girls in Karnal Escort Service Available at Afforda...Apsara Of India
 
Call Girls Service Bantala - Call 8250192130 Rs-3500 with A/C Room Cash on De...
Call Girls Service Bantala - Call 8250192130 Rs-3500 with A/C Room Cash on De...Call Girls Service Bantala - Call 8250192130 Rs-3500 with A/C Room Cash on De...
Call Girls Service Bantala - Call 8250192130 Rs-3500 with A/C Room Cash on De...anamikaraghav4
 
Independent Hatiara Escorts ✔ 8250192130 ✔ Full Night With Room Online Bookin...
Independent Hatiara Escorts ✔ 8250192130 ✔ Full Night With Room Online Bookin...Independent Hatiara Escorts ✔ 8250192130 ✔ Full Night With Room Online Bookin...
Independent Hatiara Escorts ✔ 8250192130 ✔ Full Night With Room Online Bookin...Riya Pathan
 

Recently uploaded (20)

College Call Girls New Alipore - For 7001035870 Cheap & Best with original Ph...
College Call Girls New Alipore - For 7001035870 Cheap & Best with original Ph...College Call Girls New Alipore - For 7001035870 Cheap & Best with original Ph...
College Call Girls New Alipore - For 7001035870 Cheap & Best with original Ph...
 
Call Girls Agency In Goa 💚 9316020077 💚 Call Girl Goa By Russian Call Girl ...
Call Girls  Agency In Goa  💚 9316020077 💚 Call Girl Goa By Russian Call Girl ...Call Girls  Agency In Goa  💚 9316020077 💚 Call Girl Goa By Russian Call Girl ...
Call Girls Agency In Goa 💚 9316020077 💚 Call Girl Goa By Russian Call Girl ...
 
Russian Call Girl South End Park - Call 8250192130 Rs-3500 with A/C Room Cash...
Russian Call Girl South End Park - Call 8250192130 Rs-3500 with A/C Room Cash...Russian Call Girl South End Park - Call 8250192130 Rs-3500 with A/C Room Cash...
Russian Call Girl South End Park - Call 8250192130 Rs-3500 with A/C Room Cash...
 
Call Girl Nashik Amaira 7001305949 Independent Escort Service Nashik
Call Girl Nashik Amaira 7001305949 Independent Escort Service NashikCall Girl Nashik Amaira 7001305949 Independent Escort Service Nashik
Call Girl Nashik Amaira 7001305949 Independent Escort Service Nashik
 
Science City Kolkata ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sex...
Science City Kolkata ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sex...Science City Kolkata ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sex...
Science City Kolkata ( Call Girls ) Kolkata ✔ 6297143586 ✔ Hot Model With Sex...
 
Call Girls In Goa 9316020077 Goa Call Girl By Indian Call Girls Goa
Call Girls In Goa  9316020077 Goa  Call Girl By Indian Call Girls GoaCall Girls In Goa  9316020077 Goa  Call Girl By Indian Call Girls Goa
Call Girls In Goa 9316020077 Goa Call Girl By Indian Call Girls Goa
 
Dakshineswar Call Girls ✔ 8005736733 ✔ Hot Model With Sexy Bhabi Ready For Se...
Dakshineswar Call Girls ✔ 8005736733 ✔ Hot Model With Sexy Bhabi Ready For Se...Dakshineswar Call Girls ✔ 8005736733 ✔ Hot Model With Sexy Bhabi Ready For Se...
Dakshineswar Call Girls ✔ 8005736733 ✔ Hot Model With Sexy Bhabi Ready For Se...
 
2k Shot Call girls Laxmi Nagar Delhi 9205541914
2k Shot Call girls Laxmi Nagar Delhi 92055419142k Shot Call girls Laxmi Nagar Delhi 9205541914
2k Shot Call girls Laxmi Nagar Delhi 9205541914
 
👙 Kolkata Call Girls Shyam Bazar 💫💫7001035870 Model escorts Service
👙  Kolkata Call Girls Shyam Bazar 💫💫7001035870 Model escorts Service👙  Kolkata Call Girls Shyam Bazar 💫💫7001035870 Model escorts Service
👙 Kolkata Call Girls Shyam Bazar 💫💫7001035870 Model escorts Service
 
(KRITI) Pimpri Chinchwad Call Girls Just Call 7001035870 [ Cash on Delivery ]...
(KRITI) Pimpri Chinchwad Call Girls Just Call 7001035870 [ Cash on Delivery ]...(KRITI) Pimpri Chinchwad Call Girls Just Call 7001035870 [ Cash on Delivery ]...
(KRITI) Pimpri Chinchwad Call Girls Just Call 7001035870 [ Cash on Delivery ]...
 
Call Girl Nashik Saloni 7001305949 Independent Escort Service Nashik
Call Girl Nashik Saloni 7001305949 Independent Escort Service NashikCall Girl Nashik Saloni 7001305949 Independent Escort Service Nashik
Call Girl Nashik Saloni 7001305949 Independent Escort Service Nashik
 
↑Top Model (Kolkata) Call Girls Rajpur ⟟ 8250192130 ⟟ High Class Call Girl In...
↑Top Model (Kolkata) Call Girls Rajpur ⟟ 8250192130 ⟟ High Class Call Girl In...↑Top Model (Kolkata) Call Girls Rajpur ⟟ 8250192130 ⟟ High Class Call Girl In...
↑Top Model (Kolkata) Call Girls Rajpur ⟟ 8250192130 ⟟ High Class Call Girl In...
 
Book Call Girls in Panchpota - 8250192130 | 24x7 Service Available Near Me
Book Call Girls in Panchpota - 8250192130 | 24x7 Service Available Near MeBook Call Girls in Panchpota - 8250192130 | 24x7 Service Available Near Me
Book Call Girls in Panchpota - 8250192130 | 24x7 Service Available Near Me
 
Desi Bhabhi Call Girls In Goa 💃 730 02 72 001💃desi Bhabhi Escort Goa
Desi Bhabhi Call Girls  In Goa  💃 730 02 72 001💃desi Bhabhi Escort GoaDesi Bhabhi Call Girls  In Goa  💃 730 02 72 001💃desi Bhabhi Escort Goa
Desi Bhabhi Call Girls In Goa 💃 730 02 72 001💃desi Bhabhi Escort Goa
 
VIP Call Girls Sonagachi - 8250192130 Escorts Service 50% Off with Cash ON De...
VIP Call Girls Sonagachi - 8250192130 Escorts Service 50% Off with Cash ON De...VIP Call Girls Sonagachi - 8250192130 Escorts Service 50% Off with Cash ON De...
VIP Call Girls Sonagachi - 8250192130 Escorts Service 50% Off with Cash ON De...
 
Call Girls Nashik Gayatri 7001305949 Independent Escort Service Nashik
Call Girls Nashik Gayatri 7001305949 Independent Escort Service NashikCall Girls Nashik Gayatri 7001305949 Independent Escort Service Nashik
Call Girls Nashik Gayatri 7001305949 Independent Escort Service Nashik
 
Karnal Call Girls 8860008073 Dyal Singh Colony Call Girls Service in Karnal E...
Karnal Call Girls 8860008073 Dyal Singh Colony Call Girls Service in Karnal E...Karnal Call Girls 8860008073 Dyal Singh Colony Call Girls Service in Karnal E...
Karnal Call Girls 8860008073 Dyal Singh Colony Call Girls Service in Karnal E...
 
Contact:- 8860008073 Call Girls in Karnal Escort Service Available at Afforda...
Contact:- 8860008073 Call Girls in Karnal Escort Service Available at Afforda...Contact:- 8860008073 Call Girls in Karnal Escort Service Available at Afforda...
Contact:- 8860008073 Call Girls in Karnal Escort Service Available at Afforda...
 
Call Girls Service Bantala - Call 8250192130 Rs-3500 with A/C Room Cash on De...
Call Girls Service Bantala - Call 8250192130 Rs-3500 with A/C Room Cash on De...Call Girls Service Bantala - Call 8250192130 Rs-3500 with A/C Room Cash on De...
Call Girls Service Bantala - Call 8250192130 Rs-3500 with A/C Room Cash on De...
 
Independent Hatiara Escorts ✔ 8250192130 ✔ Full Night With Room Online Bookin...
Independent Hatiara Escorts ✔ 8250192130 ✔ Full Night With Room Online Bookin...Independent Hatiara Escorts ✔ 8250192130 ✔ Full Night With Room Online Bookin...
Independent Hatiara Escorts ✔ 8250192130 ✔ Full Night With Room Online Bookin...
 

Cryptocurrency Jeopardy!

  • 1. Class 26: Cryptocurrency Jeopardy Cryptocurrency Cabal cs4501 Fall 2015 David Evans and Samee Zahur University of Virginia
  • 2. Discretionary Final Exam • Everyone should have received an email from me with guidance • If it included a tentative final exam time, you need to confirm this. • Final exam: (scheduled for 20 minutes) – Explain bitcoin to a [VC, congress critter, CS major] – Answer a few substantive questions (not like the mostly “trivia” jeopardy questions today) 1
  • 3. 2
  • 4. Teams 3 Alishan Hassan Cody Robertson Joseph Tobin Ziqi Liu A.J. Varshneya Jacob Freck Peter Leng Sugat Poudel Morgan Locks Vignesh Kuppusamy Alec Grieser Acacia Dai Collin Berman Eashan Kaw Fangyang Cui Luke Gessler Quentin Moore Reid Bixler Kevin Zhao Sam Prestwood Carter Hall Cyrus Malekpour Dean Makovsky Elizabeth Kukla Gardner Fiveash Kienan Adams Muthu Chidambaram Michael Presicce Ryan Anderson Xhama Vyas 500 point bonus: How were teams formed? (Hint: based on answers to one of the registration questions)
  • 5. 4 Alishan Hassan Cody Robertson Joseph Tobin Ziqi Liu A.J. Varshneya Jacob Freck Peter Leng Sugat Poudel Morgan Locks Vignesh Kuppusamy Alec Grieser Acacia Dai Collin Berman Eashan Kaw Fangyang Cui Luke Gessler Quentin Moore Reid Bixler Kevin Zhao Sam Prestwood Carter Hall Cyrus Malekpour Dean Makovsky Elizabeth Kukla Gardner Fiveash Kienan Adams Muthu Chidambaram Michael Presicce Ryan Anderson Xhama Vyas Team Semicolon C/C++/C#/Java Team Monty Python Team Other Ruby, JavaScript, None, Haskell, Rust, Go
  • 6. 5 MOSTLY ABOUT SATOSHI HASHING UNLOCKING SCRIPTS CRYPTO CURVES RANDOM ALTCOINS 100 nBTC 200 nBTC 300 nBTC 400 nBTC 100 nBTC 200 nBTC 300 nBTC 400 nBTC 100 nBTC 200 nBTC 300 nBTC 400 nBTC 100 nBTC 200 nBTC 300 nBTC 400 nBTC 100 nBTC 200 nBTC 300 nBTC 400 nBTC 100 nBTC 200 nBTC 300 nBTC 400 nBTC Final Jeopardy
  • 7. 6
  • 8. 7 According to Newsweek, this is Satoshi Nakamoto’s real name
  • 10. 9 First public announcement of bitcoin was on: (A) July 4, 2008 (B) Halloween, 2008 (C) Christmas, 2008 (D) Jan 1, 2009 (E) None of These
  • 11. 10
  • 13. Satoshi 300 12 This is what it means for a transaction to have two confirmations.
  • 14. 13
  • 17. 16 Order these by value from least to most valuable: (A) 1B Satoshis (B) 1 nano-Apple (C) 1 Gallon of Oil (Light Crude) (D) 1 Kilogram of Gold (E) 1 TJoule (in Virginia)
  • 18. D: Gold = $1052/troy ounce, 1 kg = 32.15 troy ounces ~ $32,000 E: 1 TJ ~ $20,000 A: 100M Satoshis = 1 BTC, 1B Satoshis = 10 BTC ~ $3750 B: 1 nApple = Apple’s market cap = $658B = $658 C: Oil: $42/barrel = 42 gallons = $1 17 1 kw hour = $0.07 1 Joule = 1 w per second 1 kw hour = 1000 J * 3600s = 3.6MJ TJ = M*MJ = M * $0.07/3.6 M = ~$20K Bonus: How much would it cost to buy 1TJ of oil?
  • 19. D: Gold = $1052/troy ounce, 1 kg = 32.15 troy ounces ~ $32,000 E: 1 TJ ~ $20,000 A: 100M Satoshis = 1 BTC, 1B Satoshis = 10 BTC ~ $3750 B: 1 nApple = Apple’s market cap = $658B = $658 C: Oil: $42/barrel = 42 gallons = $1 18 1 gallon of oil ~ 130MJ of energy $1 * 1T/130M = $7500 Recall our estimate that bitcoin network uses ~200 MJ/s (or 120 GJ/block)
  • 21. Hashing 100 20 A function H has this property if given y it is hard to find an x such that H(x) = y
  • 23. Hashing 200 22 The number of SHA-256 hash computations expected to find an x such that SHA-256(SHA-256(x)) = 0
  • 24. 23
  • 27. Hashing 300 26 Number of hashes needed to verify a transaction in Block #385972 Assume you already have the block header and the transaction you want to verify.
  • 28. 27
  • 30. Hashing 400 29 All the places where cryptographic hash functions are used in bitcoin. All teams answer: best answer(s) win.
  • 31. Hashing in Bitcoin • Producing the public bitcoin address by hashing the public key. • Producing a transaction digest for use as the input in signing a transaction. • Producing the Merkle tree root for authenticating the transactions in a block (using hashes all the way up the tree). • Producing the hash of the previous block to use in the block header. • Proof-of-work: double hash of the block (with nonces) to find a block that satisfies the difficulty needed in mining. 30
  • 33. Scripts 100 32 The output of this script: OP_DATA 3 OP_DATA 2 OP_DATA 1 OP_DUP OP_ADD OP_EQUALVERIFY
  • 35. Scripts 200 34 A script that unlocks this one: OP_DUP OP_HASH160 OP_DATA20 adr OP_EQUALVERIFY OP_CHECKSIGYou may use pub_adr and priv_adr (the public and private keys corresponding to adr in your answer), and trans (the transaction digest for this transaction). All correct answers win.
  • 36. 35
  • 38. Scripts 300 37 Opcode implemented by this code (from bitcoin core). [Code on next slide – don’t need to name opcode, just explain operation.)
  • 39. 38
  • 40. 39
  • 41. 40
  • 43. Scripts 400 42 In Satoshi’s original script implementation, this script unlocks any value.
  • 44. Scripts 400 43 In Satoshi’s original script implementation, this script unlocks any value. case OP_RETURN: { pc = pend; } break;
  • 45. 44
  • 47. Crypto 100 46 What Bob should send to establish shared secret with Alice: 𝑔 𝑎 mod 𝑝 Picks secret a Picks secret b Public values: 𝑔, 𝑝, 𝑔 𝑎, 𝑔 𝑏
  • 48. Crypto 100 47 What Bob should send to establish shared secret with Alice: 𝑔 𝑎 mod 𝑝 Picks secret a Picks secret b Public values: 𝑔, 𝑝, 𝑔 𝑎, 𝑔 𝑏
  • 50. Crypto 200 49 A proof that these graphs are or are not isomorphic. Graphs on next slide – first team with (good) correct answer wins.
  • 52. 51
  • 54. Crypto 300 53 A group is a set of elements and an operator that satisfy these four properties. All teams answer.
  • 55. 54 Closure: a * b is also a group element. Associativity: for all a, b, c: (ab)c = a(bc). Identity element: there exists an element e, such that for every element a: a * e = a = e * a Inverse: for every element a, there exists an element b such that a * b = e = b * a.
  • 56. 55 Closure: a * b is also a group element. Associativity: for all a, b, c: (ab)c = a(bc). Identity element: there exists an element e, such that for every element a: a * e = a = e * a Inverse: for every element a, there exists an element b such that a * b = e = b * a. Bonus: to be useful for El-Gamal signatures, what other properties should it have?
  • 58. Crypto 400 57 Message Alice should send to the public ledger to transfer X to Bob. Alice owns coin X and has public/private key pair (KUA, KRA); Bob has public/private key pair (KUB, KRB). All teams must answer.
  • 59. 58
  • 60. 59 msg = “I, KUA (Alice), transfer coin X to KUB (Bob)” Send to ledger the message signed by Alice: (msg, EKRA(msg))
  • 62. Random 100 61 This is a random sequence (choices on next slide). [All teams may answer]
  • 64. Defining Randomness 63 Андре́й Колмого́ров Andrey Kolmogorov (1903-1987) For a sequence s, its Kolmogorov Complexity: K(s) = the length of the shortest description of s A sequence s is random, if K(s) = |s| + C (This is a somewhat informal version. A real definition would need to be more careful about stating this asymptotically.) “He was to probability theory what Euclid was to geometry.” (Peter Lax)
  • 65. Kolmogorov Complexities s = 000000000000000… 64
  • 66. Kolmogorov Complexities s = 000000000000000… description = “N repeated 0s” K(s) = log |s| + C1 < |s| + C 65 Definitely NOT RANDOM
  • 67. Kolmogorov Complexities t = 010011000111000011110000011111… 66
  • 68. Kolmogorov Complexities s = 010011000111000011110000011111… 67 description = “s = “”; for (i = 1; i < N; i++) { for (j = 0; j < i; j++) s += ‘0’; for (j = 0; j < i; j++) s += ‘1’; }” K(s) = log |s| + C1 < |s| + C Definitely NOT RANDOM
  • 70. Random 200 69 The smallest natural number that cannot be described in eleven words.
  • 72. Random 300 71 Given a sequence s, it is this hard to compute its Kolomorgov complexity K(s).
  • 73. 72
  • 74. 73 How many times does one need to write “verifiably random” to be convincing? Bonus: What specification is this excerpt from?
  • 78. 77
  • 79. Dual-EC PRNG 78 sisi +1= φ(si ×P) s0  randomness Update Internal State P and Q are random points on P-256. Generate Output Bits ri = φ(si ×Q) 16 least significant bits of ri’s x-coordinate
  • 80. 79
  • 81. 80
  • 82. 81 sisi +1= φ(si ×P) s0 16 least significant bits of ri’s x-coord ri = φ(si ×Q) oi Bonus 200: given oi, how much work to find ri? ri = (xi, yi) = (16 unknown bits | oi, yi) Points on the curve: y2 = x3 – 3x + b (mod p)
  • 83. 82 sisi +1= φ(si ×P) s0 16 least significant bits of ri’s x-coord ri = φ(si ×Q) oi Challenge: given oi, can you find si? ri = (xi, yi) = (16 unknown bits | oi, yi) Points on the curve: y2 = x3 – 3x + b (mod p) foreach u in [0, 216]: g = u | oi z = g3 – 3g + b (mod p) if z1/2 mod p exists, on the curve
  • 84. 83 “Rump session” talk at CRYPTO 2007:
  • 85. Possible Back Door P and Q are points on the curve P is a generator of the curve All points on curve are kP for some k Curve is prime order: P = eQ for some e 84 Challenge: given oi, can you find si?
  • 86. 85 sisi +1= φ(si ×P) s0 16 least significant bits of ri’s x-coord ri = φ(si ×Q) oi Challenge [400]: given oi and backdoor e, can you find si + 1? P = eQ
  • 87. 86 sisi +1= φ(si ×P) s0 16 least significant bits of ri’s x-coord ri = φ(si ×Q) oi P = eQ Hint: Compute ri using brute force 16-bits from oi Compute: A = (x, y) = ri ×Q
  • 88. 87 2013 Intelligence Budget Request Snowden Leak (5 September 2013) 2013 Intelligence Budget Request ($250M)
  • 89. 88
  • 90. 89
  • 91. 90 sisi +1= φ(si ×P) s0 16 least significant bits of ri’s x-coord ri = φ(si ×Q) oi P = eQ A = (x, y) = ri ×Q φ(e × A) = φ(e × si ×Q) = φ(si ×P) = si +1
  • 93. Altcoins 100 92 The Distinguished Alumni Speaker this Friday (3:30pm in Rice Auditorium)
  • 94. 93 Adrienne Porter Felt (UVa BSCS 2008; UCB PhD; Google) MAKING SECURITY USABLE (FOR A BILLION USERS) How do you know if a website is "safe"? The security community puts enormous effort into detecting malware, stopping the next Heartbleed, and sandboxing bad content. Google Chrome's usable security team sits at the front end of this work: we build the UI that tells end users what's going on with their privacy and security. Friday, 3:30pm in Rice 130
  • 96. Altcoins 200 95 An open source peer-to-peer digital currency, favored by Shiba Inus worldwide.
  • 97. 96
  • 99. Altcoins 300 98 According to litecoin.org, “Litecoin features faster transaction confirmation times and improved storage efficiency than the leading math-based currency.” Reasons why this claim is bogus.
  • 100. 99 Bonus: what are the advantages of Litecoin’s scrypt-based proof-of-work? Best answer wins
  • 102. Altcoins 400 101 The Replace-by-Fee patch changes the way nodes include transactions from “first-seen” (if there are conflicting transactions, take the first one) to “highest-fee”. Explain how this makes double-spend attacks easier or harder.
  • 103. 102
  • 106. Final Jeopardy 105 The contents of a bitcoin block header. Must get 3 most important things to avoid loss. Best, most detailed and correct answer wins.
  • 107. 106
  • 108. 107

Editor's Notes

  1. 100M Satoshis = 1 BTC ~ $375 1B Satoshis = 10 BTC ~ $3750 1 nApple = Apple’s market cap = $658B = $658 Oil: $42/barrel = 42 gallons = $1 1 gallon ~ 6.8 pounds Gold = $1052/troy ounce, 1 kg = 32.15 troy ounces ~ $32,000 1 kw hour = 0.07 1 Joule = 1 w per second 1 kw hour = 1000 J * 3600s = 3.6MJ 1 MJ = 0.07/3.6 = ~ 0.02 T = M*M = 0.02 M = ~$20K. 1 Tjoule = $19444. E D A B C