Mastering Bitcoin Open Edition
Free
Description
Contents
Reviews
Language
English
ISBN
9781449374044
Copyright
Table of Contents
Preface
Writing the Bitcoin Book
Intended Audience
Why Are There Bugs On The Cover?
Conventions Used in This Book
Github Source Code
Code Examples
Using Code Examples
Safari® Books Online
How to Contact Us
Acknowledgments
Early Release Draft (Github Contributions)
Quick Glossary
Chapter 1. Introduction
What is Bitcoin?
History of Bitcoin
Bitcoin Uses, Users and Their Stories
Getting Started
Quick Start
Getting your first bitcoins
Sending and receiving bitcoins
Chapter 2. How Bitcoin Works
Transactions, Blocks, Mining, and the Blockchain
Bitcoin Overview
Buying a cup of coffee
Bitcoin Transactions
Common Transaction Forms
Constructing a Transaction
Getting the right inputs
Creating the outputs
Adding the transaction to the ledger
Bitcoin Mining
Mining transactions in blocks
Spending the transaction
Chapter 3. The Bitcoin Client
Bitcoin Core - The reference implementation
Running Bitcoin Core for the first time
Compiling Bitcoin Core from the source code
Using Bitcoin Core’s JSON-RPC API from the command line
Getting information on the Bitcoin Core client status
Wallet setup and encryption
Wallet backup, plain-text dump and restore
Wallet addresses and receiving transactions
Exploring and decoding transactions
Exploring blocks
Creating, signing and submitting transactions based on unspent outputs
Alternative clients, libraries and toolkits
Libbitcoin and sx tools
pycoin
btcd
Chapter 4. Keys, Addresses, Wallets
Introduction
Public key cryptography and crypto-currency
Private and Public Keys
Private Keys
Public Keys
Elliptic Curve Cryptography Explained
Generating a public key
Bitcoin Addresses
Base58 and Base58Check Encoding
Key Formats
Implementing Keys and Addresses in Python
Wallets
Non-Deterministic (Random) Wallets
Deterministic (Seeded) Wallets
Mnemonic Code Words
Hierarchical Deterministic Wallets (BIP0032/BIP0044)
Advanced Keys and Addresses
Encrypted Private Keys (BIP0038)
Pay To Script Hash (P2SH) and Multi-Sig Addresses
Vanity Addresses
Paper Wallets
Chapter 5. Transactions
Introduction
Transaction Lifecycle
Creating Transactions
Broadcasting Transactions to the Bitcoin Network
Propagating Transactions on the Bitcoin Network
Transaction Structure
Transaction Outputs and Inputs
Transaction Outputs
Transaction Inputs
Transaction Fees
Adding Fees to Transactions
Transaction Chaining and Orphan Transactions
Transaction Scripts and Script Language
Script Construction (Lock + Unlock)
Scripting Language
Turing Incompleteness
Stateless Verification
Standard Transactions
Pay to Public Key Hash (P2PKH)
Pay-to-Public-Key
Multi-Signature
Data Output (OP_RETURN)
Pay to Script Hash (P2SH)
Chapter 6. The Bitcoin Network
Peer-to-Peer Network Architecture
Nodes Types and Roles
The Extended Bitcoin Network
Network Discovery
Full Nodes
Exchanging “Inventory”
Simplified Payment Verification (SPV) Nodes
Bloom Filters
Bloom Filters and Inventory Updates
Transaction Pools
Alert Messages
Chapter 7. The Blockchain
Introduction
Structure of a Block
Block Header
Block Identifiers - Block Header Hash and Block Height
The Genesis Block
Linking Blocks in the Blockchain
Merkle Trees
Merkle Trees and Simplified Payment Verification (SPV)
Chapter 8. Mining and Consensus
Introduction
Bitcoin Economics and Currency Creation
De-centralized Consensus
Independent Verification of Transactions
Mining Nodes
Aggregating Transactions into Blocks
Transaction Age, Fees, and Priority
The Generation Transaction
Coinbase Reward and Fees
Structure of the Generation Transaction
Coinbase Data
Constructing the Block Header
Mining the Block
Proof-of-Work Algorithm
Difficulty Representation
Difficulty Target and Re-Targeting
Successfully Mining the Block
Validating a New Block
Assembling and Selecting Chains of Blocks
Blockchain Forks
Mining and the Hashing Race
The Extra Nonce Solution
Mining Pools
Consensus Attacks
Chapter 9. Alternative Chains, Currencies, and Applications
A taxonomy of alternative currencies and chains
Meta-Coin Platforms
Colored Coins
Mastercoin
Counterparty
Alt-coins
Evaluating an alt-coin
Monetary Parameter Alternatives: Litecoin, Dogecoin, Freicoin
Consensus Innovation: Peercoin, Myriad, Blackcoin, Vericoin, NXT
Dual-Purpose Mining Innovation: Primecoin, Curecoin, Gridcoin
Anonymity-Focused Alt-Coins: CryptoNote, Bytecoin, Monero, Zerocash/Zerocoin, Darkcoin
Non-currency alt-chains
Namecoin
Bitmessage
Ethereum
Future of Currencies
Chapter 10. Bitcoin Security
Security principles
Developing Bitcoin Systems Securely
The Root of Trust
User Security Best Practices
Physical Bitcoin Storage
Hardware Wallets
Balancing Risk (loss vs. theft)
Diversifying Risk
Multi-sig and Governance
Survivability
Conclusion
Appendix A. Appendix: Available commands with sx tools
Appendix B. Appendix - pycoin, ku and tx.
Pycoin command-line tools: KU and TX
Key Utility (KU)
Transaction Utility (TX)
Appendix C. Appendix: Transaction Script Language Operators, Constants and Symbols
Appendix D. Appendix - Bitcoin Improvement Proposals
About the Author
The book hasn't received reviews yet.