This talks explains how Bitcoin's simplified payment verification (SPV) design facilities massive scaling with all users retaining the ability to "be their own bank" and verify their own transactions.
2. • Current users spread the bitcoin
virus to new users
• Rate of infection is proportional
to how many users there are
Bitcoin grows exponentially like a virus
𝑑𝑁
𝑑𝑡
∝ 𝑁 --> 𝑁 = 𝑁0 𝑒 𝑡/𝜏
Recipe for exponential growth
8. The lid affects Bitcoin’s properties
1 MB 1 MB 1 MB 1 MB 1 MB
$3!!
9. It is time to remove the lid
1 MB 1 MB 1 MB 1 MB 1 MB
1 billion users making 2 transactions
per day requires 8 GB blocks
10. Some are hesitant to remove the 1MB limit
• Worried that with continued exponential growth that Bitcoin will
not retain its properties as peer-to-peer electronic cash
• Worry is mostly due to not appreciating the cleverness of
Bitcoin’s intended scaling mechanism: simplified payment
verification (SPV)
11. How does SPV work?
To appreciate how SPV facilitates massive scaling, we
need to understand three important aspects of Bitcoin’s
design.
1. How do miners build the proof-of-work chain?
2. How does a bitcoin owner transfer his coin?
3. What is the relationship between coin transfers
(transactions) and the proof-of-work chain built by the
miners?
25. Are there scaling concerns with respect
to following the proof-of-work chain?
• The transactions sit outside the proof-of-work chain
• No need to download all the world’s transaction to follow along
• The proof-of-work chain grows by 80 bytes per block (~10 min)
• Memory: 80 bytes x 144 blocks per day x 365 days per year ~= 4 MB
per year
• Bandwidth: 80 bytes x 8 bits / byte / 600 seconds = 1 bit / second
• The SMS (text) message size limit is 128 bytes
• Your (dumb) phone could follow the longest proof-of-work chain
receiving only a single text message every 10 minutes.
• 4 billion people use SMS today
NO!
34. Are there scaling concerns with respect
to making transactions?
• Average transaction size is 500 bytes
• Receiving a transactions is like receiving 4 SMS messages
• All 4 billion SMS users could easily send or receive a few transactions
per day with existing technology
NO!
35. What is the relationship between coin
transfers (transactions) and the proof-of-work
chain built by the miners?
• If Alice can give her signed
transaction to Bob, and Bob can
pass it on to Carol, why do we
need miners?
• To prevent them from spending
the same coin twice!
• The transactions are organized
in a block in a brilliant way
• The miner can provide proof to
Bob that his transaction was
included in a compact way!Transactions
No double spends
36. What is the relationship between coin
transfers (transactions) and the proof-of-work
chain built by the miners?
• If Alice can give her signed
transaction to Bob, and Bob can
pass it on to Carol, why do we
need miners?
• To prevent them from spending
the same coin twice!
• The transactions are organized
in a block in a brilliant way
• The miner can provide proof to
Bob that his transaction was
included in a compact way!Transactions
No double spends
37. What is the relationship between coin
transfers (transactions) and the proof-of-work
chain built by the miners?
• If Alice can give her signed
transaction to Bob, and Bob can
pass it on to Carol, why do we
need miners?
• To prevent them from spending
the same coin twice!
• The transactions are organized
in a block in a brilliant way
• The miner can provide proof to
Bob that his transaction was
included in a compact way!
38. What is the relationship between coin
transfers (transactions) and the proof-of-work
chain built by the miners?
• If Alice can give her signed
transaction to Bob, and Bob can
pass it on to Carol, why do we
need miners?
• To prevent them from spending
the same coin twice!
• The transactions are organized
in a block in a brilliant way
• The miner can provide proof to
Bob that his transaction was
included in a compact way!
39. What is the relationship between coin
transfers (transactions) and the proof-of-work
chain built by the miners?
• If Alice can give her signed
transaction to Bob, and Bob can
pass it on to Carol, why do we
need miners?
• To prevent them from spending
the same coin twice!
• The transactions are organized
in a block in a brilliant way
• The miner can provide proof to
Bob that his transaction was
included in a compact way!
40. What is the relationship between coin
transfers (transactions) and the proof-of-work
chain built by the miners?
• If Alice can give her signed
transaction to Bob, and Bob can
pass it on to Carol, why do we
need miners?
• To prevent them from spending
the same coin twice!
• The transactions are organized
in a block in a brilliant way
• The miner can provide proof to
Bob that his transaction was
included in a compact way!
41. What is the relationship between coin
transfers (transactions) and the proof-of-work
chain built by the miners?
• If Alice can give her signed
transaction to Bob, and Bob can
pass it on to Carol, why do we
need miners?
• To prevent them from spending
the same coin twice!
• The transactions are organized
in a block in a brilliant way
• The miner can provide proof to
Bob that his transaction was
included in a compact way!
42. What is the relationship between coin
transfers (transactions) and the proof-of-work
chain built by the miners?
• If Alice can give her signed
transaction to Bob, and Bob can
pass it on to Carol, why do we
need miners?
• To prevent them from spending
the same coin twice!
• The transactions are organized
in a block in a brilliant way
• The miner can provide proof to
Bob that his transaction was
included in a compact way!
43. What is the relationship between coin
transfers (transactions) and the proof-of-work
chain built by the miners?
• If Alice can give her signed
transaction to Bob, and Bob can
pass it on to Carol, why do we
need miners?
• To prevent them from spending
the same coin twice!
• The transactions are organized
in a block in a brilliant way
• The miner can provide proof to
Bob that his transaction was
included in a compact way!
44. What is the relationship between coin
transfers (transactions) and the proof-of-work
chain built by the miners?
• If Alice can give her signed
transaction to Bob, and Bob can
pass it on to Carol, why do we
need miners?
• To prevent them from spending
the same coin twice!
• The transactions are organized
in a block in a brilliant way
• The miner can provide proof to
Bob that his transaction was
included in a compact way!
45. What is the relationship between coin
transfers (transactions) and the proof-of-work
chain built by the miners?
• If Alice can give her signed
transaction to Bob, and Bob can
pass it on to Carol, why do we
need miners?
• To prevent them from spending
the same coin twice!
• The transactions are organized
in a block in a brilliant way
• The miner can provide proof to
Bob that his transaction was
included in a compact way!
46. Are there scaling concerns with respect
to proving inclusion in a block?
Transactions per
block
Hashes required to construct
path to root hash
Number of bytes
4 2 64
47. Are there scaling concerns with respect
to proving inclusion in a block?
Transactions per
block
Hashes required to construct
path to root hash
Number of bytes
4 2 64
8 3 96
48. Are there scaling concerns with respect
to proving inclusion in a block?
Transactions per
block
Hashes required to construct
path to root hash
Number of bytes
4 2 64
8 3 96
16 4 128
32 5 160
… … …
49. Are there scaling concerns with respect
to proving inclusion in a block?
Transactions per
block
Hashes required to construct
path to root hash
Number of bytes
4 2 64
8 3 96
16 4 128
32 5 160
… … …
1,000 10 320
50. Are there scaling concerns with respect
to proving inclusion in a block?
Transactions per
block
Hashes required to construct
path to root hash
Number of bytes
4 2 64
8 3 96
16 4 128
32 5 160
… … …
1,000 10 320
1,000,000 20 640
51. Are there scaling concerns with respect
to proving inclusion in a block?
Transactions per
block
Hashes required to construct
path to root hash
Number of bytes
4 2 64
8 3 96
16 4 128
32 5 160
… … …
1,000 10 320
1,000,000 20 640
1,000,000,000 30 960
52. Are there scaling concerns with respect
to proving inclusion in a block? NO!
Transactions per
block
Hashes required to construct
path to root hash
Number of bytes
4 2 64
8 3 96
16 4 128
32 5 160
… … …
1,000 10 320
1,000,000 20 640
1,000,000,000 30 960
53. Scaling with SPV
• Is it easy to track the proof-of-work
chain?
• Is it easy to send and receive
transactions?
• Is it easy to prove that a transaction
was confirmed in a block?
✓
✓
✓
54. Invalid-block versus Re-org attacks
If Alice is in cahoots with a large portion of the network hash power, she may
be able to defraud Bob.
Features Invalid-block attack Re-org attack
Leaves no proof of fraud? ✘ ✓
Miner keeps coinbase reward? ✘ ✓
Works on both SPV and full nodes? ✘ ✓
A wallet only needs to be as strong as Bitcoin’s weakest link. SPV achieves that.