𝔖 Scriptorium
✦   LIBER   ✦

πŸ“

Mastering Blockchain : a deep dive into distributed ledgers, consensus protocols, smart contracts, DApps, cryptocurrencies, Ethereum, and more

✍ Scribed by Imran Bashir


Year
2020
Tongue
English
Leaves
817
Series
Expert insight
Edition
Third
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Table of Contents


Cover
Copyright
Packt Page
Contributors
Table of Contents
Preface
Chapter 1: Blockchain 101
The growth of blockchain technology
Progress toward maturity
Increasing interest
Distributed systems
The history of blockchain and Bitcoin
The events that led to blockchain
Electronic cash
Blockchain
Blockchain defined
Blockchain architecture
Generic elements of a blockchain
Benefits, features, and limitations of blockchain
Types of blockchain
Consensus
Consensus mechanism
Types of consensus mechanisms
Consensus in blockchain
CAP theorem and blockchain
Summary
Chapter 2: Decentralization
Decentralization using blockchain
Methods of decentralization
Disintermediation
Contest-driven decentralization
Routes to decentralization
How to decentralize
Decentralization framework example
Blockchain and full ecosystem decentralization
Storage
Communication
Computing power and decentralization
Pertinent terminology
Smart contracts
Autonomous agents
Decentralized organizations
Decentralized autonomous organizations
Decentralized autonomous corporations
Decentralized autonomous societies
Decentralized applications
Platforms for decentralization
Ethereum
MaidSafe
Lisk
EOS
Innovative trends
Decentralized web
Decentralized identity
Decentralized finance (DeFi)
Summary
Chapter 3: Symmetric Cryptography
Working with the OpenSSL command line
Introduction
Cryptography
Cryptographic primitives
Keyless primitives
Symmetric cryptography
Data Encryption Standard (DES)
Advanced Encryption Standard (AES)
How AES works
An OpenSSL example of how to encrypt and decrypt usingΒ AES
Summary
Chapter 4: Public Key Cryptography
Mathematics
Modular arithmetic
Sets
Fields
Finite fields
Prime fields
Groups
Abelian groups
Rings
Cyclic groups
Order
Asymmetric cryptography
Integer factorization
Discrete logarithm
Elliptic curves
Public and private keys
RSA
Elliptic curve cryptography
Digital signatures
Cryptographic constructs and blockchain technology
Homomorphic encryption
Signcryption
Secret sharing
Commitment schemes
Zero-knowledge proofs
Different types of digital signatures
Encoding schemes
Applications of cryptographic hash functions
Summary
Chapter 5: Consensus Algorithms
Introducing the consensus problem
The Byzantine generals problem
Fault tolerance
State machine replication
FLP impossibility
Lower bounds on the number of processors to solve consensus
Analysis and design
Model
Processes
Timing assumptions
Classification
Algorithms
CFT algorithms
BFT algorithms
Choosing an algorithm
Finality
Speed, performance, and scalability
Summary
Chapter 6: Introducing Bitcoin
Bitcoin β€” an overview
The beginnings of Bitcoin
Egalitarianism versus authoritarianism
Bitcoin definition
Bitcoin β€” A user's perspective
Cryptographic keys
Private keys in Bitcoin
Public keys in Bitcoin
Addresses in Bitcoin
Transactions
The transaction lifecycle
The transaction data structure
Types of scripts
Coinbase transactions
Transaction validation
Transaction bugs
Blockchain
The genesis block
Mining
Tasks of the miners
Mining rewards
Proof of Work
The mining algorithm
The hash rate
Mining systems
Mining pools
Summary
Chapter 7: The Bitcoin Network and Payments
The Bitcoin network
Full client and SPV client
Bloom filters
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
Advanced protocols
Segregated Witness
Bitcoin Cash
Bitcoin Unlimited
Bitcoin Gold
Bitcoin investment and buying and selling Bitcoin
Summary
Chapter 8: Bitcoin Clients and APIs
Bitcoin client installation
Types of clients and tools
Setting up a Bitcoin node
Setting up the source code
Setting up bitcoin.conf
Starting up a node in the testnet
Starting up a node in regtest
Experimenting further with bitcoin-cli
Using the Bitcoin command-line tool – bitcoin-cli
Using the JSON RPC interface
Using the HTTP REST interface
Bitcoin programming
Summary
Chapter 9: Alternative Coins
Introducing altcoins
Theoretical foundations
Alternatives to Proof of Work
Proof of Storage
Proof of Stake (PoS)
Proof of Activity (PoA)
Non-outsourceable puzzles
Difficulty adjustment and retargeting algorithms
Kimoto Gravity Well
Dark Gravity Wave
DigiShield
MIDAS
Bitcoin limitations
Privacy and 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
Token versus cryptocurrency
Initial Coin Offerings (ICOs)
ERC20 standard
Summary
Chapter 10: Smart Contracts
History
Definition
Ricardian contracts
Smart contract templates
Oracles
Software and network-assisted proofs
Hardware device-assisted proofs
Types of blockchain oracles
Blockchain oracle services
Deploying smart contracts
The DAO
Summary
Chapter 11: Ethereum 101
Ethereum – an overview
The yellow paper
Ethereum – a user's perspective
The Ethereum network
The mainnet
Testnets
Private nets
Components of the Ethereum ecosystem
Keys and addresses
Accounts
Transactions and messages
Ether cryptocurrency/tokens (ETC and ETH)
The Ethereum Virtual Machine (EVM)
Execution environment
The machine state
The iterator function
Smart contracts
Native contracts
Summary
Chapter 12: Further Ethereum
Blocks and blockchain
The genesis block
The block validation mechanism
Block finalization
Block difficulty mechanism
Gas
Fee schedule
Wallets and client software
Wallets
Geth
Eth
Parity
Trinity
Light clients
Installation and usage
MetaMask
Nodes and miners
The consensus mechanism
Forks in the blockchain
Ethash
APIs, tools, and DApps
Applications (DApps and DAOs) developed on Ethereum
Tools
Geth JSON RPC API
Supporting protocols
Whisper
Swarm
Programming languages
Runtime bytecode
Opcodes
Summary
Chapter 13: Ethereum Development Environment
Overview
Test networks
Components of a private network
Network ID
The genesis file
Data directory
Starting up the private network
Mining on the private network
Remix IDE
MetaMask
Using MetaMask and Remix IDE to deploy a smartΒ contract
Adding a custom network to MetaMask and connecting Remix IDE with MetaMask
Importing accounts into MetaMask using keystore files
Deploying a contract with MetaMask
Interacting with a contract through MetaMask using Remix IDE
Summary
Chapter 14: Development Tools and Frameworks
Languages
Compilers
The Solidity compiler
Tools and libraries
Node.js
Ganache
Frameworks
Truffle
Drizzle
Embark
Brownie
Waffle
Etherlime
OpenZeppelin
Contract development and deployment
Writing smart contracts
Testing smart contracts
Deploying smart contracts
The layout of a Solidity source code file
Version pragma
Import
Comments
The Solidity language
Variables
Data types
Control structures
Events
Inheritance
Libraries
Functions
Error handling
Summary
Chapter 15: Introducing Web3
Exploring Web3 with Geth
Contract deployment
POST requests
Interacting with contracts via frontends
The HTML and JavaScript frontend
Interacting with contracts via a web frontend
Development frameworks
Using Truffle to develop a decentralized application
Using Truffle to test and deploy smart contracts
Deployment on decentralized storage using IPFS
Summary
Chapter 16: Serenity
Ethereum 2.0β€”an overview
Goals
Main features
Roadmap of Ethereum
Development phases
Phase 0
Phase 1
Phase 2
Phase 3
Architecture
Summary
Chapter 17: Hyperledger
Projects under Hyperledger
Distributed ledgers
Libraries
Tools
Domain-specific
Hyperledger reference architecture
Hyperledger design principles
Hyperledger Fabric
Membership services
Blockchain services
Smart contract services
APIs and CLIs
Components
Applications on blockchain
Consensus in Hyperledger Fabric
The transaction lifecycle in Hyperledger Fabric
Fabric 2.0
Hyperledger Sawtooth
Core features
Consensus in Sawtooth
Transaction lifecycle
Components
Setting up a Sawtooth development environment
Prerequisites
Setting up a Sawtooth network
Summary
Chapter 18: Tokenization
Tokenization on a blockchain
Advantages of tokenization
Disadvantages of tokenization
Types of tokens
Fungible tokens
Non-fungible tokens
Stable tokens
Security tokens
Process of tokenization
Token offerings
Initial coin offerings
Security token offerings
Initial exchange offerings
Equity token offerings
Decentralized autonomous initial coin offering
Other token offerings
Token standards
ERC-20
ERC-223
ERC-777
ERC-721
ERC-884
ERC-1400
ERC-1404
Trading and finance
Financial markets
Trading
Exchanges
Orders and order properties
Components of a trade
Trade lifecycle
DeFi
Trading tokens
Regulation
Building an ERC-20 token
Pre requisites
Building the Solidity contract
Deploying the contract on the Remix JavaScript virtual machine
Adding tokens in MetaMask
Emerging concepts
Tokenomics/token economics
Token engineering
Token taxonomy
Summary
Chapter 19: Blockchain – Outside of Currencies
The Internet of Things
Internet of Things architecture
Benefits of IoT and blockchain convergence
Implementing blockchain-based IoT in practice
Government
Border control
Voting
Citizen identification (ID cards)
Health
Finance
Insurance
Post-trade settlement
Financial crime prevention
Payments
Cross-border payments
Peer-to-peer loans
Media
Summary
Chapter 20: Enterprise Blockchain
Enterprise solutions and blockchain
Success factors
Limiting factors
Slow performance
Lack of access governance
Lack of privacy
Probabilistic consensus
Transaction fees
Requirements
Privacy
Performance
Access governance
Further requirements
Enterprise blockchain versus public blockchain
Use cases of enterprise blockchains
Enterprise blockchain architecture
Network layer
Protocol layer
Privacy layer
Governance layer
Integration layer
Application layer
Security, performance, scalability, monitoring
Designing enterprise blockchain solutions
TOGAF
Architecture development method
Blockchain in the cloud
Currently available enterprise blockchains
Corda
Quorum
Fabric
Autonity
Comparison of main platforms
Enterprise blockchain challenges
Interoperability
Lack of standardization
Compliance
Business challenges
Corda
Architecture
CorDapps
Components
Corda development environment
Quorum
Architecture
Privacy manager
Cryptography used in Quorum
Privacy
Access control with permissioning
Performance
Pluggable consensus
Setting up Quorum with IBFT
Quorum Wizard
Cakeshop
Running a private transaction
Further investigation
Other Quorum projects
Remix plugin
Pluggable architecture
Summary
Chapter 21: Scalability and Other Challenges
Scalability
Blockchain planes
Methods for improving scalability
Privacy
Anonymity
Confidentiality
Techniques to achieve privacy
Security
Formal verification
Smart contract security
Other challenges
Interoperability
Lack of standardization
Post-quantum resistance
Compliance and regulation
Summary
Chapter 22: Current Landscape and What's Next
Emerging trends
New implementations of blockchain technology
Technology improvements
Ongoing research and study
Innovative blockchain applications
Some debatable ideas
Areas to address
Regulation
Illegal activity
Privacy or transparency
Blockchain research topics
Smart contracts
Cryptographic function limitations
Consensus algorithms
Scalability
Code obfuscation
Blockchain and AI
The future of blockchain
Summary
Index


πŸ“œ SIMILAR VOLUMES


Mastering Blockchain: A deep dive into d
✍ Imran Bashir πŸ“‚ Library πŸ“… 2020 πŸ› Packt Publishing - ebooks Account 🌐 English

<p><b>Develop a deep understanding of the theoretical foundations of blockchain technology and learn how to write smart contracts and build decentralized applications</b></p><h4>Key Features</h4><ul><li>Updated with four new chapters on consensus algorithms, Ethereum 2.0, tokenization, and enterpris

Ethereum Projects for Beginners: Build b
✍ Kenny Vaneetvelde πŸ“‚ Library πŸ“… 2018 πŸ› Packt Publishing 🌐 English

<p><b>Understand the Ethereum platform to build distributed applications that are secured and decentralized using blockchain technology</b></p><h4>Key Features</h4><ul><li>Build your own decentralized applications using real-world blockchain examples</li><li>Implement Ethereum for building smart con

Ethereum Projects for Beginners: Build b
✍ Kenny Vaneetvelde πŸ“‚ Library πŸ› Packt Publishing 🌐 English

<p><span>Understand the Ethereum platform to build distributed applications that are secured and decentralized using blockchain technology</span></p><h4><span>Key Features</span></h4><ul><li><span><span>Build your own decentralized applications using real-world blockchain examples </span></span></li

Mastering Blockchain: Distributed ledger
✍ Imran Bashir πŸ“‚ Library πŸ“… 2018 πŸ› Packt Publishing 🌐 English

Learn about cryptography and cryptocurrencies, so you can build highly secure, decentralized applications and conduct trusted in-app transactions. Key Features β€’ Get to grips with the underlying technical principles and implementations of blockchain β€’ Build powerful applications using Ethereum