万本电子书0元读

万本电子书0元读

顶部广告

Advanced Blockchain Development电子书

售       价:¥

2人正在读 | 0人评论 9.8

作       者:Imran Bashir

出  版  社:Packt Publishing

出版时间:2019-05-22

字       数:75.3万

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

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

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
Explore distributed ledger technology, decentralization, and smart contracts and develop real-time decentralized applications with Ethereum and Solidity Key Features * Get to grips with the underlying technical principles and implementations of blockchain * Build powerful applications using Ethereum to secure transactions and create smart contracts * Gain advanced insights into cryptography and cryptocurrencies Book Description Blockchain technology is a distributed ledger with applications in industries such as finance, government, and media. This Learning Path is your guide to building blockchain networks using Ethereum, JavaScript, and Solidity. You will get started by understanding the technical foundations of blockchain technology, including distributed systems, cryptography and how this digital ledger keeps data secure. Further into the chapters, you’ll gain insights into developing applications using Ethereum and Hyperledger. As you build on your knowledge of Ether security, mining , smart contracts, and Solidity, you’ll learn how to create robust and secure applications that run exactly as programmed without being affected by fraud, censorship, or third-party interference. Toward the concluding chapters, you’ll explore how blockchain solutions can be implemented in applications such as IoT apps, in addition to its use in currencies. The Learning Path will also highlight how you can increase blockchain scalability and even discusses the future scope of this fascinating and powerful technology. By the end of this Learning Path, you'll be equipped with the skills you need to tackle pain points encountered in the blockchain life cycle and confidently design and deploy decentralized applications. This Learning Path includes content from the following Packt products: * Mastering Blockchain - Second Edition by Imran Bashir * Building Blockchain Projects by Narayan Prusty What you will learn * Understand why decentralized applications are important * Discover the mechanisms behind bitcoin and alternative cryptocurrencies * Master how cryptography is used to secure data with the help of examples * Maintain, monitor, and manage your blockchain solutions * Create Ethereum wallets * Explore research topics and the future scope of blockchain technology Who this book is for This Learning Path is designed for blockchain developers who want to build decentralized applications and smart contracts from scratch using Hyperledger. Basic familiarity with any programming language will be useful to get started with this Learning Path.
目录展开

About Packt

Why subscribe?

Packt.com

Contributors

About the authors

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 of this book

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

Understanding How Ethereum Works

Overview of Ethereum

Ethereum accounts

Transactions

Consensus

Timestamp

Nonce

Block time

Forking

Genesis block

Ether denominations

Ethereum virtual machine

Gas

Peer discovery

Whisper and Swarm

Geth

Installing geth

OS X

Ubuntu

Windows

JSON-RPC and JavaScript console

Sub-commands and options

Connecting to the mainnet network

Creating a private network

Creating accounts

Mining

Fast synchronization

Ethereum Wallet

Mist

Weaknesses

Sybil attack

51% attack

Serenity

Payment and state channels

Proof-of-stake and casper

Sharding

Summary

Smart Contracts

History

Definition

Ricardian contracts

Smart contract templates

Oracles

Smart Oracles

Deploying smart contracts on a blockchain

The DAO

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

Getting Started with web3.js

Introduction to web3.js

Importing web3.js

Connecting to nodes

The API structure

BigNumber.js

Unit conversion

Retrieving gas price, balance, and transaction details

Sending ether

Working with contracts

Retrieving and listening to contract events

Building a client for an ownership contract

The project structure

Building the backend

Building the frontend

Testing the client

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

Building a Wallet Service

Difference between online and offline wallets

hooked-web3-provider and ethereumjs-tx libraries

What is a hierarchical deterministic wallet?

Introduction to key derivation functions

Introduction to LightWallet

HD derivation path

Building a wallet service

Prerequisites

Project structure

Building the backend

Building the frontend

Testing

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

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

Building a Betting App

Introduction to Oraclize

How does it work?

Data sources

Proof of authenticity

Pricing

Getting started with the Oraclize API

Setting the proof type and storage location

Sending queries

Scheduling queries

Custom gas

Callback functions

Parsing helpers

Getting the query price

Encrypting queries

Decrypting the data source

Oraclize web IDE

Working with strings

Building the betting contract

Building a client for the betting contract

Projecting the structure

Building the backend

Building the frontend

Testing the client

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

Building a Consortium Blockchain

What is a consortium blockchain?

What is Proof-of-Authority consensus?

Introduction to parity

Understanding how Aura works

Getting parity running

Installing rust

Linux

OS X

Windows

Downloading, installing and running parity

Creating a private network

Creating accounts

Creating a specification file

Launching nodes

Connecting nodes

Permissioning and privacy

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

Other Books You May Enjoy

Leave a review - let other readers know what you think

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

发表评论

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

买过这本书的人还买过

读了这本书的人还在读

回顶部