Infotech in Global Economy- The portfolio project

C
o
p
y
r
i
g
h
t

2
0
1
7
.

P
a
c
k
t

P
u
b
l
i
s
h
i
n
g
.

A
l
l

r
i
g
h
t
s

r
e
s
e
r
v
e
d
.

M
a
y

n
o
t

b
e

r
e
p
r
o
d
u
c
e
d

i
n

a
n
y

f
o
r
m

w
i
t
h
o
u
t

p
e
r
m
i
s
s
i
o
n

f
r
o
m

t
h
e

p
u
b
l
i
s
h
e
r
,

e
x
c
e
p
t

f
a
i
r

u
s
e
s

p
e
r
m
i
t
t
e
d

u
n
d
e
r

U
.
S
.

o
r

a
p
p
l
i
c
a
b
l
e

c
o
p
y
r
i
g
h
t

l
a
w
.

EBSCO Publishing : eBook Academic Collection (EBSCOhost) – printed on 3/7/2021 11:12 PM via UNIVERSITY OF THE CUMBERLANDS
AN: 1488410 ; Bashir, Imran.; Mastering Blockchain
Account: s8501869

Mastering Blockchain

Imran Bashir

BIRMINGHAM – MUMBAI

EBSCOhost – printed on 3/7/2021 11:12 PM via UNIVERSITY OF THE CUMBERLANDS. All use subject to https://www.ebsco.com/terms-of-use

Mastering Blockchain

Copyright © 2017 Packt Publishing

All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or
transmitted in any form or by any means, without the prior written permission of the
publisher, except in the case of brief quotations embedded in critical articles or reviews.

Every effort has been made in the preparation of this book to ensure the accuracy of the
information presented. However, the information contained in this book is sold without
warranty, either express or implied. Neither the author, nor Packt Publishing, and its
dealers and distributors will be held liable for any damages caused or alleged to be caused
directly or indirectly by this book.

Packt Publishing has endeavored to provide trademark information about all of the
companies and products mentioned in this book by the appropriate use of capitals.
However, Packt Publishing cannot guarantee the accuracy of this information.

First published: March 2017

Production reference: 10 0317

ISBN 978-1-78712-544-5

EBSCOhost – printed on 3/7/2021 11:12 PM via UNIVERSITY OF THE CUMBERLANDS. All use subject to https://www.ebsco.com/terms-of-use

Credits

Author

Imran Bashir

Copy Editor

Reviewer

Daniel Kraft

Project Coordinator

Shweta H Birwatkar

Commissioning Editor

Veena Pagare

Proofreader

Safis Editing

Acquisition Editor

Ajith Menon

Indexer

Pratik Shirodkar

Content Development Editors

Sumeet Sawant

Amrita Noronha

Graphics

Tania Dutta

Technical Editor

Nilesh Sawakhande

Production Coordinator

Shraddha Falebhai

EBSCOhost – printed on 3/7/2021 11:12 PM via UNIVERSITY OF THE CUMBERLANDS. All use subject to https://www.ebsco.com/terms-of-use

About the Author
Imran Bashir has a M.Sc. in Information Security from Royal Holloway, University of
London, and has a background in software development, solution architecture,
infrastructure management, and IT service management. He is also a member of Institute
of Electrical and Electronics Engineers (IEEE) and British Computer Society (BCS). Imran
has sixteen years of experience in the public and financial sectors. He worked on large scale
IT projects for public sector before moving to financial services industry. Since then he has
worked in various technical roles for different financial companies in Europe’s financial
capital, London. He is currently working for an investment bank in London as Vice
President in the technology department.

I would like to thank the talented team at Packt including Ajith Menon, Nilesh Sawakhande, Sumeet
Sawant, and Tushar Gupta, who provided prompt guidance and very valuable feedback throughout
this project. I am also extremely thankful to the reviewer, Daniel Kraft, who provided constructive
and very useful feedback that helped tremendously to improve the material in this book.

I thank my wife and children for putting up with my all-night and weekend-long writing sessions.

Finally, I would like to thank my parents, whose blessings on me have made everything possible for
me.

EBSCOhost – printed on 3/7/2021 11:12 PM via UNIVERSITY OF THE CUMBERLANDS. All use subject to https://www.ebsco.com/terms-of-use

About the Reviewer
Daniel Kraft studied mathematics and physics, and holds a PhD in applied mathematics
from the University of Graz in Austria. He has been involved in development with
cryptocurrencies since 2013, has been the lead developer and chief scientist for both
Namecoin and Huntercoin since 2014, and has published two research papers about
cryptocurrency in peer-reviewed journals. He works as a software engineer and is a co-
founder of Crypto Realities Ltd, a start-up that works on building decentralised multi-
player game worlds with blockchain technology.

EBSCOhost – printed on 3/7/2021 11:12 PM via UNIVERSITY OF THE CUMBERLANDS. All use subject to https://www.ebsco.com/terms-of-use

www.PacktPub.com
For support files and downloads related to your book, please visit .

Did you know that Packt offers eBook versions of every book published, with PDF and
ePub files available? You can upgrade to the eBook version at and as a
print book customer, you are entitled to a discount on the eBook copy. Get in touch with us
at for more details.

At , you can also read a collection of free technical articles, sign up for a
range of free newsletters and receive exclusive discounts and offers on Packt books and
eBooks.

Get the most in-demand software skills with Mapt. Mapt gives you full access to all Packt
books and video courses, as well as industry-leading tools to help you plan your personal
development and advance your career.

Why subscribe?
Fully searchable across every book published by Packt
Copy and paste, print, and bookmark content
On demand and accessible via a web browser

EBSCOhost – printed on 3/7/2021 11:12 PM via UNIVERSITY OF THE CUMBERLANDS. All use subject to https://www.ebsco.com/terms-of-use

Customer Feedback
Thanks for purchasing this Packt book. At Packt, quality is at the heart of our editorial
process. To help us improve, please leave us an honest review on this book’s Amazon page
at .

If you’d like to join our team of regular reviewers, you can e-mail us at
. We award our regular reviewers with free eBooks and

videos in exchange for their valuable feedback. Help us be relentless in improving our
products!

EBSCOhost – printed on 3/7/2021 11:12 PM via UNIVERSITY OF THE CUMBERLANDS. All use subject to https://www.ebsco.com/terms-of-use

Table of Contents
Preface 1
Chapter 1: Blockchain 101 7

Distributed systems 10
CAP theorem 11
Byzantine Generals problem 12
Consensus 12

Consensus mechanisms 12
Types of consensus mechanism 13

The history of blockchain 14
Electronic cash 14

The concept of electronic cash 14
Introduction to blockchain 16

Various technical definitions of blockchains 18
Generic elements of a blockchain 19

Addresses 19
Transaction 19
Block 19
Peer-to-peer network 20
Scripting or programming language 20
Virtual machine 20
State machine 20
Nodes 21
Smart contracts 21

Features of a blockchain 21
Distributed consensus 21
Transaction verification 21
Platforms for smart contracts 21
Transferring value between peers 21
Generating cryptocurrency 22
Smart property 22
Provider of security 22
Immutability 22
Uniqueness 23
Smart contracts 23

Applications of blockchain technology 23
How blockchains accumulate blocks 24

Tiers of blockchain technology 24
Blockchain 1.0 25
Blockchain 2.0 25

EBSCOhost – printed on 3/7/2021 11:12 PM via UNIVERSITY OF THE CUMBERLANDS. All use subject to https://www.ebsco.com/terms-of-use

[ ii ]

Blockchain 3.0 25
Generation X (Blockchain X) 25

Types of blockchain 25
Public blockchains 25
Private blockchains 26
Semi-private blockchains 26
Sidechains 26
Permissioned ledger 27
Distributed ledger 27
Shared ledger 27
Fully private and proprietary blockchains 27
Tokenized blockchains 27
Tokenless blockchains 27
Consensus in blockchain 28

Proof of Work 28
Proof of Stake 28
Delegated Proof of Stake 29
Proof of Elapsed Time 29
Deposit-based consensus 29
Proof of importance 29
Federated consensus or federated Byzantine consensus 30
Reputation-based mechanisms 30
Practical Byzantine Fault Tolerance 30

CAP theorem and blockchain 30
Benefits and limitations of blockchain 30

Decentralization 31
Transparency and trust 31
Immutability 31
High availability 31
Highly secure 31
Simplification of current paradigms 32
Faster dealings 32
Cost saving 32
Challenges and limitations of blockchain technology 32

Summary 33
Chapter 2: Decentralization 34

Decentralization using blockchain 34
Methods of decentralization 36

Disintermediation 37
Through competition 37

Routes to decentralization 38

EBSCOhost – printed on 3/7/2021 11:12 PM via UNIVERSITY OF THE CUMBERLANDS. All use subject to https://www.ebsco.com/terms-of-use

[ iii ]

How to decentralize 38
Examples 39

Blockchain and full ecosystem decentralization 40
Storage 40
Communication 41
Computation 42

Smart contract 43
Decentralized organizations 44
Decentralized autonomous organizations 44
Decentralized autonomous corporations 45
Decentralized autonomous societies 45
Decentralized applications 46

Requirements of a decentralized application 46
Operations of a DAPP 46

Examples 46
KYC-Chain 47
OpenBazaar 47
Lazooz 47

Platforms for decentralization 47
Ethereum 48
Maidsafe 48
Lisk 48

Summary 49
Chapter 3: Cryptography and Technical Foundations 50

Introduction 51
Mathematics 51

Set 51
Group 51
Field 52
A finite field 52
Order 52
Prime fields 52
Ring 52
A cyclic group 52
An abelian group 52
Modular arithmetic 53

Cryptography 53
Confidentiality 53
Integrity 53
Authentication 53

Entity authentication 53
Data origin authentication 54

EBSCOhost – printed on 3/7/2021 11:12 PM via UNIVERSITY OF THE CUMBERLANDS. All use subject to https://www.ebsco.com/terms-of-use

[ iv ]

Non-repudiation 54
Accountability 55

Cryptographic primitives 56
Symmetric cryptography 57

Stream ciphers 57
Block ciphers 58

Block encryption mode 59
Keystream generation modes 59
Message authentication modes 60
Cryptographic hashes 60
Electronic code book 60
Cipher block chaining 61
Counter mode 61

Data Encryption Standard (DES) 62
Advanced Encryption Standard (AES) 62

AES steps 62
An OpenSSL example of how to encrypt and decrypt using AES 63

Asymmetric cryptography 65
Integer factorization 68
Discrete logarithm 68
Elliptic curves 68

Public and private keys 69
RSA 69

Encryption and decryption using RSA 70
Elliptic curve cryptography (ECC) 70

Mathematics behind ECC 71
Point addition 73
Point doubling 75

Discrete logarithm problem 78
How to generate public and private key pairs 80

Private key 80
Generate public key 81

How to encrypt and decrypt using RSA with OpenSSL 82
Encryption 83
Decrypt 83

ECC using OpenSSL 84
ECC private and public key pair 84
Private key 84
Private key generation 85

Cryptographic primitives 87
Hash functions 87

Compression of arbitrary messages into fixed length digest 88
Easy to compute 88
Pre-image resistance 88
Second pre-image resistance 88

EBSCOhost – printed on 3/7/2021 11:12 PM via UNIVERSITY OF THE CUMBERLANDS. All use subject to https://www.ebsco.com/terms-of-use

[ v ]

Collision resistance 88
Message Digest (MD) 89
Secure Hash Algorithms (SHAs) 89

Design of Secure Hash Algorithms (SHA) 91
SHA-256 91
Design of SHA3 (Keccak) 92
OpenSSL example of hash functions 93
Message Authentication codes (MACs) 93
MACs using block ciphers 94
HMACs (hash-based MACs) 94

Merkle trees 95
Patricia trees 96
Distributed hash tables (DHTs) 96
Digital signatures 96

Sign then encrypt 98
Encrypt then sign 98

Elliptic Curve Digital signature algorithm (ECDSA) 98
How to generate a digital signature 100
ECDSA using OpenSSL 101
Homomorphic encryption 103
Signcryption 104
Zero knowledge proofs 104
Blind signatures 105
Encoding schemes 105

Financial markets and trading 105
Trading 106
Exchanges 106

Orders and order properties 106
Order management and routing systems 107
Components of a trade 107
General attributes 107
Economic 108
Sales 108
Counterparty 108

Trade life cycle 108
Order anticipators 109
Market manipulation 109

Summary 110
Chapter 4: Bitcoin 111

Bitcoin 112
Bitcoin definition 113

Keys and addresses 114
Public keys in bitcoin 115
Private keys in bitcoin 116
Bitcoin currency units 116

EBSCOhost – printed on 3/7/2021 11:12 PM via UNIVERSITY OF THE CUMBERLANDS. All use subject to https://www.ebsco.com/terms-of-use

[ vi ]

Base58Check encoding 116
Vanity addresses 117

Transactions 118
The transaction life cycle 118
The transaction structure 119

The script language 120
Commonly used Opcodes 121

Types of transaction 122
Coinbase transactions 124
What is UTXO? 125

Transaction fee 125
Contracts 125
Transaction malleability 125
Transaction pools 126
Transaction verification 126

Blockchain 127
The structure of a block 127
The structure of a block header 127
The genesis block 129

Mining 131
Task of miners 132
Synching up with the network 132
Proof of Work 133
The mining algorithm 133
The hashing rate 134
Mining systems 135
CPU 135
GPU 135
FPGA 136
ASICs 136
Mining pools 137

The bitcoin network 138
Wallets 145

Wallet types 146
Non-deterministic wallets 146
Deterministic wallets 146
Hierarchical deterministic wallets 146
Brain wallets 146
Paper wallets 147
Hardware wallets 147
Online wallets 147
Mobile wallets 148

Bitcoin payments 148
Bitcoin investment and buying and selling bitcoins 150
Bitcoin installation 152

EBSCOhost – printed on 3/7/2021 11:12 PM via UNIVERSITY OF THE CUMBERLANDS. All use subject to https://www.ebsco.com/terms-of-use

[ vii ]

Setting up a bitcoin node 152
Setting up the source code 153
Setting up bitcoin.conf 154
Starting up a node in testnet 154
Starting up a node in regtest 155
Starting up a node in live mainnet 155
Experimenting with bitcoin-cli 157

Bitcoin programming and the command-line interface 158
Bitcoin improvement proposals (BIPs) 159

Summary 159
Chapter 5: Alternative Coins 160

Theoretical foundations 163
Alternatives to Proof of Work 164

Proof of Storage 165
Proof of Stake 166

Proof of coinage 166
Proof of deposit 166
Proof of burn 166
Proof of activity 167

Non-outsourceable puzzles 167
Difficulty adjustment and retargeting algorithms 167

Kimoto Gravity Well 168
Dark Gravity Wave 169
DigiShield 169
MIDAS 169

Bitcoin limitations 170
Privacy and anonymity 170

Mixing protocols 171
Third-party mixing protocols 171
Inherent anonymity 172

Extended protocols on top of bitcoin 172
Colored coins 172
Counterparty 173

Development of altcoins 174
Consensus algorithms 174
Hashing algorithms 175
Difficulty adjustment algorithms 175
Inter-block time 175
Block rewards 175
Reward halving rate 175
Block size and transaction size 175
Interest rate 175
Coin age 176
Total supply of coins 176

Namecoin 176

EBSCOhost – printed on 3/7/2021 11:12 PM via UNIVERSITY OF THE CUMBERLANDS. All use subject to https://www.ebsco.com/terms-of-use

[ viii ]

Trading Namecoins 178
Obtaining Namecoins 178
Generating Namecoin records 180

Litecoin 182
Primecoin 185

Trading Primecoin 186
Mining guide 186

Zcash 189
Trading Zcash 191
Mining guide 191

Address generation 194
GPU mining 195

Downloading and compiling nheqminer 196
Summary 197

Chapter 6: Smart Contracts 198
History 198
Definition 199
Ricardian contracts 202

Smart contract templates 205
Oracles 206
Smart Oracles 207
Deploying smart contracts on a blockchain 207
The DAO 208

Summary 209
Chapter 7: Ethereum 101 210

Introduction 210
Ethereum clients and releases 210
The Ethereum stack 211

Ethereum blockchain 212
Currency (ETH and ETC) 213
Forks 213
Gas 214
The consensus mechanism 214
The world state 215

The account state 215
Nonce 215
Balance 216
Storageroot 216
Codehash 216

Transactions 217

EBSCOhost – printed on 3/7/2021 11:12 PM via UNIVERSITY OF THE CUMBERLANDS. All use subject to https://www.ebsco.com/terms-of-use

[ ix ]

Nonce 217
gasPrice 217
gasLimit 217
To 217
Value 218
Signature 218
Init 219
Data 219

Contract creation transaction 220
Message call transaction 221

Elements of the Ethereum blockchain 222
Ethereum virtual machine (EVM) 222

Execution environment 224
Machine state 225
The iterator function 226
Runtime byte code 227

Opcodes and their meaning 228
Arithmetic operations 228
Logical operations 229
Cryptographic operations 229
Environmental information 230
Block Information 231
Stack, memory, storage and flow operations 231
Push operations 232
Duplication operations 232
Exchange operations 232
Logging operations 233
System operations 233

Precompiled contracts 233
The elliptic curve public key recovery function 234
The SHA-256 bit hash function 234
The RIPEMD-160 bit hash function 234
The identity function 235

Accounts 235
Types of accounts 236

Block 236
Block header 236

Parent hash 236
Ommers hash 237
Beneficiary 237
State root 237
Transactions root 237
Receipts root 237
Logs bloom 237
Difficulty 237

EBSCOhost – printed on 3/7/2021 11:12 PM via UNIVERSITY OF THE CUMBERLANDS. All use subject to https://www.ebsco.com/terms-of-use

[ x ]

Number 238
Gas limit 238
Gas used 238
Timestamp 238
Extra data 238
Mixhash 238
Nonce 238

The genesis block 239
Transaction receipts 240

The post-transaction state 240
Gas used 240
Set of logs 240
The bloom filter 241

Transaction validation and execution 241
The transaction sub state 241

Suicide set 242
Log series 242
Refund balance 242

The block validation mechanism 242
Block finalization 243

Ommers validation 243
Transaction validation 243
Reward application 243
State and nonce validation 244

Block difficulty 244
Ether 244

Gas 245
Fee schedule 247

Messages 247
Calls 248

Mining 248
Ethash 249
CPU mining 250
GPU mining 250

CPU benchmarking 251
GPU benchmarking 251

Mining rigs 252
Motherboard 252
SSD hard drive 252
GPU 253

Mining pools 254
Clients and wallets 254

Geth 254
Eth 254

EBSCOhost – printed on 3/7/2021 11:12 PM via UNIVERSITY OF THE CUMBERLANDS. All use subject to https://www.ebsco.com/terms-of-use

[ xi ]

Pyethapp 254
Parity 254
Light clients 255
Installation 255

Eth installation 256
Mist browser 256
Geth 259
The geth console 259
Funding the account with bitcoin 260

Parity installation 261
Creating accounts using the parity command line 264

Trading and investment 265
The yellow paper 265

Useful symbols 266
The Ethereum network 267

MainNet 267
TestNet 267
Private net(s) 267
Supporting protocols 267

Whisper 268
Swarm 268

Applications developed on Ethereum 269
Scalability and security issues 269
Summary 270

Chapter 8: Ethereum Development 271
Setting up a development environment 271

Test Net (Ropsten) 272
Setting up a Private Net 272

Network ID 273
The genesis file 273
Data directory 274

Flags and their meaning 274
Static nodes 275

Starting up the private network 275
Running Mist on Private Net 281
Deploying contracts using Mist 282

Development tools and clients 286
Languages 287
Compilers 287

Solc 287
Integrated Development Environments (IDEs) 289

Browser solidity 289

EBSCOhost – printed on 3/7/2021 11:12 PM via UNIVERSITY OF THE CUMBERLANDS. All use subject to https://www.ebsco.com/terms-of-use

[ xii ]

Remix 290
Installation 290

Tools and libraries 293
Node.js version 7 293
Local Ethereum block explorer 294

EthereumJS 296
Contract development and deployment 296

Introducing solidity 297
Types 297

Value types 297
Boolean 297
Integers 298
Address 298
Array value types (fixed size and dynamically sized byte arrays) 299

Literals 299
Integer literals 299
String literals 300
Hexadecimal literals 300

Enums 300
Function types 300

Internal functions 300
External functions 300

Reference types 301
Arrays 301
Structs 301
Data location 301

Mappings 302
Global variables 302
Control structures 302

Events 303
Inheritance 303
Libraries 304
Functions 304
Layout of a solidity source code file 308

Introducing Web3 309
POST requests 315
The HTML and JavaScript frontend 316

Installing web3.js 317
Example 318

Development frameworks 324
Truffle 324

Installation 324
Testing using truffle 333
Build 335
Another example 337
Example project: Proof of Idea 341
Permissioned distributed ledgers 353

EBSCOhost – printed on 3/7/2021 11:12 PM via UNIVERSITY OF THE CUMBERLANDS. All use subject to https://www.ebsco.com/terms-of-use

[ xiii ]

Summary 354
Chapter 9: Hyperledger 355

Projects 355
Fabric 355
Sawtooth lake 356
Iroha 356
Blockchain explorer 356
Fabric chaintool 357
Fabric SDK Py 357
Corda 357

Hyperledger as a protocol 358
Reference architecture 358
Requirements 359

Modular approach 359
Privacy and confidentiality 360
Identity 360
Auditability 360
Interoperability 360
Portability 361

Fabric 361
Hyperledger Fabric 362

Fabric architecture 362
Membership services 363
Blockchain services 363

Consensus manager 363
Distributed ledger 363
Peer to Peer protocol 365
Ledger storage 365

Chaincode services 365
Events 365
APIs and CLIs 366

Components of the Fabric 366
Peers or nodes 366
Applications on blockchain 367

Chaincode implementation 367
Application model 369

Sawtooth lake 369
PoET 370
Transaction families 370
Consensus in Sawtooth 372
Development environment 372

Corda 375

EBSCOhost – printed on 3/7/2021 11:12 PM via UNIVERSITY OF THE CUMBERLANDS. All use subject to https://www.ebsco.com/terms-of-use

[ xiv ]

Architecture 376
State objects 376
Transactions 376
Consensus 377
Flows 377

Components 377
Nodes 377
Permissioning service 378

Network map service 379
Notary service 379
Oracle service 379
Transactions 379
Vaults 380
CorDapp 381

Development environment 381
Summary 382

Chapter 10: Alternative Blockchains 383
Blockchains 384

Kadena 384
Ripple 388
Transactions 390

Payments related 390
Order related 391
Account and security related 391
Application layer 392
Transport layer 392
Interledger layer 393
Ledger layer 393

Stellar 393
Rootstock 394

Drivechain 395
Quorum 395

Transaction manager 395
Crypto Enclave 396
QuorumChain 396
Network manager 396

Tezos 397
Storj 398
Maidsafe 399
BigChainDB 399
Multichain 399
Tendermint 400

Tendermint Core 400
Tendermint Socket Protocol (TMSP) 400

Platforms 401

EBSCOhost – printed on 3/7/2021 11:12 PM via UNIVERSITY OF THE CUMBERLANDS. All use subject to https://www.ebsco.com/terms-of-use

[ xv ]

BlockApps 401
Installation 401
Application development and deployment using BlockApps 402

Eris 409
Summary 411

Chapter 11: Blockchain-Outside of Currencies 412
Internet of Things 412

Physical object layer 413
Device layer 413
Network layer 414
Management layer 414
Application layer 414
IoT blockchain experiment 419

First node setup 423
Raspberry Pi node setup 423
Circuit 428

Government 433
Border control 434
Voting 436
Citizen identification (ID cards) 436
Miscellaneous 438

Health 438
439

Insurance 439
Post trade settlement 439
Financial crime prevention 440

Media 441
Summary 442

Chapter 12: Scalability and Other Challenges 443
Scalability 444

Block size increase 445
Block interval reduction 445
Invertible Bloom lookup tables 446
Sharding 446
State channels 446
Private blockchain 447
Proof of Stake 447

Sidechains 447
Subchains 448
Tree chains 448

EBSCOhost – printed on 3/7/2021 11:12 PM via UNIVERSITY OF THE CUMBERLANDS. All use subject to https://www.ebsco.com/terms-of-use

[ xvi ]

Privacy 450
Indistinguishability obfuscation 450
Homomorphic encryption 451
Zero knowledge proofs 451
State channels 451
Secure multiparty computation 451
Usage of hardware to provide confidentiality 451
Coinjoin 452
Confidential transactions 453
MimbleWimble 453

Security 454
Smart contract security 454

Why3 formal verification 456
Oyente tool 457

Summary 459
Chapter 13: Current Landscape and What s Next 460

Emerging trends 460
Application-specific blockchains (ASBCs) 461
Enterprise-grade blockchains 461
Private blockchains 461
Start-ups 462
Strong research interest 462
Standardization 462
Enhancements 464
Real-world implementations 464
Consortia 464
Answers to challenges 465
Convergence 465
Education of blockchain technology 465
Employment 465
Crypto-economics 466
Research in cryptography 466
New programming languages 466
Hardware research and development 467
Research in formal methods and security 467
Alternatives to blockchains 468
Interoperability efforts 468
Blockchain as a service 469
Efforts to reduce electricity consumption 469

EBSCOhost – printed on 3/7/2021 11:12 PM via UNIVERSITY OF THE CUMBERLANDS. All use subject to https://www.ebsco.com/terms-of-use

[ xvii ]

Improvement proposals 469
BIPs 469

BIP 152 470
BIP 151 470
BIP 150 470
BIP 147 470
BIP 146 471

EIPs 471
EIP 170 471
EIP 150 471
EIP 161 471
EIP 160 472
EIP 155 472

Other challenges 472
Dark side 474
Blockchain research 475

Smart contracts 475
Centralization issues 475
Limitations in cryptographic functions 475
Consensus Algorithms 476
Scalability 476
Code Obfuscation 477

List of notable projects 477
Zcash on Ethereum 477
CollCo 477
Cello 477
Qtum 478
Bitcoin-NG 478
Solidus 478
Hawk 478
Town-Crier 478
SETLCoin 478
TEEChan 479
Falcon 479
Bletchley 479
Casper 480
Metropolis 480

Miscellaneous Tools 480
Solidity extension for Microsoft Visual studio 480
MetaMask 481
Stratis 481

EBSCOhost – printed on 3/7/2021 11:12 PM via UNIVERSITY OF THE CUMBERLANDS. All use subject to https://www.ebsco.com/terms-of-use

[ xviii ]

Embark 481
DAPPLE 481
Meteor 481
uPort 482
INFURA 482

Convergence with other industries 482
Future 483
Summary 485

Index 486

EBSCOhost – printed on 3/7/2021 11:12 PM via UNIVERSITY OF THE CUMBERLANDS. All use subject to https://www.ebsco.com/terms-of-use

Preface
This book has one goal: to provide a comprehensive introduction to the theoretical and
practical aspects of blockchain technology. This book contains all the material that is
required to fully understand blockchain technology. After reading this book, readers will be
able to develop a deep understanding of inner workings of blockchain technology and will
be able to develop blockchain applications. This book covers all topics relevant to
blockchain technology, including cryptography, cryptocurrenices, Bitcoin, Ethereum, and
various other platforms and tools used for blockchain development.

It is recommended that readers have a basic understanding of computer science and basic
programming experience in order to benefit fully from this book. However, if that is not the
case then still this book can be read easily, as relevant background material is provided
where necessary.

What this book covers
, Blockchain 101, introduces the basic concepts of distributed computing on which

blockchain technology is based. It also covers history, definitions, features, types, and
benefits of blockchains along with consensus mechanisms that are at the core of blockchain
technology.

, Decentralization, covers the concepts of decentralization and its relationship with
blockchain technology. Various methods and platforms that can be used to decentralize a
process or system have also been introduced.

, Cryptography and Technical Foundations, introduces the theoretical foundations
cryptography, which is necessary to fully understand blockchain technology. Concepts such
as public and private key cryptography, with practical examples, are included. Finally, an
introduction to financial markets is also included as there are many interesting use cases for
blockchain technology in the financial sector.

, Bitcoin, covers Bitcoin, the first and largest blockchain. It introduces technical
concepts related to bitcoin cryptocurrency in detail.

, Alternative Coins, introduces alternative cryptocurrencies that were introduced
after the invention of Bitcoin. It also presents examples of different altcoins, their properties,
and how they have been developed and implemented.

EBSCOhost – printed on 3/7/2021 11:12 PM via UNIVERSITY OF THE CUMBERLANDS. All use subject to https://www.ebsco.com/terms-of-use

Preface

[ 2 ]

, Smart Contracts, provides an in-depth discussion on smart contracts. Topics such
as history, the definition of smart contracts, Ricardian contracts, Oracles, and the theoretical
aspects of smart contracts are presented in this chapter.

, Ethereum 101, introduces the design and architecture of the Ethereum blockchain
in detail. It covers various technical concepts related to the Ethereum blockchain that
explains the underlying principles, features, and components of this platform in depth.

, Ethereum Development, provides a detailed practical introduction to development
of decentralized applications and smart contracts using the Ethereum blockchain. An
introduction to solidity and different relevant tools have also been included in this chapter.

, Hyperledger, presents a discussion about the hyperledger project from the Linux
foundation, which includes different blockchain projects introduced by its members.

, Alternative Blockchains, introduces alternative blockchain solutions and
platforms. It provides technical details and features of alternative blockchains.

, Blockchain – Outside of Currencies, provides a practical and detailed introduction
to applications of blockchain technology in fields others than cryptocurrencies, including
Internet of Things, government, media, and finance.

, Scalability and Other Challenges, is dedicated to a discussion of the challenges
faced by blockchain technology and how to address them.

, Current Landscape and What’s Next, is aimed at providing information about the
current landscape, projects, and research efforts related to blockchain technology. Also,
some predictions based on the current state of blockchain technology have also been made.

What you need for this book
All examples in this book have been developed on Ubuntu 16.04.1 LTS (Xenial). As such, it
is recommended to use Ubuntu. However, any appropriate operating system, either
Windows or Linux, can be used, but examples, especially those related to installation, may
need to be changed accordingly.

Examples related to cryptography have been developed using the OpenSSL 1.0.2g 1 Mar
2016 command-line tool.

Place your order
(550 words)

Approximate price: $22

Calculate the price of your order

550 words
We'll send you the first draft for approval by September 11, 2018 at 10:52 AM
Total price:
$26
The price is based on these factors:
Academic level
Number of pages
Urgency
Basic features
  • Free title page and bibliography
  • Unlimited revisions
  • Plagiarism-free guarantee
  • Money-back guarantee
  • 24/7 support
On-demand options
  • Writer’s samples
  • Part-by-part delivery
  • Overnight delivery
  • Copies of used sources
  • Expert Proofreading
Paper format
  • 275 words per page
  • 12 pt Arial/Times New Roman
  • Double line spacing
  • Any citation style (APA, MLA, Chicago/Turabian, Harvard)

Our guarantees

Delivering a high-quality product at a reasonable price is not enough anymore.
That’s why we have developed 5 beneficial guarantees that will make your experience with our service enjoyable, easy, and safe.

Money-back guarantee

You have to be 100% sure of the quality of your product to give a money-back guarantee. This describes us perfectly. Make sure that this guarantee is totally transparent.

Read more

Zero-plagiarism guarantee

Each paper is composed from scratch, according to your instructions. It is then checked by our plagiarism-detection software. There is no gap where plagiarism could squeeze in.

Read more

Free-revision policy

Thanks to our free revisions, there is no way for you to be unsatisfied. We will work on your paper until you are completely happy with the result.

Read more

Privacy policy

Your email is safe, as we store it according to international data protection rules. Your bank details are secure, as we use only reliable payment systems.

Read more

Fair-cooperation guarantee

By sending us your money, you buy the service we provide. Check out our terms and conditions if you prefer business talks to be laid out in official language.

Read more
Open chat
1
You can contact our live agent via WhatsApp! Via + 1 929 473-0077

Feel free to ask questions, clarifications, or discounts available when placing an order.

Order your essay today and save 20% with the discount code GURUH