售 价:¥
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
Title Page
Copyright and Credits
Mastering Blockchain Second Edition
Packt Upsell
Why subscribe?
PacktPub.com
Contributors
About the author
About the reviewer
Packt is searching for authors like you
Preface
Who this book is for
What this book covers
To get the most out of this book
Download the example code files
Download the color images
Conventions used
Get in touch
Reviews
Blockchain 101
The growth of blockchain technology
Distributed systems
The history of blockchain and Bitcoin
Electronic cash
Blockchain
Blockchain defined
Peer-to-peer
Distributed ledger
Cryptographically-secure
Append-only
Updateable via consensus
Generic elements of a blockchain
How blockchain works
How blockchain accumulates blocks
Benefits and limitations of blockchain
Tiers of blockchain technology
Features of a blockchain
Types of blockchain
Distributed ledgers
Distributed Ledger Technology
Public blockchains
Private blockchains
Semiprivate blockchains
Sidechains
Permissioned ledger
Shared ledger
Fully private and proprietary blockchains
Tokenized blockchains
Tokenless blockchains
Consensus
Consensus mechanism
Types of consensus mechanisms
Consensus in blockchain
CAP theorem and blockchain
Summary
Decentralization
Decentralization using blockchain
Methods of decentralization
Disintermediation
Contest-driven decentralization
Routes to decentralization
How to decentralize
The decentralization framework example
Blockchain and full ecosystem decentralization
Storage
Communication
Computing power and decentralization
Smart contracts
Decentralized Organizations
Decentralized Autonomous Organizations
Decentralized Autonomous Corporations
Decentralized Autonomous Societies
Decentralized Applications (DApps)
Requirements of a Decentralized Application
Operations of a DApp
DApp examples
KYC-Chain
OpenBazaar
Lazooz
Platforms for decentralization
Ethereum
MaidSafe
Lisk
Summary
Symmetric Cryptography
Working with the OpenSSL command line
Introduction
Mathematics
Set
Group
Field
A finite field
Order
An abelian group
Prime fields
Ring
A cyclic group
Modular arithmetic
Cryptography
Confidentiality
Integrity
Authentication
Entity authentication
Data origin authentication
Non-repudiation
Accountability
Cryptographic primitives
Symmetric cryptography
Stream ciphers
Block ciphers
Block encryption mode
Electronic Code Book
Cipher Block Chaining
Counter mode
Keystream generation mode
Message authentication mode
Cryptographic hash mode
Data Encryption Standard
Advanced Encryption Standard
How AES works
Summary
Public Key Cryptography
Asymmetric cryptography
Integer factorization
Discrete logarithm
Elliptic curves
Public and private keys
RSA
Encryption and decryption using RSA
Elliptic Curve Cryptography
Mathematics behind ECC
Point addition
Point doubling
Discrete logarithm problem in ECC
RSA using OpenSSL
RSA public and private key pair
Private key
Public key
Exploring the public key
Encryption and decryption
Encryption
Decryption
ECC using OpenSSL
ECC private and public key pair
Private key
Private key generation
Hash functions
Compression of arbitrary messages into fixed-length digest
Easy to compute
Preimage resistance
Second preimage resistance
Collision resistance
Message Digest
Secure Hash Algorithms
Design of Secure Hash Algorithms
Design of SHA-256
Design of SHA-3 (Keccak)
OpenSSL example of hash functions
Message Authentication Codes
MACs using block ciphers
Hash-based MACs
Merkle trees
Patricia trees
Distributed Hash Tables
Digital signatures
RSA digital signature algorithm
Sign then encrypt
Encrypt then sign
Elliptic Curve Digital Signature Algorithm
How to generate a digital signature using OpenSSL
ECDSA using OpenSSL
Homomorphic encryption
Signcryption
Zero-Knowledge Proofs
Blind signatures
Encoding schemes
Financial markets and trading
Trading
Exchanges
Orders and order properties
Order management and routing systems
Components of a trade
The underlying instrument
General attributes
Economics
Sales
Counterparty
Trade life cycle
Order anticipators
Market manipulation
Summary
Introducing Bitcoin
Bitcoin
Bitcoin definition
Bitcoin – a bird's-eye view
Sending a payment to someone
Digital keys and addresses
Private keys in Bitcoin
Public keys in Bitcoin
Addresses in Bitcoin
Base58Check encoding
Vanity addresses
Multisignature addresses
Transactions
The transaction life cycle
Transaction fee
Transaction pools
The transaction data structure
Metadata
Inputs
Outputs
Verification
The script language
Commonly used opcodes
Types of transactions
Coinbase transactions
Contracts
Transaction verification
Transaction malleability
Blockchain
The structure of a block
The structure of a block header
The genesis block
Mining
Tasks of the miners
Mining rewards
Proof of Work (PoW)
The mining algorithm
The hash rate
Mining systems
CPU
GPU
FPGA
ASICs
Mining pools
Summary
Bitcoin Network and Payments
The Bitcoin network
Wallets
Non-deterministic wallets
Deterministic wallets
Hierarchical Deterministic wallets
Brain wallets
Paper wallets
Hardware wallets
Online wallets
Mobile wallets
Bitcoin payments
Innovation in Bitcoin
Bitcoin Improvement Proposals (BIPs)
Advanced protocols
Segregated Witness (SegWit)
Bitcoin Cash
Bitcoin Unlimited
Bitcoin Gold
Bitcoin investment and buying and selling bitcoins
Summary
Bitcoin Clients and APIs
Bitcoin installation
Types of Bitcoin Core clients
Bitcoind
Bitcoin-cli
Bitcoin-qt
Setting up a Bitcoin node
Setting up the source code
Setting up bitcoin.conf
Starting up a node in testnet
Starting up a node in regtest
Experimenting with Bitcoin-cli
Bitcoin programming and the command-line interface
Summary
Alternative Coins
Theoretical foundations
Alternatives to Proof of Work
Proof of Storage
Proof of Stake (PoS)
Various stake types
Proof of coinage
Proof of Deposit (PoD)
Proof of Burn
Proof of Activity (PoA)
Nonoutsourceable puzzles
Difficulty adjustment and retargeting algorithms
Kimoto Gravity Well
Dark Gravity Wave
DigiShield
MIDAS
Bitcoin limitations
Privacy and anonymity
Mixing protocols
Third-party mixing protocols
Inherent anonymity
Extended protocols on top of Bitcoin
Colored coins
Counterparty
Development of altcoins
Consensus algorithms
Hashing algorithms
Difficulty adjustment algorithms
Inter-block time
Block rewards
Reward halving rate
Block size and transaction size
Interest rate
Coinage
Total supply of coins
Namecoin
Trading Namecoins
Obtaining Namecoins
Generating Namecoin records
Litecoin
Primecoin
Trading Primecoin
Mining guide
Zcash
Trading Zcash
Mining guide
Address generation
GPU mining
Downloading and compiling nheqminer
Initial Coin Offerings (ICOs)
ERC20 tokens
Summary
Smart Contracts
History
Definition
Ricardian contracts
Smart contract templates
Oracles
Smart Oracles
Deploying smart contracts on a blockchain
The DAO
Summary
Ethereum 101
Introduction
The yellow paper
Useful mathematical symbols
Ethereum blockchain
Ethereum – bird's eye view
The Ethereum network
Mainnet
Testnet
Private net
Components of the Ethereum ecosystem
Keys and addresses
Accounts
Types of accounts
Transactions and messages
Contract creation transaction
Message call transaction
Messages
Calls
Transaction validation and execution
The transaction substate
State storage in the Ethereum blockchain
The world state
The account state
Transaction receipts
Ether cryptocurrency / tokens (ETC and ETH)
The Ethereum Virtual Machine (EVM)
Execution environment
Machine state
The iterator function
Smart contracts
Native contracts
Summary
Further Ethereum
Programming languages
Runtime bytecode
Opcodes and their meaning
Arithmetic operations
Logical operations
Cryptographic operations
Environmental information
Block information
Stack, memory, storage, and flow operations
Push operations
Duplication operations
Exchange operations
Logging operations
System operations
Blocks and blockchain
The genesis block
The block validation mechanism
Block finalization
Block difficulty
Gas
Fee schedule
Forks in the blockchain
Nodes and miners
The consensus mechanism
Ethash
CPU mining
GPU mining
Benchmarking
Mining rigs
Mining pools
Wallets and client software
Geth
Eth
Pyethapp
Parity
Light clients
Installation
Eth installation
Mist browser
Geth
The geth console
Funding the account with bitcoin
Parity installation
Creating accounts using the parity command line
APIs, tools, and DApps
Applications (DApps and DAOs) developed on Ethereum
Tools
Supporting protocols
Whisper
Swarm
Scalability, security, and other challenges
Trading and investment
Summary
Ethereum Development Environment
Test networks
Setting up a private net
Network ID
The genesis file
Data directory
Flags and their meaning
Static nodes
Starting up the private network
Running Mist on private net
Deploying contracts using Mist
Block explorer for private net / local Ethereum block explorer
Summary
Development Tools and Frameworks
Languages
Compilers
Solidity compiler (solc)
Installation on Linux
Installation on macOS
Integrated Development Environments (IDEs)
Remix
Tools and libraries
Node version 7
EthereumJS
Ganache
MetaMask
Truffle
Installation
Contract development and deployment
Writing
Testing
Solidity language
Types
Value types
Boolean
Integers
Address
Literals
Integer literals
String literals
Hexadecimal literals
Enums
Function types
Internal functions
External functions
Reference types
Arrays
Structs
Data location
Mappings
Global variables
Control structures
Events
Inheritance
Libraries
Functions
Layout of a Solidity source code file
Version pragma
Import
Comments
Summary
Introducing Web3
Web3
Contract deployment
POST requests
The HTML and JavaScript frontend
Installing web3.js
Example
Creating a web3 object
Checking availability by calling any web3 method
Contract functions
Development frameworks
Truffle
Initializing Truffle
Interaction with the contract
Another example
An example project – Proof of Idea
Oracles
Deployment on decentralized storage using IPFS
Installing IPFS
Distributed ledgers
Summary
Hyperledger
Projects under Hyperledger
Fabric
Sawtooth Lake
Iroha
Burrow
Indy
Explorer
Cello
Composer
Quilt
Hyperledger as a protocol
The reference architecture
Requirements and design goals of Hyperledger Fabric
The modular approach
Privacy and confidentiality
Scalability
Deterministic transactions
Identity
Auditability
Interoperability
Portability
Rich data queries
Fabric
Hyperledger Fabric
Membership services
Blockchain services
Consensus services
Distributed ledger
The peer to peer protocol
Ledger storage
Chaincode services
Components of the fabric
Peers
Orderer nodes
Clients
Channels
World state database
Transactions
Membership Service Provider (MSP)
Smart contracts
Crypto service provider
Applications on blockchain
Chaincode implementation
The application model
Consensus in Hyperledger Fabric
The transaction life cycle in Hyperledger Fabric
Sawtooth Lake
PoET
Transaction families
Consensus in Sawtooth
The development environment – Sawtooth Lake
Corda
Architecture
State objects
Transactions
Consensus
Flows
Components
Nodes
The permissioning service
Network map service
Notary service
Oracle service
Transactions
Vaults
CorDapp
The development environment – Corda
Summary
Alternative Blockchains
Blockchains
Kadena
Ripple
Transactions
Payments related
Order related
Account and security-related
Interledger
Application layer
Transport layer
Interledger layer
Ledger layer
Stellar
Rootstock
Sidechain
Drivechain
Quorum
Transaction manager
Crypto Enclave
QuorumChain
Network manager
Tezos
Storj
MaidSafe
BigchainDB
MultiChain
Tendermint
Tendermint Core
Tendermint Socket Protocol (TMSP)
Platforms and frameworks
Eris
Summary
Blockchain – Outside of Currencies
Internet of Things
Physical object layer
Device layer
Network layer
Management layer
Application layer
IoT blockchain experiment
First node setup
Raspberry Pi node setup
Installing Node.js
Circuit
Government
Border control
Voting
Citizen identification (ID cards)
Miscellaneous
Health
Finance
Insurance
Post-trade settlement
Financial crime prevention
Media
Summary
Scalability and Other Challenges
Scalability
Network plane
Consensus plane
Storage plane
View plane
Block size increase
Block interval reduction
Invertible Bloom Lookup Tables
Sharding
State channels
Private blockchain
Proof of Stake
Sidechains
Subchains
Tree chains (trees)
Block propagation
Bitcoin-NG
Plasma
Privacy
Indistinguishability Obfuscation
Homomorphic encryption
Zero-Knowledge Proofs
State channels
Secure multiparty computation
Usage of hardware to provide confidentiality
CoinJoin
Confidential transactions
MimbleWimble
Security
Smart contract security
Formal verification and analysis
Oyente tool
Summary
Current Landscape and What's Next
Emerging trends
Application-specific blockchains (ASBCs)
Enterprise-grade blockchains
Private blockchains
Start-ups
Strong research interest
Standardization
Enhancements
Real-world implementations
Consortia
Answers to technical challenges
Convergence
Education of blockchain technology
Employment
Cryptoeconomics
Research in cryptography
New programming languages
Hardware research and development
Research in formal methods and security
Alternatives to blockchains
Interoperability efforts
Blockchain as a Service
Efforts to reduce electricity consumption
Other challenges
Regulation
Dark side
Blockchain research
Smart contracts
Centralization issues
Limitations in cryptographic functions
Consensus algorithms
Scalability
Code obfuscation
Notable projects
Zcash on Ethereum
CollCo
Cello
Qtum
Bitcoin-NG
Solidus
Hawk
Town-Crier
SETLCoin
TEEChan
Falcon
Bletchley
Casper
Miscellaneous tools
Solidity extension for Microsoft Visual Studio
MetaMask
Stratis
Embark
DAPPLE
Meteor
uPort
INFURA
Convergence with other industries
Future
Summary
Another Book You May Enjoy
Leave a review – let other readers know what you think
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜