Contents

Acknowledgments

Introduction

CHAPTER 1     Introduction to Blockchain

Blockchain: An Information Technology

A Distributed Trusted Information Technology

Implementation Trends

Trust: The Byzantine Generals Problem

The Byzantine Generals Problem Explained: Why Trust Is So Important

Byzantine Fault Tolerance in Use Today: Why Airplanes Are Safe

Satoshi Nakamoto’s Blockchain Breakthrough

Satoshi Nakamoto: The Man, the Myth, the Mystery

Satoshi Nakamoto: Timing Is Everything

Blockchain: Underpinning of Cryptocurrency

Types of Blockchain

Public Blockchains

Consortium Blockchains

Private Blockchains

Comparing Blockchains

Blockchain Implementations

Bitcoin

Namecoin

Ripple

Ethereum

Blockchain Collaborative Implementations

Hyperledger

Corda

Blockchain in Practical Use Today

Blockchain in the Financial Technology Space

Blockchain in the Sharing Economy

Blockchain and Real Estate

Blockchain and Identity

Blockchain and the Practice of Law

Blockchain Decentralized File Storage

Decentralized Autonomous Organizations

Blockchain and Cloud Computing

Blockchain Gambling and Betting

Summary

CHAPTER 2     Business Use Cases

Currency and Tokens

Cryptocurrency

Digital Tokens

Financial Services Use Cases

Know Your Customer (KYC) Use Case

Asset Management Settlement Use Case

Insurance Claims Processing Use Case

Trade Finance (Supply Chain) Use Case

Global Payments Use Case

Smart Property

Transferring Ownership of Smart Property

Using Smart Property as Collateral

Smart Contracts on the Blockchain

The Trust Problem

Blockchain Details

Blockchain IoT Protocol Projects

Summary

CHAPTER 3     Technology Use Cases

Web Versions 1 and 2

Web 3.0

Distributed Storage Systems

InterPlanetary File System

Swarm

Storj

Distributed Computation

Golem

Zennet

Decentralized Communications

Existing Decentralized Communications

Whisper

Summary

CHAPTER 4     Legal and Governance Use Cases

Blockchain Changes the Legal Landscape

Cryptocurrencies as Legal Tender

Blockchain and Privacy Laws

Legal Ramifications of Blockchain Records

The Beginning of Autonomous Law: Smart Contract

Smart Contract Evolution

Smart Contract Components

Smart Contract Benefits

Smart Contract Challenges

Smart Contract Risks

Smart Contract Legal Challenges

Blockchain as Evidence and Digital Signature

Smart Contract Design Example

Is an Advertising Payment Application a Blockchain Fit?

Defining Contract Data Structures

Smart Contract Events

Smart Contract Functions

Smart Contracts in Practice

Decentralized Autonomous Organizations

DAO and Jurisdiction

DAO Service-Level Liability

DAO Liability for Contract Breach

DAO and Intellectual Property

DAO and Who or What Is Responsible

DAO Compliance with Financial Services Regulation

The DAO and Exiting a Contract

DAO Data as Property

DAO and Due Diligence

Summary

CHAPTER 5     Technology on Ethereum

Ethereum Accounts

Ether the Cryptocurrency

Obtaining Ether

Mining in Ethereum

Ethereum Work

Transactions

Network Fuel (Gas)

Messages

The Ethereum Block

State Transition Function (STF)

Code Execution

Turing Complete

Scalability

Infrastructure: Storage and Communication

Decentralized Applications

Profile of a Dapp

Decentralized Autonomous Organizations

Summary

CHAPTER 6     Fast-Track Application Tutorial

Introducing Solidity

Solidity Basics

Solidity Functions and Parameters

Layout of Storage

Run Ethereum Dapps in Your Browser

Installing MetaMask

Developing a Contract Using MetaMask

Remix/Browser Solidity

Develop a Simple Smart Contract

Deploy the Smart Contract

Validate the Smart Contract

Next Step: Try Truffle

Summary

CHAPTER 7     Ethereum Application Best Practices

Ethereum Blockchain Development

Setting Up the Development Environment for Truffle

Set Up a Truffle Project

Truffle Directory Structure

Ethereum Blockchain Development: Best Practices

Blockchain Technologies

Solidity Basics Continued

Calling Contracts from Contracts

Handling Events

Smart Contract Design

Modules and Interfaces

Security and Roles

Single Contract Design

Linked Contracts

User-Specific Contracts

Handling Persistent Contract Addresses

Halting a Contract

Smart Contract Life Cycle: Migration

Smart Contract Interaction with Users and Enterprise Applications

Debugging Your Smart Contract

Debugging Using Remix

Debugging Using Events

Smart Contract Validation

Types of Tests

Dry Run Using Private Nets

Autopsy of a Wallet Bug

The Future

Summary

CHAPTER 8     Private Blockchain Platforms and Use Cases

Categories of Blockchain

Private Blockchain Use Cases

Private Blockchain Technology

AlphaPoint Distributed Ledger Platform

Chain Core

Corda

Domus Tower

The Elements Project

HydraChain

Hyperledger

Interbit

Monax

MultiChain

Openchain

Quorum

Stellar

Symbiont Assembly

Summary

CHAPTER 9     Challenges

Blockchain Governance Challenges

Bitcoin Blocksize Debate

The Ethereum DAO Fork

Ethereum’s Move to PoS and Scaling Challenges

Blockchain Technical Challenges

Bugs in the Core Code

Denial-of-Service Attacks

Security in Smart Contracts

Scaling

Sharding

Summary

CHAPTER 10   Sample Application: Blockchain and Betting

What Is a Dapp?

Introduction to Lotteries, Betting, and Gambling on the Blockchain

Setting Up a Development Environment

Syncing an Ethereum Node

Creating and Configuring a Private Development Chain

Creating a Killable Contract

Compiling the Contract

Deploying a Contract

Contract Debugging and Interaction

Defining Data Structures

Enumerables

Storage Variables

Events

Functions

Creating a Game

Bidding

Scoring Games and Payouts

Withdrawing

Reading Games

Reading Bids

Summary

CHAPTER 11   Deploying the Sample Application: Blockchain and Betting

Deploying Full Contract

Deploying to the Mainnet

Seeding Data

Front-End User Interface

Pages in the User Interface

Displaying Games

Bet Page Markup

Displaying Game Information

Displaying Open Bids

Displaying Bets

Placing Bids/Bets

Scoring Games

Withdrawing Money

Deploying to AWS

Summary

Index

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.216.42.251