Mastering Blockchain a technical reference guide to what's under the hood of Blockchain, from cryptography to DeFi and NFTs
Demystify one of the most disruptive modern technologies and gain an understanding of distributed ledger technology, consensus protocols, smart contracts, DApps, blockchain scalability, privacy, security, and more. Blockchain is the backbone of cryptocurrencies, with applications in finance, governm...
Otros Autores: | |
---|---|
Formato: | Libro electrónico |
Idioma: | Inglés |
Publicado: |
Birmingham, England :
Packt Publishing, Limited
[2023]
|
Edición: | 4th ed |
Colección: | Expert insight.
|
Materias: | |
Ver en Biblioteca Universitat Ramon Llull: | https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009758640306719 |
Tabla de Contenidos:
- Cover
- Copyright
- Table of Contents
- Preface
- Chapter 1 : Blockchain 101
- The growth of blockchain technology
- Progress towards maturity
- Rising interest
- Distributed systems
- CAP theorem
- PACELC theorem
- The history of blockchain
- Bitcoin
- Electronic cash
- Introducing blockchain
- Blockchain architecture
- Blockchain by layers
- Blockchain in business
- Generic elements of a blockchain
- Blockchain functionality
- Benefits and features of blockchain
- Limitations of blockchain technology
- Types of blockchain
- Distributed ledgers
- Shared ledger
- Public blockchains
- Private blockchains
- Semi-private blockchains
- Permissioned ledger
- Fully private and proprietary blockchains
- Tokenized blockchains
- Tokenless blockchains
- Layer 1 blockchains
- Monolithic and polylithic blockchains
- Layer 2 blockchains
- Sidechains
- Summary
- Chapter 2 : Decentralization
- Introducing decentralization
- Methods of decentralization
- Disintermediation
- Contest-driven decentralization
- Quantifying decentralization
- Benefits of decentralization
- Evaluating requirements
- Full-ecosystem decentralization
- Storage
- Communication
- Computing power
- Decentralization in practice
- Smart contracts
- Autonomous agents
- Decentralized organizations
- Decentralized autonomous organizations
- Decentralized autonomous corporations
- Decentralized autonomous societies
- Decentralized applications
- Criteria for a DApp
- Operations of a DApp
- Design of a DApp
- Innovative trends
- Decentralized web
- Web 1
- Web 2
- Web 3
- Summary
- Chapter 3 : Symmetric Cryptography
- Introducing cryptography
- Services provided by cryptography
- Cryptographic primitives
- Keyless primitives
- Random numbers
- Hash functions
- Symmetric key primitives
- Message authentication codes.
- Secret key ciphers
- Advanced Encryption Standard
- Data Encryption Standard
- How AES works
- Encrypting and decrypting using AES
- Summary
- Chapter 4 : Asymmetric Cryptography
- Foundational mathematics
- Asymmetric cryptography
- Public and private keys
- Asymmetric cryptography algorithms
- Integer factorization
- Discrete logarithm
- Elliptic curves
- Integrated encryption scheme
- Introducing RSA
- Encrypting and decrypting with RSA
- Introducing ECC
- Mathematics behind ECC
- Point addition
- Point doubling
- Point multiplication
- The discrete logarithm problem
- Generating keys with ECC
- Digital signatures
- RSA digital signature algorithms
- Generating RSA digital signatures
- The elliptic curve digital signature algorithm
- Generating ECDSA digital signatures
- Different types of digital signatures
- Blind signatures
- Multisignatures
- Threshold signatures
- Aggregate signatures
- Ring signatures
- Cryptographic constructs and blockchain technology
- Homomorphic encryption
- Secret sharing
- Commitment schemes
- Zero-knowledge proofs
- zk-SNARKs
- zk-STARKs
- Zero-knowledge range proofs
- Encoding schemes
- Base64
- base58
- Verifiable random functions
- Summary
- Chapter 5 : Consensus Algorithms
- Introducing consensus
- Fault tolerance
- FLP impossibility
- Analysis and design
- Model
- Processes
- Timing assumptions
- Classification
- Algorithms
- CFT algorithms
- Paxos
- Raft
- BFT algorithms
- Practical Byzantine Fault Tolerance
- Istanbul Byzantine Fault Tolerance
- Tendermint
- Nakamoto consensus
- Variants of PoW
- HotStuff
- Choosing an algorithm
- Finality
- Speed, performance, and scalability
- Summary
- Chapter 6 : Bitcoin Architecture
- Introducing Bitcoin
- Cryptographic keys
- Private keys in Bitcoin
- Public keys in Bitcoin
- Addresses.
- Typical Bitcoin addresses
- Advanced Bitcoin addresses
- Transactions
- Coinbase transactions
- The transaction lifecycle
- Transaction validation
- Transaction fees
- The transaction data structure
- Metadata
- Inputs
- Outputs
- Verification
- The Script language
- Opcodes
- Standard transaction scripts
- Contracts
- Transaction bugs
- Blockchain
- Structure
- The genesis block
- Stale and orphan blocks
- Forks
- Properties
- Miners
- Proof of Work (PoW)
- Mining systems
- CPU
- GPU
- FPGAs
- ASICs
- Mining pools
- Network
- Types of messages
- Client software
- Bloom filters
- Wallets
- Summary
- Chapter 7 : Bitcoin in Practice
- Bitcoin in the real world
- Bitcoin payments
- Innovation in Bitcoin
- Bitcoin improvement proposals
- Advanced protocols
- Segregated Witness
- Bitcoin Cash
- Bitcoin Unlimited
- Bitcoin Gold
- Taproot
- Extended protocols on top of Bitcoin
- Colored coins
- Counterparty
- Altcoins from Bitcoin
- 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
- Using the JSON-RPC interface
- Using the HTTP REST interface
- Bitcoin programming
- Summary
- Chapter 8 : Smart Contracts
- Introducing smart contracts
- Definitions
- Properties
- Real-world application
- Ricardian contracts
- Smart contract templates
- Oracles
- Software-and network-assisted proofs
- TLSNotary
- TLS-N-based mechanism
- Hardware device-assisted proofs
- Android proof
- Ledger proof
- Trusted hardware-assisted proofs
- Types of blockchain oracles
- Inbound oracles
- Outbound oracles
- Cryptoeconomic oracles
- Blockchain oracle services.
- Deploying smart contracts
- The DAO
- Advances in smart contract technology
- Solana Sealevel
- Digital Asset Modeling Language
- Summary
- Chapter 9 : Ethereum Architecture
- Introducing Ethereum
- Cryptocurrency
- Keys and addresses
- Accounts
- Transactions and messages
- MPTs
- Transaction components
- Recursive Length Prefix
- Gas
- Transaction types
- Simple transactions
- Contract creation transactions
- Message call transactions
- Messages
- Transaction validation and execution
- State and storage in the Ethereum blockchain
- The world state
- The account state
- Transaction receipts
- Ethereum virtual machine
- Execution environment
- The machine state
- Blocks and blockchain
- The genesis block
- Block validation, finalization, and processing
- Block difficulty mechanism
- Nodes and miners
- The consensus mechanism
- Forks in the blockchain
- The Ethereum network
- Main net
- Test nets
- Private nets
- Precompiled smart contracts
- Programming languages
- Solidity
- Runtime bytecode
- Opcodes
- Wallets and client software
- Wallets
- Geth
- Light clients
- Supporting protocols
- Whisper
- Swarm
- Summary
- Chapter 10 : Ethereum in Practice
- Ethereum payments
- Innovations in Ethereum
- Difficulty time bomb
- EIP-1559
- The merge and upcoming upgrades
- Programming with Geth
- Installing and configuring the Geth client
- Creating a Geth new account
- Querying the blockchain using Geth
- Geth console
- Geth attach
- Geth JSON RPC API
- Setting up a development environment
- Connecting to test networks
- Creating a private network
- Starting up the private network
- Experimenting with the Geth JavaScript console
- Mining and sending transactions
- Introducing Remix IDE
- Interacting with the Ethereum Blockchain with MetaMask
- Installing MetaMask.
- Creating and funding an account with MetaMask
- Using MetaMask and Remix IDE to deploy a smart contract
- Adding a custom network to MetaMask and connecting it with Remix IDE
- Importing accounts into MetaMask using keystore files
- Deploying a contract with MetaMask
- Interacting with a contract through MetaMask using Remix IDE
- Summary
- Chapter 11 : Tools, Languages, and Frameworks for Ethereum Developers
- Languages
- The Solidity compiler
- Installing solc
- Experimenting with solc
- Tools, libraries, and frameworks
- Node.js
- Ganache
- ganache-cli
- Ganache UI
- Truffle
- Drizzle
- Other tools
- Contract development and deployment
- Writing smart contracts
- Testing smart contracts
- Deploying smart contracts
- The Solidity language
- Functions
- Variables
- Local variables
- Global variables
- State variables
- Data types
- Value types
- Reference types
- Control structures
- Events
- Inheritance
- Libraries
- Error handling
- Summary
- Chapter 12 : Web3 Development Using Ethereum
- Interacting with contracts using Web3 and Geth
- Deploying contracts
- Using solc to generate ABI and code
- Querying contracts with Geth
- Interacting with Geth using POST requests
- Interacting with contracts via frontends
- Installing the web3.js JavaScript library
- Creating a web3 object
- Creating an app.js JavaScript file
- Creating a frontend webpage
- Calling contract functions
- Creating a frontend webpage
- Deploying and interacting with contracts using Truffle
- Installing and initializing Truffle
- Compiling, testing, and migrating using Truffle
- Interacting with the contract
- Using Truffle to test and deploy smart contracts
- Deployment on decentralized storage using IPFS
- Summary
- Chapter 13 : The Merge and Beyond
- Introduction
- Ethereum after The Merge
- The Beacon Chain.
- Beacon nodes.