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

Index
Title Page Copyright and Credits
Foundations of Blockchain
About Packt
Why subscribe? Packt.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
Introduction
What blockchain is What blockchain isn't Blockchain definitions How are blockchains different from databases? History of blockchain
Blockchain 2.0
The motivations behind blockchain Characteristics of blockchain Background of DLT The different types of blockchain
Public blockchain (permissionless) Private blockchain (permissioned) Consortium blockchain
Overview of blocks
Block attributes Structure of the block Block header Linking blocks
Influence of Moore's law on blockchain technology Summary
A Bit of Cryptography
Cryptography in blockchain Classical cryptography Cryptographic primitives Symmetric key cryptography
Stream cipher Block cipher
Data Encryption Standard Advanced Encryption Standard
An example implementation of AES
Asymmetric key cryptography
Prime factorization Discrete logarithm Elliptic-curve RSA cryptosystem
RSA parameter generation Encryption and decryption using RSA An example implementation of RSA
Elliptic-curve cryptography
Operations on elliptic curves
Point addition Point doubling
Computing the public key Technical details of secp256k1
Digital signatures
How does it work?
Signing process Verification process
Elliptical Curve Digital Signature Algorithm (ECDSA) ECDSA example to create and verify a digital signature
Cryptographic hashing
Hashing algorithms
Message Digest Secure Hash Algorithms (SHA) Hashing example using an SHA-256 algorithm
Merkle hash trees
Encoding schemes Summary
Cryptography in Blockchain
Hashing in blockchain
Linking blocks in a blockchain Linking blocks using an SHA256 hashing algorithm
Block structure Blockchain functionality Creating a blockchain
Byzantine failure problem in blockchain
How does Proof of Work ensure Byzantine fault tolerance? How does Proof of Work use cryptography? An example implementation of Proof of Work
Example of finding a nonce to solve Proof of Work
Digital signatures in blockchain
Creating an identity Signatures in transaction Asset ownership in blockchain
Transferring an asset Transmitting the transaction Claiming the asset
Blockchain wallets
Summary
Networking in Blockchain
Peer-to-peer (P2P) networking
History of P2P network P2P networking architecture
Network discovery Block synchronization Building a simple blockchain in a P2P network
Validating a new block Selecting the longest chain
Conflict resolution
Block exchange between peers
Initial block synchronization Broadcasting scenarios
Application interfaces Diving into the code
The server interface Block and blockchain interface Running the blockchain nodes
Summary
Cryptocurrency
Bitcoin basics
Getting started with Bitcoin Core
Setting up a Bitcoin full node
Installing a Bitcoin full node Compiling from source code
Running the Bitcoin node Communicating with the Bitcoin node Communicating using scripting language through the JSON-RPC implementation
Keys and addresses
Public and private keys Bitcoin public addresses
Transactions
Transactions at a high level Transaction input and output Transaction output Transaction input Transaction verification
Script
Script example
Locking and unlocking scripts
Types of transaction script
Mining and consensus
Mining a block
Verification of transactions Aggregating transactions into a block
Coinbase transactions
Mining a block using the Proof of Work algorithm
Mining pool
Blockchain
Block structure
Block header
The genesis block Merkle trees
Blockchain networks
Testnet Regtest
Bitcoin hard forks and altcoins A simple cryptocurrency application
Transactions
Transaction output Transaction input Transaction structure UTXO Transaction validation Transaction signing
Wallet
Key management Wallet balance Creating transactions
Consuming UTXOs Constructing a transaction
Transaction management
Transaction pool Broadcasting
Blockchain Application endpoints
Summary
Diving into Blockchain - Proof of Existence
MultiChain blockchain platform
Why choose MultiChain? The basics of MultiChain MultiChain functionalities
Permission management Asset management Stream management
Setting up a blockchain environment
Running MultiChain nodes
Getting started with MultiChain
Creating a chain Connecting to an existing chain Checking the blockchain Working with streams
Proof of Existence architecture
Publishing the document Verifying the document
Building the Proof of Existence application
MultiChain JSON-RPC driver Proof of Existence library Proof of Existence web server
Publishing the document Verifying the document
Executing and deploying the application
Summary
Diving into Blockchain - Proof of Ownership
Digital assets and identity Proof of ownership Smart contracts Choosing the smart contract platform NEO blockchain
Building blocks of a NEO blockchain NEO technology
Consensus algorithm NEO smart contract Additional NEO projects
NEO nodes
Getting started
Setting up a full node Setting up a neo-python environment Setting up a JSON-RPC interface for the node
NEO network
Test network Private network
NEO transactions
Transferring an asset
Creating a decentralized application
Basic smart contract Proof of ownership application
Creating the smart contract Executing the smart contract Interface for the application
Ethereum blockchain
Ethereum nodes Getting started
Setting up a node Setting up a development environment
Creating a decentralized application
Basic smart contract Proof of ownership application
Creating the smart contract Executing the smart contract Interface for the application
Summary
Blockchain Projects
Categorizing the blockchain projects
Financial projects Non-financial projects
Financial blockchain projects
Cryptocurrencies
Traceable cryptocurrencies Untraceable cryptocurrencies
Zcash
Crypto tokens
Coin offerings
Ripple payment network
Ripple use cases
Cross-border payments Ripple tokens as a currency bridge
Ripple network
Ripple consensus algorithm Ripple token (XRP)
Cryptocurrency exchanges
Decentralized exchanges
Kyber Network
Non-financial blockchain projects
Asset management
Factom
Design Factom products
Social media platforms
Steem
Voting model in Steem Steem tokens Consensus in Steem
Digital identity
ShoCard Identity Management
ShoCard architecture
Blockchain in the Internet of Things (IoT)
IOTA
Design IOTA in IoT
Data storage
Filecoin
IPFS Filecoin consensus Filecoin's decentralized storage network (DSN) Filecoin markets
BigchainDB
Features of BigchainDB The life cycle of BigchainDB transactions Use cases
Distributed computing
Golem
Golem ecosystem
Blockchain platforms
Ethereum
Ethereum token EVM Blockchain consensus DApp development Ethereum network
Links for the projects Summary
Blockchain Optimizations and Enhancements
Blockchain optimizations
Transaction exchange
Blockchain relay networks Invertible bloom lookup tables
Off-chain transactions
Off-chain state channels
The Lightning Network Routed payment network
Sidechains
Block size improvements
Motivations to increase the block size Concerns on increasing the block size Proposed solutions
Blockchain enhancements
Sharding
The motivation for database sharding Sharding in blockchain
Components in a shard Design of a sharded blockchain Cross-shard communication
Evolution of the consensus algorithm
Proof of Stake (PoS) Proof of Activity (PoA) Byzantine Fault Tolerance (BFT) consensus models
Practical Byzantine Fault Tolerance (PBFT) Federated Byzantine Fault Tolerance (FBFT)
Proof of Elapsed Time (PoET)
Cross-chain protocol
Interledger protocol (ILP)
Interledger components Design of Interledger
Privacy enhancement
Zero-knowledge proof
General examples
zk-SNARKs Zcash transactions Private transactions
Summary
Blockchain Security
Transaction security model
Risks of the security model
Decentralized security model
Centralization due to cryptocurrency exchanges
Mt. Gox Bitfinex Coinrail
Centralization in mining pools
Attacks on the blockchain
Double-spend attacks
Double-spending in Bitcoin transactions
Creating the first transaction Creating the transaction to double-spend
51% attack
Implications of the attack Avoiding the attack
Eclipse attacks
Eclipsing the node Implications and analysis of the attack Vulnerabilities and countermeasures
Threats of quantum computing Summary
When Shouldn't We Use Blockchain?
Distributed databases versus distributed ledger technology (DLT)
Decentralized control of information Confidentiality of information Robustness Performance
What can we store on a blockchain?
Storing data as transactions Storing minimal data Storing data that requires minimal changes
Centralized versus decentralized application architecture Properties of blockchain
Immutability Non-repudiation Security Redundancy Reduced cost Transparency
Decision models for blockchain
Karl Wüst and Arthur Gervais Birch-Brown-Parulava model Framework to evaluate the suitability of blockchain Generalized decision model
Summary
Blockchain Use Cases
Tracking provenance in the supply chain
Pain points in a supply chain Blockchain as a solution Blockchain implementation of the supply chain
Financial system
Pain points in the payment system Blockchain as a solution Blockchain implementations of a payment system
Ripple Stellar
Crowdfunding
Pain points in crowdfunding Blockchain as a solution Blockchain implementation of crowdfunding using an ICO
Non-profit autonomous organizations
Pain points in non-profit autonomous organizations Blockchain as a solution Blockchain implementation of a non-profit DAO
Summary
Other Books 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