Professional Documents
Culture Documents
Instructor
Ittay Eyal
455 Gates Hall
ittay.eyal@cornell.edu start title with [CS 5437]
• Lecture
• Papers
Cornell CS 5437 © Ittay Eyal, 2016
• Book chapters
Prerequisites
• Algorithms
• Protocols
• Operating systems
• Programming intensive
• Probability – an advantage
• Distributed systems theory – an advantage
Cornell CS 5437 © Ittay Eyal, 2016
Grade
• Homework: 30%
• 𝑛 assignments (𝑛 ≈ 10)
• Average of best 𝑛 − 2
• Much of the grade for submission
• −25% per day late (4 days for free)
• Project: 60%
Details in next lesson
Cornell CS 5437 © Ittay Eyal, 2016
1. Overview
First week
2. Projects
Rest of
3. Principals and practice of Cryptocurrencies
semester
Cornell CS 5437 © Ittay Eyal, 2016
Cornell CS 5437 © Ittay Eyal, 2016
Barter
Before Money
Forms of Money
Commodity money
• Divisible
• Stable value
• Scarcity is key
Cornell CS 5437 © Ittay Eyal, 2016
Forms of Money
Commodity money
• Divisible
• Stable value
• Scarcity is key
Representative money
• Easier to transact
• Enforced unforgeability
Cornell CS 5437 © Ittay Eyal, 2016
Token Ledger
Forms of Money
Commodity money
• Divisible
• Stable value
• Scarcity is key
Representative money
• Easier to transact
• Enforced unforgeability
Fiat State Money
• Controlled scarcity
Cornell CS 5437 © Ittay Eyal, 2016
Forms of Money
Commodity money
• Divisible
• Stable value
• Scarcity is key
Representative money
• Easier to transact
• Enforced unforgeability
Fiat State Money
• Controlled scarcity
Decentralized Cyber-currencies
Cornell CS 5437 © Ittay Eyal, 2016
Cryptocurrency transaction
Cornell CS 5437 © Ittay Eyal, 2016
Types
• Local
Cornell CS 5437 © Ittay Eyal, 2016
• Online service
• Dedicated hardware
Payment Services
Types
• Alt-coin only
• Alt-coin and fiat
Cornell CS 5437 © Ittay Eyal, 2016
Challenges
• Operational: like any exchange
• Legal: per jurisdiction
Applications
• Notary service
• Self-enforced games
• Secure gambling
• Offline transactions
Cornell CS 5437 © Ittay Eyal, 2016
Cornell CS 5437 © Ittay Eyal, 2016
Developing a Cryptocurrency
Key Challenges
A
C
Cornell CS 5437 © Ittay Eyal, 2016
given 𝑚 and 𝐾𝐴 .
Addresses and Transactions
…
1. 𝐾𝐶 , amount 0.5𝑥
2. 𝐾𝐴 , amount 𝑥 1. sgn(𝑘𝐴 )
2. 𝐾𝐷 , amount 𝑦
1. 𝐾𝐵 , amount 𝑦 2. sgn(𝑘𝐵 )
3. 𝐾𝐸 , amount 0.5𝑥
…
Cornell CS 5437 © Ittay Eyal, 2016
Key Challenges
A
C
Cornell CS 5437 © Ittay Eyal, 2016
BC
AB
MA
Global Ledger
Cornell CS 5437 © Ittay Eyal, 2016
AC
AB
MA
Global Ledger
Cornell CS 5437 © Ittay Eyal, 2016
BC
AB
MA
Global Ledger
Key Challenges
A
C
Cornell CS 5437 © Ittay Eyal, 2016
Given a 256bit number ℎ, one cannot find an input string that results
in ℎ faster than repeatedly guessing inputs 𝑥 and calculating 𝐻(𝑥).
Mining – Minting for Proof of Work
puzzle
solution (PoW)
A
Cornell CS 5437 © Ittay Eyal, 2016
Key Challenges
1. No stealing: Only Alice can move her
money
Cryptographic signatures
2. No double-spending: Alice cannot
duplicate her money
Global ledger
3. Minting: Fair money creation
Mint for proof of work
Cornell CS 5437 © Ittay Eyal, 2016
Key Challenges
1. No stealing: Only Alice can move her Who runs the public
money key infrastructure?
Cryptographic signatures
2. No double-spending: Alice cannot Who maintains
duplicate her money the public ledger?
Global ledger
3. Minting: Fair money creation Who gives money
for puzzles?
Mint for proof of work
Cornell CS 5437 © Ittay Eyal, 2016
𝐴1 → 𝐵1
Cornell CS 5437 © Ittay Eyal, 2016
𝐴1 → 𝐴2 𝐵1 → 𝐶1
A B
Nakamoto’s Blockchain
Log Blockchain
header
block
Cornell CS 5437 © Ittay Eyal, 2016
Nakamoto’s Blockchain
Log Blockchain
header
block
Cornell CS 5437 © Ittay Eyal, 2016
Nakamoto’s Blockchain
Log Blockchain
Cornell CS 5437 © Ittay Eyal, 2016
Nakamoto’s Blockchain
Cornell CS 5437 © Ittay Eyal, 2016
Nakamoto’s Blockchain
Nakamoto’s Blockchain
Decentralized