Digital payments through secure online transactions are gaining in popularity. Also, digital transactions must be secure and reliable without the involvement of a centralized authority keeping record of such transactions. Blockchain is an emerging technology that deals with these issues in real time.
This book consists of ten chapters, one appendix, and three parts: “Blockchain Technology,” “Blockchain Components & Applications,” and “Advanced Topics.” The ten chapters comprise blockchain concepts, blockchain application templates, setting up Ethereum development tools, Ethereum accounts, smart contracts, decentralized applications, mining, Whisper, Swarm, and advanced topics on blockchain. The authors define a blockchain application as an automation of complex services and manufacturing processes using distributed peer-to-peer network technology without involving a central authority for authenticating the transactions.
In the first part of the book, the authors collect blockchain concepts and blockchain application templates. Chapter 1 illustrates blockchain concepts, domain-specific applications, the blockchain stack, benefits, and challenges, and describes an application called Escrow. In chapter 2, the authors gather blockchain application components, design methodology, and application templates.
In Part 2, the authors provide details about the blockchain components and applications. Chapter 3 focuses on Ethereum clients, languages, the Mist Wallet, MetaMask, and Truffle. Ethereum accounts, keypairs, and working with contract accounts are covered in chapter 4. The authors dedicate chapter 5 to smart contracts, describing their structure, patterns, and examples, and setting up and interacting with a contract using the Geth client and Mist Wallet. In chapter 6, the authors discuss decentralized applications (dapps), their implementation, and case studies. Mining, consensus, applying mining rewards, the mining mode, and state storage are covered in chapter 7. Furthermore, chapter 8 describes the Whisper protocol, routing approaches, and its application program interface (API), including a case study on the Smart Switch dapp. Chapter 9 discusses Swarm, its architecture and concepts, incentive mechanisms, and setup, including a case study on a stock photos dapp.
The authors present advanced topics on blockchain applications in Part 3, chapter 10. They highlight some advanced topics including the double-spending problem, Byzantine fault tolerance, proof-of-work versus proof-of-stack, consistency, availability and partition tolerance, Turing completeness, greedy heaviest-observed sub-tree, the Sybil attack, mining pools and centralization, smart contract vulnerabilities, and blockchain scalability.
This book is an interesting read for developers and professionals working in the area of blockchain application development. A tutorial on the Solidity language, included in the appendix, makes reading the book worthwhile.
More reviews about this item: Amazon