Mastering blockchain distributed ledgers, decentralization and smart contracts explained
Distributed ledgers, decentralization and smart contracts explained About This Book Get to grips with the underlying technical principles and implementations of blockchain. Build powerful applications using Ethereum to secure transactions and create smart contracts. Explore cryptography, mine crypto...
Otros Autores: | |
---|---|
Formato: | Libro electrónico |
Idioma: | Inglés |
Publicado: |
Birmingham, [England] ; Mumbai, [India] :
Packt
2017.
|
Edición: | 1st edition |
Materias: | |
Ver en Biblioteca Universitat Ramon Llull: | https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009630095106719 |
Tabla de Contenidos:
- Cover
- Credits
- About the Author
- About the Reviewer
- www.PacktPub.com
- Customer Feedback
- Table of Contents
- Preface
- Chapter 1: Blockchain 101
- Distributed systems
- CAP theorem
- Byzantine Generals problem
- Consensus
- Consensus mechanisms
- Types of consensus mechanism
- The history of blockchain
- Electronic cash
- The concept of electronic cash
- Introduction to blockchain
- Various technical definitions of blockchains
- Generic elements of a blockchain
- Addresses
- Transaction
- Block
- Peer-to-peer network
- Scripting or programming language
- Virtual machine
- State machine
- Nodes
- Smart contracts
- Features of a blockchain
- Distributed consensus
- Transaction verification
- Platforms for smart contracts
- Transferring value between peers
- Generating cryptocurrency
- Smart property
- Provider of security
- Immutability
- Uniqueness
- Smart contracts
- Applications of blockchain technology
- How blockchains accumulate blocks
- Tiers of blockchain technology
- Blockchain 1.0
- Blockchain 2.0
- Blockchain 3.0
- Generation X (Blockchain X)
- Types of blockchain
- Public blockchains
- Private blockchains
- Semi-private blockchains
- Sidechains
- Permissioned ledger
- Distributed ledger
- Shared ledger
- Fully private and proprietary blockchains
- Tokenized blockchains
- Tokenless blockchains
- Consensus in blockchain
- Proof of Work
- Proof of Stake
- Delegated Proof of Stake
- Proof of Elapsed Time
- Deposit-based consensus
- Proof of importance
- Federated consensus or federated Byzantine consensus
- Reputation-based mechanisms
- Practical Byzantine Fault Tolerance
- CAP theorem and blockchain
- Benefits and limitations of blockchain
- Decentralization
- Transparency and trust
- Immutability
- High availability
- Highly secure.
- Simplification of current paradigms
- Faster dealings
- Cost saving
- Challenges and limitations of blockchain technology
- Summary
- Chapter 2: Decentralization
- Decentralization using blockchain
- Methods of decentralization
- Disintermediation
- Through competition
- Routes to decentralization
- How to decentralize
- Examples
- Blockchain and full ecosystem decentralization
- Storage
- Communication
- Computation
- Smart contract
- Decentralized organizations
- Decentralized autonomous organizations
- Decentralized autonomous corporations
- Decentralized autonomous societies
- Decentralized applications
- Requirements of a decentralized application
- Operations of a DAPP
- Examples
- KYC-Chain
- OpenBazaar
- Lazooz
- Platforms for decentralization
- Ethereum
- Maidsafe
- Lisk
- Summary
- Chapter 3: Cryptography and Technical Foundations
- Introduction
- Mathematics
- Set
- Group
- Field
- A finite field
- Order
- Prime fields
- Ring
- A cyclic group
- An abelian 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
- Keystream generation modes
- Message authentication modes
- Cryptographic hashes
- Electronic code book
- Cipher block chaining
- Counter mode
- Data Encryption Standard (DES)
- Advanced Encryption Standard (AES)
- AES steps
- An OpenSSL example of how to encrypt and decrypt using AES
- Asymmetric cryptography
- Integer factorization
- Discrete logarithm
- Elliptic curves
- Public and private keys
- RSA
- Encryption and decryption using RSA
- Elliptic curve cryptography (ECC)
- Mathematics behind ECC
- Point addition.
- Point doubling
- Discrete logarithm problem
- How to generate public and private key pairs
- Private key
- Generate public key
- How to encrypt and decrypt using RSA with OpenSSL
- Encryption
- Decrypt
- ECC using OpenSSL
- ECC private and public key pair
- Private key
- Private key generation
- Cryptographic primitives
- Hash functions
- Compression of arbitrary messages into fixed length digest
- Easy to compute
- Pre-image resistance
- Second pre-image resistance
- Collision resistance
- Message Digest (MD)
- Secure Hash Algorithms (SHAs)
- Design of Secure Hash Algorithms (SHA)
- SHA-256
- Design of SHA3 (Keccak)
- OpenSSL example of hash functions
- Message Authentication codes (MACs)
- MACs using block ciphers
- HMACs (hash-based MACs)
- Merkle trees
- Patricia trees
- Distributed hash tables (DHTs)
- Digital signatures
- Sign then encrypt
- Encrypt then sign
- Elliptic Curve Digital signature algorithm (ECDSA)
- How to generate a digital signature
- 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
- General attributes
- Economic
- Sales
- Counterparty
- Trade life cycle
- Order anticipators
- Market manipulation
- Summary
- Chapter 4: Bitcoin
- Bitcoin
- Bitcoin definition
- Keys and addresses
- Public keys in bitcoin
- Private keys in bitcoin
- Bitcoin currency units
- Base58Check encoding
- Vanity addresses
- Transactions
- The transaction life cycle
- The transaction structure
- The script language
- Commonly used Opcodes
- Types of transaction
- Coinbase transactions
- What is UTXO?
- Transaction fee
- Contracts
- Transaction malleability.
- Transaction pools
- Transaction verification
- Blockchain
- The structure of a block
- The structure of a block header
- The genesis block
- Mining
- Task of miners
- Synching up with the network
- Proof of Work
- The mining algorithm
- The hashing rate
- Mining systems
- CPU
- GPU
- FPGA
- ASICs
- Mining pools
- The bitcoin network
- Wallets
- Wallet types
- Non-deterministic wallets
- Deterministic wallets
- Hierarchical deterministic wallets
- Brain wallets
- Paper wallets
- Hardware wallets
- Online wallets
- Mobile wallets
- Bitcoin payments
- Bitcoin investment and buying and selling bitcoins
- Bitcoin installation
- 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
- Starting up a node in live mainnet
- Experimenting with bitcoin-cli
- Bitcoin programming and the command-line interface
- Bitcoin improvement proposals (BIPs)
- Summary
- Chapter 5: Alternative Coins
- Theoretical foundations
- Alternatives to Proof of Work
- Proof of Storage
- Proof of Stake
- Proof of coinage
- Proof of deposit
- Proof of burn
- Proof of activity
- Non-outsourceable 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
- Coin age
- 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
- Summary
- Chapter 6: Smart Contracts
- History
- Definition
- Ricardian contracts
- Smart contract templates
- Oracles
- Smart Oracles
- Deploying smart contracts on a blockchain
- The DAO
- Summary
- Chapter 7: Ethereum 101
- Introduction
- Ethereum clients and releases
- The Ethereum stack
- Ethereum blockchain
- Currency (ETH and ETC)
- Forks
- Gas
- The consensus mechanism
- The world state
- The account state
- Nonce
- Balance
- Storageroot
- Codehash
- Transactions
- Nonce
- gasPrice
- gasLimit
- To
- Value
- Signature
- Init
- Data
- Contract creation transaction
- Message call transaction
- Elements of the Ethereum blockchain
- Ethereum virtual machine (EVM)
- Execution environment
- Machine state
- The iterator function
- Runtime byte code
- 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
- Precompiled contracts
- The elliptic curve public key recovery function
- The SHA-256 bit hash function
- The RIPEMD-160 bit hash function
- The identity function
- Accounts
- Types of accounts
- Block
- Block header
- Parent hash
- Ommers hash
- Beneficiary
- State root
- Transactions root
- Receipts root
- Logs bloom
- Difficulty
- Number
- Gas limit
- Gas used
- Timestamp
- Extra data
- Mixhash
- Nonce
- The genesis block
- Transaction receipts
- The post-transaction state
- Gas used
- Set of logs
- The bloom filter.
- Transaction validation and execution.