Preface: list changes since the previous edition

Suggested by Roasbeef
develop
David A. Harding 10 months ago
parent 9bfea66f45
commit 2355a62a3f

@ -1,249 +1,42 @@
== Third Edition Changes
Chapter 4::
Rearrange address info so that we work through everything in
historical order, adding a new section with P2PK (where "address" was "IP
address"), refresh the previous P2PKH and P2SH sections, and then add new
sections for segwit/bech32 and taproot/bech32m.
=== 1. Introduction
Old chapters 6 and 7::
Text from previous versions of Chapter 6 "Transactions" and Chapter 7
"Advanced transactions" has been rearranged and expanded across four
new chapters: Chapter 6 "Transactions" (the structure of txes), Chapter 7
"Authorization and authentication", Chapter 8 "Signatures", and
Chapter 9 "Fees".
* Bitcoin Uses, Users, and Their Stories
Chapter 6::
Almost entirely new text describing the structure of a transaction.
Minor changes to the stories, updating to reflect current common uses and current price
Chapter 7::
New text about MAST, P2C, scriptless multisignature, taproot, and
tapscript.
=== 2. How Bitcoin Works
Chapter 8::
Revision of ECDSA text and new text about schnorr signatures,
multisignatures, and threshold signatures.
* Buying a [line-through]#Cup of Coffee# Laptop
Chapter 9::
Almost entirely new text about fees, fee market, RBF and CPFP fee
bumping, transaction pinning, package relay, and CPFP carve-out.
Updated Alice and Bob's story. Buying a cup of coffee is no longer sensible "on-chain", due to the value of Bitcoin and on-chain fees. Instead, small retail purchases are now a use-case for the Lightning Network. In the updated story, Alice is buying a laptop from an e-commerce store run by Bob.
Chapter 10::
New text about compact block relay, significant update to bloom
filters (describe problems), new text about compact block filters.
* Bitcoin Transactions
Chapter 11::
New text about signet.
Updated all the transactions to use native-Segwit addresses that start with "bc1", instead of legacy bitcoin addresses that start with "1".
Chapter 12::
New text about BIP8 and speedy trial.
* Transaction Inputs and Outputs
* Transaction Chains
* Making Change
* 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
Appendixes::
Added an appendix after the whitepaper with errata to the whitepaper.
=== 3. Bitcoin Core: The Reference Implementation
* Bitcoin Development Environment
* Compiling Bitcoin Core from the Source Code
* Selecting a Bitcoin Core Release
* Configuring the Bitcoin Core Build
* Building the Bitcoin Core Executables
* Running a Bitcoin Core Node
* Configuring the Bitcoin Core Node
* Bitcoin Core Application Programming Interface (API)
* Getting Information on the Bitcoin Core Client Status
* Exploring and Decoding Transactions
* Exploring Blocks
* Using Bitcoin Cores Programmatic Interface
* Alternative Clients, Libraries, and Toolkits
* C/C++
* JavaScript
* Java
* PHP
* Python
* Ruby
* Go
* Rust
* C#
* Objective-C
=== 4. Keys, Addresses
* Introduction
* Public Key Cryptography and Cryptocurrency
* 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 C++
* Implementing Keys and Addresses in Python
* Advanced Keys and Addresses
* Encrypted Private Keys (BIP38)
* Pay-to-Script Hash (P2SH) and Multisig Addresses
* Vanity Addresses
* Paper Wallets
=== 5. Wallets
* Wallet Technology Overview
* Nondeterministic (Random) Wallets
* Deterministic (Seeded) Wallets
* HD Wallets (BIP32/BIP44)
* Seeds and Mnemonic Codes (BIP39)
* Wallet Best Practices
* Using a Bitcoin Wallet
* Wallet Technology Details
* Mnemonic Code Words (BIP39)
* Creating an HD Wallet from the Seed
* Using an Extended Public Key on a Web Store
=== 6. Transactions
* Introduction
* Transactions in Detail
* Transactions—Behind the Scenes
* Transaction Outputs and Inputs
* Transaction Outputs
* Transaction Inputs
* Transaction Fees
* Adding Fees to Transactions
* Transaction Scripts and Script Language
* Turing Incompleteness
* Stateless Verification
* Script Construction (Lock + Unlock)
* Pay-to-Public-Key-Hash (P2PKH)
* Digital Signatures (ECDSA)
* How Digital Signatures Work
* Verifying the Signature
* Signature Hash Types (SIGHASH)
* ECDSA Math
* The Importance of Randomness in Signatures
* *NEW: Schnorr Signatures*
*
Bitcoin Addresses, Balances, and Other Abstractions
=== 7. Advanced Transactions And Scripting
* Introduction
* Multisignature
* Pay-to-Script-Hash (P2SH)
* P2SH Addresses
* Benefits of P2SH
* Redeem Script and Validation
* Data Recording Output (RETURN)
* Timelocks
* Transaction lock time
* Check Lock Time Verify (CLTV)
* Relative Timelocks
* Relative Timelocks with sequence
* Relative Timelocks with CSV
* Median-Time-Past
* Timelock Defense Against Fee Sniping
* Scripts with Flow Control (Conditional Clauses)
* Conditional Clauses with VERIFY Opcodes
* Using Flow Control in Scripts
* Complex Script Example
* Segregated Witness
* Why Segregated Witness?
* How Segregated Witness Works
* Soft Fork (Backward Compatibility)
* Segregated Witness Output and Transaction Examples
* Upgrading to Segregated Witness
* Segregated Witness New Signing Algorithm
* Economic Incentives for Segregated Witness
* *NEW: Segwit v1: Taproot*
* *NEW: MAST *
* *NEW: Tapscript*
* *NEW: Taproot *
=== 8. The Bitcoin Network
* Peer-to-Peer Network Architecture
* Node Types and Roles
* The Extended Bitcoin Network
* Bitcoin Relay Networks
* Network Discovery
* Full Nodes
* Exchanging “Inventory”
* Simplified Payment Verification (SPV) Nodes
* Bloom Filters
* How Bloom Filters Work
* How SPV Nodes Use Bloom Filters
* SPV Nodes and Privacy
* NEW Neutrino
* NEW Compact Blocks
* Encrypted and Authenticated Connections
* Tor Transport
* Peer-to-Peer Authentication and Encryption
* Transaction Pools
=== 9. 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)
* Bitcoins Test Blockchains
* Testnet—Bitcoins Testing Playground
* Segnet—The Segregated Witness Testnet
* Regtest—The Local Blockchain
* *NEW: Signet - The POA Test Blockchain*
* Using Test Blockchains for Development
=== 10. Mining And Consensus
* Introduction
* Bitcoin Economics and Currency Creation
* Decentralized Consensus
* Independent Verification of Transactions
* Mining Nodes
* Aggregating Transactions into Blocks
* The Coinbase Transaction
* Coinbase Reward and Fees
* Structure of the Coinbase Transaction
* Coinbase Data
* Constructing the Block Header
* Mining the Block
* Proof-of-Work Algorithm
* Target Representation
* Retargeting to Adjust Difficulty
* 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
* Changing the Consensus Rules
* Hard Forks
* Hard Forks: Software, Network, Mining, and Chain
* Diverging Miners and Difficulty
* Contentious Hard Forks
* Soft Forks
* Criticisms of Soft Forks
* Soft Fork Signaling with Block Version
* BIP34 Signaling and Activation
* BIP9 Signaling and Activation
* NEW BIP8 Activation
* *NEW: Speedy Trial Activation*
* Consensus Software Development
=== 11. Bitcoin Security
* Security Principles
* Developing Bitcoin Systems Securely
* The Root of Trust
* User Security Best Practices
* Physical Bitcoin Storage
* Hardware Wallets
* Balancing Risk
* Diversifying Risk
* Multisig and Governance
* Survivability
* Conclusion
=== 12. Blockchain Applications
* Introduction
* Building Blocks (Primitives)
* Applications from Building Blocks
* Colored Coins
* Using Colored Coins
* Issuing Colored Coins
* Colored Coins Transactions
* Counterparty
* Payment Channels and State Channels
* State Channels—Basic Concepts and Terminology
* Simple Payment Channel Example
* Making Trustless Channels
* Asymmetric Revocable Commitments
* Hash Time Lock Contracts (HTLC)
* Routed Payment Channels (Lightning Network)
* Basic Lightning Network Example
* Lightning Network Transport and Routing
* Lightning Network Benefits
* Conclusion
=== A. The Bitcoin Whitepaper By Satoshi Nakamoto
=== B. Transaction Script Language Operators, Constants, And Symbols
=== C. Bitcoin Improvement Proposals
=== D. Bitcore
=== E. Pycoin, Ku, And Tx
=== F. Bitcoin Explorer (Bx) Commands
=== *NEW: BTCD*
//FIXME:check edits history for additional changes

@ -69,6 +69,10 @@ This book is here to help you get your job done. In general, if example code is
If you feel your use of code examples falls outside fair use or the permission given above, feel free to contact us at pass:[<a href="mailto:permissions@oreilly.com">permissions@oreilly.com</a>].
=== Changes since the previous edition
include::meta/third_edition_changes.asciidoc[]
=== Bitcoin Addresses and Transactions in This Book
((("getting started", "warnings and cautions")))((("warnings and cautions", "avoid sending money to addresses appearing in book")))((("keys and addresses", "warnings and cautions")))((("transactions", "warnings and cautions")))((("blockchain applications", "warnings and cautions")))((("QR codes", "warnings and cautions")))The Bitcoin addresses, transactions, keys, QR codes, and blockchain data used in this book are, for the most part, real. That means you can browse the blockchain, look at the transactions offered as examples, retrieve them with your own scripts or programs, etc.

Loading…
Cancel
Save