Menu
Home
Log in / Register
Home
Education
Bitcoin for the befuddled
Next >
Bitcoin for the befuddled
About the Authors
PREFACE
Acknowledgments
WHAT IS BITCOIN?
Why Bitcoin Now?
The Benefits of Using Bitcoin
The Complexity and Confusion of Bitcoin
What's in This Book?
BITCOIN BASICS
How Bitcoin Works in Simple Terms
Bitcoin Units
The Bitcoin Address
The Private Key
The Bitcoin Wallet
Acquiring Bitcoins in Your Wallet
Spending Bitcoins with Your Wallet
Bitcoin Addresses Generated by Your Bitcoin Wallet Program
The Blockchain
The Blockchain Lottery
Blockchain Forking
Transaction Confirmations, Double Spending, and Irreversibility
Mining Bitcoins
The Complexity of the Bitcoin System
STORING YOUR BITCOINS SAFELY, SECURELY, AND CONVENIENTLY
Storing Your Private Key(s)
Hot Storage vs. Cold Storage
Personal vs. Hosted Wallets
Safety, Security, and Convenience
Storing Small Amounts of Bitcoins
Online Hosted Wallet Services
Online Personal Wallet Services
Personal Hot Wallet
Storing Large Amounts of Bitcoins
Paper Wallets
Encrypted Paper Wallets
Offline Transaction Signing
Fragmented Private Keys and Multi-Signature Addresses
Special Mention: The Bitcoin Hardware Wallet
Special Mention: The Bitcoin Brain Wallet
Choosing the Storage Method That's Right for You
BUYING BITCOINS
Why Not Just Mine Bitcoins?
Ways to Buy Bitcoins
Buying Bitcoins the Easy Way
Authentication Factors
The Hassle of Converting Dollars (or Other Currencies) into Bitcoins
Reversible Transactions
Irreversible Transactions
Combining Reversible and Irreversible Assets
Why Irreversible Transactions Are Arguably Superior
Buying Bitcoins with Coinbase
Step 1: Registering at Coinbase
Step 2: Setting Up Two-Factor Identification
Step 3: Linking Your Bank Account to Coinbase
Step 4: Buying Bitcoins on Coinbase
Step 5: Protecting Your Shiny New Bitcoins
Buying Bitcoins the Efficient Way
Buying Bitcoins from a Currency Exchange
Step 1: Setting Up an Account and Linking to Your Bank Account
Step 2: Transferring US Dollars to Your Exchange Account
Step 3: Placing an Order to Buy Bitcoins
Market Orders
Limit Orders
Buying Bitcoins the Fun and Futuristic Way
Step 1: Finding Someone to Buy From
Step 2: Deciding on a Meeting Place
Step 3: Handing Over the Money and Getting Your Bitcoins
A Face-to-Face Bitcoin Purchase Without Escrow
Problems During Person-to-Person Transactions
A Face-to-Face Bitcoin Purchase with Escrow
Satoshi Square
Still Don't See a Buying Option That Works for You?
LOST AT SEA. CRYPTOGRAPHIC ADVENTURE
WHY BITCOIN IS A BIG DEAL
A Brief History of Digital Currencies
The Dawn of Bitcoin
Bitcoin's First Four Years
Bitcoin's Early Impact
The Future Potential of Bitcoin
What Are the Existential Risks to Bitcoin?
Does Bitcoin Have Advantages over Existing Currencies?
Can Bitcoin Be Destroyed via Bugs or Hacks?
Can Bitcoin Be Destroyed by Governments or Corporations?
Can Bitcoin Be Supplanted by Another Cryptocurrency?
What Role Might Bitcoin Play in the Future?
Using Bitcoin for Savings
Using Bitcoin as a Medium of Exchange
The Dangers of Decentralized Digital Money
Bitcoin and Illegal Activity
The Energy Costs of Bitcoin
Bitcoin and the Dangers of Deflation
Bitcoin and Government Stability
THE CRYPTOGRAPHY BEHIND BITCOIN
A Brief Cryptography Overview
One-Way Functions
Cryptographic Hash Functions Verify Information
Public Key Cryptography
Digital Signatures
This Is It Called a Digital Signature?
Using Digital Signatures
Why Bitcoin Needs Cryptography
Authorizing Transactions with Digital Signatures
Verifying the Validity of the Transaction History
Proof-of-Work in Bitcoin Mining
Extra Protection for Bitcoin Private Keys
Cryptographic Methods Used in Bitcoin
Cryptographic Hash Functions: SHA256 and RIPEMD160
Crowley and the Unfortunate Jelly-Filled Donut Incident
Moving Around on a Line
Elliptic Curve Digital Signature Algorithm (ECDSA)
Signing a Bitcoin Transaction Using ECDSA
The Security of Bitcoin's Cryptography
Pseudocode for Elliptic Point Summation and Point Multiplication
BITCOIN MINING
Why Is Bitcoin Mining Needed?
A Parable of Two Generals
Applying the Parable to Bitcoin
Preventing Attacks with Mining
Distributing New Currency with Mining
How Does Bitcoin Mining Work?
How Miners Solve a Block
Anatomy of a Block
Block header structure
Pooled Mining
Bitcoin Mining for Profit
Theoretical Hash Rate Limits
Decentralization in Bitcoin Mining
UNDERSTANDING THE DIFFERENT TYPES OF BITCOIN WALLETS
Wallet Software Design Fundamentals
Offline vs. Online Transaction Signing
Random Key Generation vs. Deterministic Key Generation (vs. Single Key Generation)
Full vs. Simplified Payment Verification
Speediness of initial installation and network synchronization
Speed of new payments
Security for new payments
Security of confirmed payments
Overall security
Efficiency of storage use
Ability to inspect arbitrary Bitcoin addresses
Ability to import private keys
Effect on overall health of Bitcoin network
Other Common (and Not So Common) Bitcoin Wallet Features
Future Wallets
Which Wallet Is Right for You?
Additional Wallet Considerations
BITCOIN 2030
What Will a Bitcoin Be Worth in 2030?
Bitcoin Mining in 2030
A Day in the Life of a Bitcoiner in 2030
The Bitcoin End Game
HELLO MONEY! A SIMPLE JAVASCRIPT PROGRAM
The Meaning of "Easy"
Three Ways to Write Bitcoin Software
General Security Notes on Bitcoin Programming
Some Upbeat Notes on Bitcoin Security
Writing Your First Bitcoin Program in JavaScript
Why Use JavaScript?
Bitcoin Core vs. Bitcoind
Preparing Your Machine for JavaScript Bitcoin Programming
Installing Node.js
Installing node-bitcoin
Starting Bitcoin Core
For Mac Hackers
For Linux Folks
Hello Money!
: Initializing the Connection with Bitcoin Core
: The Main Loop
The Bitcoin Core JSON-RPC API
Running the Hello Money! App
Limitations of Writing Bitcoin Programs That Use JSON-RPC
BITCOIN PROGRAMMING WITH BITCOINJ
The Best Programming Language for Connecting to the Bitcoin Network
Installing Java, Maven, and the BitcoinJ Library
Step 1: Installing Java
Step 2: Installing Maven
Step 3: Installing Git
Step 4: Installing BitcoinJ
Creating a Starter Project for hello-money
Writing the Code for hello-money
Declarations at the Top of the Program
Initializing Our Java Objects
Connecting to the Bitcoin Network
Listening for New Money
Running and Testing the hello-money Java Program
Hello Money! Balance: 20000 satoshis
Bye-Bye Money
Importing a Private Key
Sending the Money
Ensuring the Money Transmission
Running bye-bye-money
Gotchas When Using Wallets in BitcoinJ
Conclusion
Found a mistake? Please highlight the word and press Shift + Enter
Next >
Subjects
Accounting
Business & Finance
Communication
Computer Science
Economics
Education
Engineering
Environment
Geography
Health
History
Language & Literature
Law
Management
Marketing
Mathematics
Political science
Philosophy
Psychology
Religion
Sociology
Travel
Academic library - free online college e textbooks - info{at}ebrary.net - © 2014 - 2019