万本电子书0元读

万本电子书0元读

顶部广告

Mastering Blockchain - Second Edition电子书

售       价:¥

6人正在读 | 0人评论 9.8

作       者:Imran Bashir

出  版  社:Packt Publishing

出版时间:2018-03-30

字       数:79.4万

所属分类: 进口书 > 外文原版书 > 电脑/网络

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
Learn about cryptography and cryptocurrencies, so you can build highly secure, decentralized applications and conduct trusted in-app transactions. 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 cryptocurrencies, and solve scalability issues with this comprehensive guide Who This Book Is For This book will appeal to those who wish to build fast, highly secure, transactional applications. It targets people who are familiar with the concept of blockchain and are comfortable with a programming language. What You Will Learn ? Master the theoretical and technical foundations of the blockchain technology ? Understand the concept of decentralization, its impact, and its relationship with blockchain technology ? Master how cryptography is used to secure data - with practical examples ? Grasp the inner workings of blockchain and the mechanisms behind bitcoin and alternative cryptocurrencies ? Understand the theoretical foundations of smart contracts ? Learn how Ethereum blockchain works and how to develop decentralized applications using Solidity and relevant development frameworks ? Identify and examine applications of the blockchain technology - beyond currencies ? Investigate alternative blockchain solutions including Hyperledger, Corda, and many more ? Explore research topics and the future scope of blockchain technology In Detail A blockchain is a distributed ledger that is replicated across multiple nodes and enables immutable, transparent and cryptographically secure record-keeping of transactions. The blockchain technology is the backbone of cryptocurrencies, and it has applications in finance, government, media and almost all other industries. Mastering Blockchain, Second Edition has been thoroughly updated and revised to provide a detailed description of this leading technology and its implementation in the real world. This book begins with the technical foundations of blockchain technology, teaching you the fundamentals of distributed systems, cryptography and how it keeps data secure. You will learn about the mechanisms behind cryptocurrencies and how to develop applications using Ethereum, a decentralized virtual machine. You will also explore different other blockchain solutions and get an introduction to business blockchain frameworks under Hyperledger, a collaborative effort for the advancement of blockchain technologies hosted by the Linux Foundation. You will also be shown how to implement blockchain solutions beyond currencies, Internet of Things with blockchain, blockchain scalability, and the future scope of this fascinating and powerful technology. Style and approach This comprehensive guide allows you to build smart blockchain applications and explore the power of this database. The book will let you quickly brush up on the basics of the blockchain database, followed by advanced implementations of blockchain in currency, smart contracts, decentralization, and so on.
目录展开

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

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部