# Replication package: figures for "Economic Applications of Cryptography"

QCF bootcamp lecture, Georgia Tech, August 19, 2026. Joseph Hall.

Every original chart in the deck is generated by a script in this folder
from the data snapshots in `data/`. To regenerate all of them:

    python3 make_all.py

Figures are written to the deck folder (the parent directory); recompile
`main.tex` afterward. With `data/` populated the run is fully offline and
byte-reproducible. Deleting a snapshot makes the next run refetch that
source live (public keyless APIs) and re-snapshot it — annotations pinned
to "latest" values (fees, drawdowns, market caps) will then update.

Snapshots retrieved August 18, 2026. `fig_qr_site.py` needs
`pip3 install --user "qrcode[pil]"`; everything else is stdlib +
matplotlib (+ numpy for the waffle).

## Figure inventory

| Figure | Slide | Data |
|---|---|---|
| fig_btc_log | First, the Asset Everyone Asks About | Yahoo Finance BTC-USD daily (`btc_daily.json`); pre-2014 landmark prices documented in script |
| fig_btc_drawdown | "Price Halving" Is a Regular Event | same |
| fig_btc_recent | The Current Cycle | + ETH-USD daily (`eth_daily.json`) |
| fig_btc_price_full | Part II price evidence | Yahoo Finance BTC-USD weekly (`btc_weekly.json`) |
| fig_halving_floors | cycle peaks vs crash bottoms | cycle statistics in script (from the Yahoo series) |
| fig_btc_fees | Bitcoin transaction fees | blockchain.info `transaction-fees-usd` / `n-transactions` |
| fig_btc_difficulty | Difficulty vs BTC price | blockchain.info `difficulty` + `btc_monthly.csv` |
| fig_gas_limit | Ethereum's capacity dial | Etherscan gas-limit history (steps in script) |
| fig_hardware_squeeze | AI's Second Squeeze Is in Hardware | TrendForce/industry press (Q1-Q2 2026); CCRI/Digiconomist, CBECI |
| fig_quantum_gap | quantum threat | Google Quantum AI (Willow); published ECC resource estimates |
| fig_stablecoin_mcap | ~$300B in eight years | DefiLlama `stablecoincharts.json` |
| fig_stablecoin_share | 0.3% waffle | FXC Intelligence-Allium (2025) |
| fig_tether_equity | -33% in two quarters | Tether BDO attestations, Q4 2025 / Q2 2026 |
| fig_issuer_balance_sheet | The Issuer Runs a Bank's Balance Sheet | Tether BDO attestation, Q2 2026 |
| fig_tokenized_deposits | stablecoins vs tokenized deposits | conceptual |
| fig_l2_share | L1 vs rollups, parallel panels | DefiLlama `chains.json`; L2BEAT `l2data.json`; Etherscan (L1 activity, approximate) |
| fig_hacks | biggest thefts | contemporaneous reporting (amounts in script) |
| fig_rugpull_donut | Pump.fun outcomes | Solidus Labs (2024-25) |
| fig_gold_vs_gdp | Bitcoin Is Digital Gold — Which Is the Problem (also History of Fintech deck) | Maddison/OWID `wgdp.csv`; USGS production anchors; WGC 1900 stock |
| fig_password_redflag | hash pop quiz | fabricated mock |
| fig_qr_site | title + credits | josephphall.com |
| fig_inflation_hedge | BTC vs inflation surprises | FRED T5YIE + CPIAUCSL, Yahoo BTC monthly (`btc_inflation_surprises.py`, which also prints the correlation table) |

Not scripted: `fig_ralph_merkle.jpg` (Wikimedia Commons portrait),
`fig_faster_horses.png` and `fig_fidelity.png` (carried over from the
Ethereum deck), and the lava-lamp/screenshot images credited on the
slides where they appear.
