1. Cover
2. Foreword
3. Introduction
1. Cryptocurrencies: Coming to a Lab near You
2. Who Should Read This Book
3. About the Book's Web Resources
4. Part I: Understanding the Technology
1. CHAPTER 1: What Is a Cryptocurrency?
1. A New Concept?
2. Leading Currencies in the Field
3. Is Blockchain Technology Just for Cryptocurrencies?
4. Setting Yourself Up as a Bitcoin User
5. Summary
2. CHAPTER 2: The Hard Bit
1. Hashing
2. Public/Private Key Encryption
3. Building a Simple Cryptocurrency in the Lab
4. Summary
3. CHAPTER 3: Understanding the Blockchain
1. The Structure of a Block
2. Summary
4. CHAPTER 4: Transactions
1. The Concept behind a Transaction
2. The Mechanics of a Transaction
3. Extracting JSON Data
4. Analyzing Address History
5. Creating Vanity Addresses
6. Interpreting Ethereum Transactions
7. Summary
5. CHAPTER 5: Mining
1. The Proof-of-Work Concept
2. The Proof-of-Stake Concept
3. Mining Pools
4. Mining Fraud
5. Summary
6. CHAPTER 6: Wallets
1. Wallet Types
2. Why Is Recognizing Wallets Important?
3. The Wallet Import Format (WIF)
4. How Wallets Store Keys
5. Setting Up a Covert Wallet
6. Summary
7. CHAPTER 7: Contracts and Tokens
, 1. Contracts
2. Tokens and Initial Coin Offerings
3. Summary
5. Part II: Carrying Out Investigations
1. CHAPTER 8: Detecting the Use of Cryptocurrencies
1. The Premises Search
2. Searching Online
3. Extracting Private and Public Keys from Seized Computers
4. Working on a Live Computer
5. Summary
2. CHAPTER 9: Analysis of Recovered Addresses and Wallets
1. Finding Information on a Recovered Address
2. Analyzing a Recovered Wallet
3. Inferring Other Data
4. Summary
3. CHAPTER 10: Following the Money
1. Initial Hints and Tips
2. Transactions on Blockchain.info
3. Other Explorer Sites
4. Following Ethereum Transactions
5. Monitoring Addresses
6. Summary
4. CHAPTER 11: Visualization Systems
1. Online Blockchain Viewers
2. Commercial Visualization Systems
3. Summary
5. CHAPTER 12: Finding Your Suspect
1. Tracing an IP Address
2. Tracking to a Service Provider
3. Considering Open-Source Methods
4. Accessing and Searching the Dark Web
5. Detecting and Reading Micromessages
6. Summary
6. CHAPTER 13: Sniffing Cryptocurrency Traffic
1. What Is Intercept?
2. Watching a Bitcoin Node
3. Sniffing Data on the Wire
4. Summary
7. CHAPTER 14: Seizing Coins
1. Asset Seizure
2. Practice, Practice, Practice
3. Summary
8. CHAPTER 15: Putting It All Together
1. Examples of Cryptocurrency Crimes
2. What Have You Learned?
3. Where Do You Go from Here?
, 6. Index
7. End User License Agreement
List of Illustrations
1. Introduction
1. Figure Intro-1: Message in the Genesis block.
2. Figure Intro-2: Screenshot of a computer locked with the WannaCry ransomware.
3. Figure Intro-3: Computer locked with the Petya/NotPetya virus.
2. Chapter 1
1. Figure 1-1: Stone money of Yap.
2. Figure 1-2: Dialog box to create a shortcut to run Bitcoin Core.
3. Figure 1-3: The three options in the Bitcoin Core program group.
4. Figure 1-4: The Send screen in Bitcoin Core.
5. Figure 1-5: The Send screen with send address filled in.
6. Figure 1-6: Blockchain viewer showing a transaction.
3. Chapter 2
1. Figure 2-1: Hash a value from a list and compare with the leaked database.
2. Figure 2.2: Military World War 2 Enigma machine
3. Figure 2-3: The encryption/decryption life cycle.
4. Figure 2-4: Every time we reach the max value of 253, we start from the beginning,
providing a remainder of 188.
5. Figure 2-5: A visualization of an elliptic curve on a graph.
6. Figure 2-6: Intersecting lines on an elliptic curve and reflecting across the x-axis.
7. Figure 2-7: The MAX value means the tangent “leaves” the graph and re-enters
reflected in the x- and y-axis.
8. Figure 2-8: Asteroids!
9. Figure 2-9: Ship leaving the screen and re-entering reflected in the x- and y-axis.
10. Figure 2.10: The line in the spreadsheet where the “system” has given you 10
NickCoin.
11. Figure 2-11: Block hash.
12. Figure 2-12: miner.py running to find a hash with four zeros at its beginning.
13. Figure 2-13: Awarding 10 NickCoin to the person who mines the fastest.
4. Chapter 3
1. Figure 3-1: Live graph of transactions per block.
2. Figure 3-2: Block header and its constituent parts.
3. Figure 3-3: The block header.
4. Figure 3-4: Visualization of the Merkle tree.
5. Figure 3-5: UNIX time conversion in Excel.
6. Figure 3-6: Set the byte width to 32 bytes wide.
7. Figure 3-7: Set the byte group size to 4.
8. Figure 3-8: Set the offset base to decimal.
9. Figure 3-9: Raw hex from a block on the Bitcoin blockchain
10. Figure 3-10: Visualizing Internal byte order.
11. Figure 3-11: How each entity is written in the block header.
12. Figure 3-12: The version in Little Endian.