
Advanced Blockchain Development
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
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 blockchainBuild powerful applications using Ethereum to secure transactions and create smart contractsGain 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 BashirBuilding Blockchain Projects by Narayan Prusty
What you will learn:
Understand why decentralized applications are importantDiscover the mechanisms behind bitcoin and alternative cryptocurrenciesMaster how cryptography is used to secure data with the help of examplesMaintain, monitor, and manage your blockchain solutionsCreate Ethereum walletsExplore 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.
Imran Bashir has a master's degree in information security from Royal Holloway, University of London. He has a background in software development, solution architecture, infrastructure management, and IT service management. He is also a member of the Institute of Electrical and Electronics Engineers (IEEE) and British Computer Society (BCS). Imran has an experience of sixteen years in the public and financial sectors. He worked on large-scale IT projects for public sector before moving to the financial services industry. Since then he has worked in various technical roles for different financial companies in Europe's financial capital, London. Currently, he is working for an investment bank in London. Narayan Prusty is a full-stack developer. He works as a consultant for various start-ups around the world. He has worked on various technologies and programming languages but is very passionate about JavaScript, WordPress, Ethereum, Solr, React, Cordova, MongoDB, and AWS. Apart from consulting for various start-ups, he also runs a blog titled QNimate and a video tutorial site titled QScutter, where he shares information about a lot of the technologies he works on.
More details
Other editions
Additional editions

Content
- Cover
- Title Page
- Copyright and Credits
- About Packt
- Contributors
- Table of Contents
- Preface
- Chapter 1: 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
- Chapter 2: 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
- Chapter 3: 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
- Chapter 4: Smart Contracts
- History
- Definition
- Ricardian contracts
- Smart contract templates
- Oracles
- Smart Oracles
- Deploying smart contracts on a blockchain
- The DAO
- Summary
- Chapter 5: 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
- Chapter 6: 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
- Chapter 7: 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
- Chapter 8: 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 veri cation
- 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
- Chapter 9: 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
- Chapter 10: 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
- Chapter 11: 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 le
- Version pragma
- Import
- Comments
- Summary
- Chapter 12: 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
- Chapter 13: 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
- Chapter 14: 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
- Chapter 15: 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
- Chapter 16: 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
- Chapter 17: 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
- Chapter 18: 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
- Index
System requirements
File format: ePUB
Copy protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (not Kindle).
The file format ePub works well for novels and non-fiction books – i.e., „flowing” text without complex layout. On an e-reader or smartphone, line and page breaks automatically adjust to fit the small displays.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our ebook Help page.