You are previewing Bitcoin for the Befuddled.
O'Reilly logo
Bitcoin for the Befuddled

Book Description

Bitcoin for the Befuddled demystifies the most popular Internet currency with clear explanations and comics.

Table of Contents

  1. Cover Page
  2. Title Page
  3. Copyright Page
  4. About the Authors
  5. Brief Contents
  6. Contents in Detail
  7. Preface
  8. Acknowledgments
  9. Chapter 1: What is Bitcoin?
    1. Why Bitcoin Now?
    2. The Benefits of Using Bitcoin
    3. The Complexity and Confusion of Bitcoin
    4. What’s in This Book?
  10. Chapter 2: Bitcoin Basics
    1. How Bitcoin Works in Simple Terms
    2. Bitcoin Units
    3. The Bitcoin Address
    4. The Private Key
    5. The Bitcoin Wallet
      1. Creating Your First Bitcoin Wallet with Electrum
      2. Acquiring Bitcoins in Your Wallet
      3. Spending Bitcoins with Your Wallet
      4. Bitcoin Addresses Generated by Your Bitcoin Wallet Program
    6. The Blockchain
      1. The Blockchain Lottery
      2. Blockchain Forking
      3. Transaction Confirmations, Double Spending, and Irreversibility
    7. Mining Bitcoins
    8. The Complexity of the Bitcoin System
  11. Chapter 3: Storing your Bitcoins Safely, Securely, and Conveniently
    1. Storing Your Private Key(s)
    2. Hot Storage vs. Cold Storage
    3. Personal vs. Hosted Wallets
    4. Safety, Security, and Convenience
    5. Storing Small Amounts of Bitcoins
      1. Online Hosted Wallet Services
      2. Online Personal Wallet Services
      3. Personal Hot Wallet
    6. Storing Large Amounts of Bitcoins
      1. Paper Wallets
      2. Encrypted Paper Wallets
      3. Offline Transaction Signing
      4. Fragmented Private Keys and Multi-Signature Addresses
        1. Fragmented Private Keys
        2. Multi-Signature Addresses
    7. Special Mention: The Bitcoin Hardware Wallet
    8. Special Mention: The Bitcoin Brain Wallet
    9. Choosing the Storage Method That’s Right for You
  12. Chapter 4: Buying Bitcoins
    1. Why Not Just Mine Bitcoins?
    2. Ways to Buy Bitcoins
    3. Buying Bitcoins the Easy Way
      1. Authentication Factors
      2. The Hassle of Converting Dollars (or Other Currencies) into Bitcoins
        1. Reversible Transactions
        2. Irreversible Transactions
        3. Combining Reversible and Irreversible Assets
        4. Why Irreversible Transactions Are Arguably Superior
      3. Buying Bitcoins with Coinbase
        1. Step 1: Registering at Coinbase
        2. Step 2: Setting Up Two-Factor Identification
        3. Step 3: Linking Your Bank Account to Coinbase
        4. Step 4: Buying Bitcoins on Coinbase
        5. Step 5: Protecting Your Shiny New Bitcoins
    4. Buying Bitcoins the Efficient Way
      1. Buying Bitcoins from a Currency Exchange
        1. Step 1: Setting Up an Account and Linking to Your Bank Account
        2. Step 2: Transferring US Dollars to Your Exchange Account
        3. Step 3: Placing an Order to Buy Bitcoins
        4. Market Orders
        5. Limit Orders
    5. Buying Bitcoins the Fun and Futuristic Way
      1. Step 1: Finding Someone to Buy From
      2. Step 2: Deciding on a Meeting Place
      3. Step 3: Handing Over the Money and Getting Your Bitcoins
        1. A Face-to-Face Bitcoin Purchase Without Escrow
        2. Problems During Person-to-Person Transactions
        3. A Face-to-Face Bitcoin Purchase with Escrow
      4. Satoshi Square
    6. Still Don’t See a Buying Option That Works for You?
  13. Chapter 5: Lost at Sea
  14. Chapter 6: Why Bitcoin is a Big Deal
    1. A Brief History of Digital Currencies
    2. The Dawn of Bitcoin
      1. Bitcoin’s First Four Years
      2. Bitcoin’s Early Impact
        1. It Is the Largest Distributed Computing Project in History
        2. It Is a Massive Economic Experiment with Already Surprising Results
        3. It Has Prompted Serious Discussions Within Governments About the Role of Digital Currencies
    3. The Future Potential of Bitcoin
      1. What Are the Existential Risks to Bitcoin?
        1. Does Bitcoin Have Advantages over Existing Currencies?
        2. Can Bitcoin Be Destroyed via Bugs or Hacks?
        3. Can Bitcoin Be Destroyed by Governments or Corporations?
        4. Can Bitcoin Be Supplanted by Another Cryptocurrency?
      2. What Role Might Bitcoin Play in the Future?
        1. Using Bitcoin for Savings
        2. Using Bitcoin as a Medium of Exchange
      3. The Dangers of Decentralized Digital Money
        1. Bitcoin and Illegal Activity
        2. The Energy Costs of Bitcoin
        3. Bitcoin and the Dangers of Deflation
        4. Bitcoin and Government Stability
  15. Chapter 7: The Cryptography Behind Bitcoin
    1. A Brief Cryptography Overview
      1. One-Way Functions
      2. Cryptographic Hash Functions Verify Information
      3. Public Key Cryptography
      4. Digital Signatures
        1. Whis Is It Called a Digital Signature?
      5. Using Digital Signatures
    2. Why Bitcoin Needs Cryptography
      1. Authorizing Transactions with Digital Signatures
      2. Verifying the Validity of the Transaction History
      3. Proof-of-Work in Bitcoin Mining
      4. Extra Protection for Bitcoin Private Keys
    3. Cryptographic Methods Used in Bitcoin
      1. Cryptographic Hash Functions: SHA256 and RIPEMD160
    4. Crowley and the Unfortunate Jelly-Filled Donut Incident
      1. Moving Around on a Line
      2. Elliptic Curve Digital Signature Algorithm (ECDSA)
      3. Signing a Bitcoin Transaction Using ECDSA
    5. The Security of Bitcoin’s Cryptography
    6. Pseudocode for Elliptic Point Summation and Point Multiplication
  16. Chapter 8: Bitcoin Mining
    1. Why Is Bitcoin Mining Needed?
      1. A Parable of Two Generals
      2. Applying the Parable to Bitcoin
      3. Preventing Attacks with Mining
      4. Distributing New Currency with Mining
    2. How Does Bitcoin Mining Work?
      1. How Miners Solve a Block
      2. Anatomy of a Block
      3. Pooled Mining
    3. Bitcoin Mining for Profit
    4. Theoretical Hash Rate Limits
    5. Decentralization in Bitcoin Mining
    6. The Strange World of Altcoins
  17. Chapter 9: Understanding the Different Types of Bitcoin Wallets
    1. Wallet Software Design Fundamentals
      1. Offline vs. Online Transaction Signing
      2. Random Key Generation vs. Deterministic Key Generation (vs. Single Key Generation)
        1. Combining Deterministic Key Generation with Watch-Only Wallets
        2. The Math Behind Deterministic Key Generation with Watch-Only Wallets
      3. Full vs. Simplified Payment Verification
    2. Other Common (and Not So Common) Bitcoin Wallet Features
    3. Future Wallets
    4. Which Wallet Is Right for You?
    5. Additional Wallet Considerations
  18. Chapter 10: Bitcoin 2030
    1. What Will a Bitcoin Be Worth in 2030?
    2. Bitcoin Mining in 2030
    3. A Day in the Life of a Bitcoiner in 2030
    4. The Bitcoin End Game
  19. Appendix A: Hello Money! A Simple JavaScript Program
    1. The Meaning of “Easy”
    2. Three Ways to Write Bitcoin Software
    3. General Security Notes on Bitcoin Programming
    4. Some Upbeat Notes on Bitcoin Security
    5. Writing Your First Bitcoin Program in JavaScript
      1. Why Use JavaScript?
      2. Bitcoin Core vs. Bitcoind
    6. Preparing Your Machine for JavaScript Bitcoin Programming
      1. Installing Node.js
      2. Installing node-bitcoin
      3. Starting Bitcoin Core
      4. For Mac Hackers
      5. For Linux Folks
    7. Hello Money!
      1. Part 1: Initializing the Connection with Bitcoin Core
      2. Part 2: The Main Loop
      3. The Bitcoin Core JSON-RPC API
    8. Running the Hello Money! App
    9. Limitations of Writing Bitcoin Programs That Use JSON-RPC
  20. Appendix B: Bitcoin Programming with BitcoinJ
    1. The Best Programming Language for Connecting to the Bitcoin Network
    2. Installing Java, Maven, and the BitcoinJ Library
      1. Step 1: Installing Java
      2. Step 2: Installing Maven
      3. Step 3: Installing Git
      4. Step 4: Installing BitcoinJ
    3. Creating a Starter Project for hello-money
    4. Writing the Code for hello-money
      1. Declarations at the Top of the Program
      2. Initializing Our Java Objects
      3. Connecting to the Bitcoin Network
      4. Listening for New Money
    5. Running and Testing the hello-money Java Program
    6. Bye-Bye Money
      1. Importing a Private Key
      2. Sending the Money
      3. Ensuring the Money Transmission
      4. Running bye-bye-money
    7. Gotchas When Using Wallets in BitcoinJ
    8. Conclusion
  21. Index
  22. Footnotes
    1. Chapter 1: What is Bitcoin?
    2. Chapter 2: Bitcoin Basics
    3. Chapter 3: Storing your Bitcoins Safely, Securely, and Conveniently
    4. Chapter 4: Buying Bitcoins
    5. Chapter 6: Why Bitcoin is a Big Deal
    6. Chapter 7: The Cryptography Behind Bitcoin
    7. Chapter 8: Bitcoin Mining
    8. Chapter 9: Understanding the Different Types of Bitcoin Wallets
    9. Chapter 10: Bitcoin 2030
    10. Appendix A: Hello Money! A Simple Javascript Program
    11. Appendix B: Bitcoin Programming with Bitcoinj
  23. Updates