Log In
Or create an account -> 
Imperial Library
  • Home
  • About
  • News
  • Upload
  • Forum
  • Help
  • Login/SignUp

Index
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
  • ← Prev
  • Back
  • Next →
  • ← Prev
  • Back
  • Next →

Chief Librarian: Las Zenow <zenow@riseup.net>
Fork the source code from gitlab
.

This is a mirror of the Tor onion service:
http://kx5thpx2olielkihfyo4jgjqfb7zx7wxr3sd4xzt26ochei4m6f7tayd.onion