برای استفاده از امکانات سیستم، گزینه جاوا اسکریپت در مرورگر شما باید فعال باشد
صفحه
از
0
Mastering Bitcoin : programming the open Blockchain
Antonopoulos, Andreas M.
اطلاعات کتابشناختی
Mastering Bitcoin : programming the open Blockchain
Author :
Antonopoulos, Andreas M.
Publisher :
O'Reilly,
Pub. Year :
2017
Subjects :
Electronic commerce. Money.
Call Number :
HF 5548 .32 .A58 2017
جستجو در محتوا
ترتيب
شماره صفحه
امتياز صفحه
فهرست مطالب
Cover
(1)
Copyright
(4)
Table of Contents
(7)
Preface
(15)
Writing the Bitcoin Book
(15)
Intended Audience
(15)
Why Are There Bugs on the Cover?
(16)
Conventions Used in This Book
(16)
Code Examples
(17)
Using Code Examples
(18)
Bitcoin Addresses and Transactions in This Book
(18)
O’Reilly Safari
(19)
How to Contact Us
(19)
Contacting the Author
(20)
Acknowledgments
(20)
Early Release Draft (GitHub Contributions)
(22)
Quick Glossary
(25)
Chapter 1. Introduction
(35)
What Is Bitcoin?
(35)
History of Bitcoin
(38)
Bitcoin Uses, Users, and Their Stories
(39)
Getting Started
(40)
Choosing a Bitcoin Wallet
(40)
Quick Start
(42)
Getting Your First Bitcoin
(44)
Finding the Current Price of Bitcoin
(45)
Sending and Receiving Bitcoin
(46)
Chapter 2. How Bitcoin Works
(49)
Transactions, Blocks, Mining, and the Blockchain
(49)
Bitcoin Overview
(49)
Buying a Cup of Coffee
(50)
Bitcoin Transactions
(52)
Transaction Inputs and Outputs
(52)
Transaction Chains
(53)
Making Change
(54)
Common Transaction Forms
(55)
Constructing a Transaction
(56)
Getting the Right Inputs
(56)
Creating the Outputs
(58)
Adding the Transaction to the Ledger
(59)
Bitcoin Mining
(60)
Mining Transactions in Blocks
(61)
Spending the Transaction
(63)
Chapter 3. Bitcoin Core: The Reference Implementation
(65)
Bitcoin Development Environment
(66)
Compiling Bitcoin Core from the Source Code
(66)
Selecting a Bitcoin Core Release
(67)
Configuring the Bitcoin Core Build
(68)
Building the Bitcoin Core Executables
(71)
Running a Bitcoin Core Node
(72)
Running Bitcoin Core for the First Time
(73)
Configuring the Bitcoin Core Node
(73)
Bitcoin Core Application Programming Interface (API)
(77)
Getting Information on the Bitcoin Core Client Status
(78)
Exploring and Decoding Transactions
(79)
Exploring Blocks
(81)
Using Bitcoin Core’s Programmatic Interface
(82)
Alternative Clients, Libraries, and Toolkits
(85)
C/C++
(86)
JavaScript
(86)
Java
(86)
Python
(86)
Ruby
(87)
Go
(87)
Rust
(87)
C#
(87)
Objective-C
(87)
Chapter 4. Keys, Addresses
(89)
Introduction
(89)
Public Key Cryptography and Cryptocurrency
(90)
Private and Public Keys
(91)
Private Keys
(92)
Public Keys
(94)
Elliptic Curve Cryptography Explained
(94)
Generating a Public Key
(97)
Bitcoin Addresses
(98)
Base58 and Base58Check Encoding
(100)
Key Formats
(104)
Implementing Keys and Addresses in Python
(110)
Advanced Keys and Addresses
(114)
Encrypted Private Keys (BIP-38)
(114)
Pay-to-Script Hash (P2SH) and Multisig Addresses
(115)
Vanity Addresses
(116)
Paper Wallets
(122)
Chapter 5. Wallets
(127)
Wallet Technology Overview
(127)
Nondeterministic (Random) Wallets
(128)
Deterministic (Seeded) Wallets
(129)
HD Wallets (BIP-32/BIP-44)
(130)
Seeds and Mnemonic Codes (BIP-39)
(131)
Wallet Best Practices
(131)
Using a Bitcoin Wallet
(132)
Wallet Technology Details
(133)
Mnemonic Code Words (BIP-39)
(133)
Creating an HD Wallet from the Seed
(140)
Using an Extended Public Key on a Web Store
(144)
Chapter 6. Transactions
(151)
Introduction
(151)
Transactions in Detail
(151)
Transactions—Behind the Scenes
(152)
Transaction Outputs and Inputs
(153)
Transaction Outputs
(155)
Transaction Inputs
(157)
Transaction Fees
(160)
Adding Fees to Transactions
(163)
Transaction Scripts and Script Language
(165)
Turing Incompleteness
(165)
Stateless Verification
(166)
Script Construction (Lock + Unlock)
(166)
Pay-to-Public-Key-Hash (P2PKH)
(170)
Digital Signatures (ECDSA)
(172)
How Digital Signatures Work
(173)
Verifying the Signature
(175)
Signature Hash Types (SIGHASH)
(175)
ECDSA Math
(177)
The Importance of Randomness in Signatures
(179)
Bitcoin Addresses, Balances, and Other Abstractions
(179)
Chapter 7. Advanced Transactions and Scripting
(183)
Introduction
(183)
Multisignature
(183)
Pay-to-Script-Hash (P2SH)
(185)
P2SH Addresses
(187)
Benefits of P2SH
(188)
Redeem Script and Validation
(188)
Data Recording Output (RETURN)
(189)
Timelocks
(191)
Transaction Locktime (nLocktime)
(191)
Check Lock Time Verify (CLTV)
(192)
Relative Timelocks
(194)
Relative Timelocks with nSequence
(194)
Relative Timelocks with CSV
(196)
Median-Time-Past
(196)
Timelock Defense Against Fee Sniping
(197)
Scripts with Flow Control (Conditional Clauses)
(198)
Conditional Clauses with VERIFY Opcodes
(199)
Using Flow Control in Scripts
(200)
Complex Script Example
(201)
Chapter 8. The Bitcoin Network
(205)
Peer-to-Peer Network Architecture
(205)
Node Types and Roles
(206)
The Extended Bitcoin Network
(207)
Bitcoin Relay Networks
(210)
Network Discovery
(210)
Full Nodes
(214)
Exchanging “Inventory”
(215)
Simplified Payment Verification (SPV) Nodes
(217)
Bloom Filters
(219)
How Bloom Filters Work
(220)
How SPV Nodes Use Bloom Filters
(223)
SPV Nodes and Privacy
(224)
Encrypted and Authenticated Connections
(225)
Tor Transport
(225)
Peer-to-Peer Authentication and Encryption
(225)
Transaction Pools
(226)
Chapter 9. The Blockchain
(229)
Introduction
(229)
Structure of a Block
(230)
Block Header
(231)
Block Identifiers: Block Header Hash and Block Height
(231)
The Genesis Block
(232)
Linking Blocks in the Blockchain
(234)
Merkle Trees
(235)
Merkle Trees and Simplified Payment Verification (SPV)
(241)
Bitcoin’s Test Blockchains
(241)
Testnet—Bitcoin’s Testing Playground
(242)
Segnet—The Segregated Witness Testnet
(244)
Regtest—The Local Blockchain
(244)
Using Test Blockchains for Development
(245)
Chapter 10. Mining and Consensus
(247)
Introduction
(247)
Bitcoin Economics and Currency Creation
(249)
Decentralized Consensus
(251)
Independent Verification of Transactions
(252)
Mining Nodes
(253)
Aggregating Transactions into Blocks
(254)
The Coinbase Transaction
(255)
Coinbase Reward and Fees
(257)
Structure of the Coinbase Transaction
(258)
Coinbase Data
(259)
Constructing the Block Header
(261)
Mining the Block
(262)
Proof-of-Work Algorithm
(262)
Target Representation
(269)
Retargeting to Adjust Difficulty
(269)
Successfully Mining the Block
(271)
Validating a New Block
(272)
Assembling and Selecting Chains of Blocks
(273)
Blockchain Forks
(274)
Mining and the Hashing Race
(281)
The Extra Nonce Solution
(283)
Mining Pools
(284)
Consensus Attacks
(287)
Changing the Consensus Rules
(290)
Hard Forks
(290)
Hard Forks: Software, Network, Mining, and Chain
(292)
Diverging Miners and Difficulty
(293)
Contentious Hard Forks
(294)
Soft Forks
(295)
Criticisms of Soft Forks
(296)
Soft Fork Signaling with Block Version
(296)
BIP-34 Signaling and Activation
(297)
BIP-9 Signaling and Activation
(298)
Consensus Software Development
(300)
Chapter 11. Bitcoin Security
(303)
Security Principles
(303)
Developing Bitcoin Systems Securely
(304)
The Root of Trust
(305)
User Security Best Practices
(306)
Physical Bitcoin Storage
(307)
Hardware Wallets
(307)
Balancing Risk
(307)
Diversifying Risk
(308)
Multisig and Governance
(308)
Survivability
(308)
Conclusion
(308)
Chapter 12. Blockchain Applications
(309)
Introduction
(309)
Building Blocks (Primitives)
(310)
Applications from Building Blocks
(312)
Colored Coins
(312)
Using Colored Coins
(313)
Issuing Colored Coins
(314)
Colored Coins Transactions
(314)
Counterparty
(317)
Payment Channels and State Channels
(318)
State Channels—Basic Concepts and Terminology
(319)
Simple Payment Channel Example
(320)
Making Trustless Channels
(323)
Asymmetric Revocable Commitments
(326)
Hash Time Lock Contracts (HTLC)
(330)
Routed Payment Channels (Lightning Network)
(331)
Basic Lightning Network Example
(332)
Lightning Network Transport and Routing
(335)
Lightning Network Benefits
(337)
Conclusion
(338)
Appendix A. The Bitcoin Whitepaper by Satoshi Nakamoto
(339)
Bitcoin - A Peer-to-Peer Electronic Cash System
(339)
Introduction
(340)
Transactions
(340)
Timestamp Server
(341)
Proof-of-Work
(342)
Network
(343)
Incentive
(343)
Reclaiming Disk Space
(344)
Simplified Payment Verification
(344)
Combining and Splitting Value
(345)
Privacy
(346)
Calculations
(346)
Conclusion
(349)
References
(349)
License
(350)
Appendix B. Transaction Script Language Operators, Constants, and Symbols
(351)
Appendix C. Bitcoin Improvement Proposals
(357)
Appendix D. Segregated Witness
(363)
Appendix E. Bitcore
(377)
Bitcore’s Feature List
(377)
Bitcore Library Examples
(378)
Prerequisities
(378)
Wallet Examples using bitcore-lib
(378)
Appendix F. pycoin, ku, and tx
(381)
Key Utility (KU)
(381)
Transaction Utility (TX)
(387)
Appendix G. Bitcoin Explorer (bx) Commands
(391)
Examples of bx Command Use
(393)
Index
(395)
About the Author
(404)
Colophon
(404)
www.ebookcenter.ir, phone: 66403879 مرکز کتب ديجيتال
(1)