BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Articles Mastering Blockchain: Book Review and Author Q&A

Mastering Blockchain: Book Review and Author Q&A

Bookmarks

Key Takeaways

  • Blockchain was invented in 2008 by Satoshi Nakamoto to be used as the transaction ledger for Bitcoin, thus solving the main issue with digital currencies, i.e., the possibility that a token be spent more than once by duplicating it (double spending). Thanks to Blockchain, Bitcoin was the first digital currency to solve the double spending issue without requiring any trusted authority or central server.
  • The same "trust" issue is found in many other cases and led people to think that Blockchain could be used whenever people who do not know or trust each other need to create and preserve a shared “truth”.
  • Despite all of its promises, Blockchain has yet to find its place outside of the niche of technology enthusiasts and it is seemingly true this will require overcoming a number of issues, including technological, governance, organizational, and societal barriers.
  • Packt Publishing Mastering Blockchain by Imran Bashir aims to provide a comprehensive introduction to Blockchain and targets developers, students, and anyone interested in building Blockchain applications or learning about the technology underlying Blockchain apps.

Packt Publishing Mastering Blockchain by Imran Bashir aims to provide a comprehensive introduction to Blockchain, the technology that is claimed to be able to revolutionize our society and impact every industry, including finance, government, and the media.

Blockchain was invented in 2008 by Satoshi Nakamoto to be used as the transaction ledger for Bitcoin, thus solving the main issue with digital currencies, i.e., the possibility that a token be spent more than once by duplicating it (double spending). Thanks to Blockchain, Bitcoin was the first digital currency to solve the double spending issue without requiring any trusted authority or central server. As it happens, the same issue is found in many other cases and led people to think that the same technology could be used whenever people who do not know or trust each other need to create and preserve a shared “truth”.

Despite all of its promises, Blockchain has yet to find its place outside of the niche of technology enthusiasts and it is seemingly true this will require overcoming a number of issues, including technological, governance, organizational, and societal barriers. As Bashir writes in this book,

Some describe Blockchain as a revolution whereas another school of thought says it is going to be an evolution and it will take many years before any practical benefits from Blockchain come to fruition.

In this context, the book targets developers, students, and anyone interested in building Blockchain applications or learning about the technology underlying Blockchain apps.

The book covers both the theoretical and practical aspects of Blockchain and aims to provide readers with a deep understanding of it as well as the foundation for building Blockchain applications. The book comprises 13 chapters, which cover all topics relevant to Blockchain, such as cryptography, cryptocurrencies, Bitcoin, Ethereum, etc.

The first chapter provides a high-level introduction to Blockchain in the context of distributed systems, including a reference to the CAP theorem, the Byzantine generals problem, consensus, etc. It also presents the basic idea behind Blockchain, a few example of Blockchain applications, their benefits and limitations, etc.

The second chapter presents the concept of decentralization, i.e., the idea of doing away with the need for a central authority. Chapter 3 introduces the basic concepts and theory behind cryptography, including both symmetric and anti-symmetric encryption and other relevant algorithms.

The fourth chapter introduces Bitcoin, the first application of Blockchain, and cryptocurrencies in general. This includes the history of Bitcoin, how transactions work, what mining and wallets are, etc. The fifth chapter presents alternative cryptocurrencies that have followed Bitcoin, including Zcash and Namecoin, and tries to explain what is driving research in the Altcoin area.

Chapter 6 is dedicated to smart contracts, aimed to reduce the cost of transactions and to simplify the handling of complex contracts between untrusted parties. Since smart contract is an area of active research, a few concepts and definitions are not yet quite universally agreed upon and the book attempts to make an effort to offer a synthetic view.

The seventh chapter focuses on Ethereum, its history, motivation, and clients. Ethereum sports a Turing-complete language that allows the development of arbitrary programs for Blockchain and distributed applications. Chapter 8 goes deeper into Ethereum development presenting related concepts, techniques, and tools.

Chapter 9 is dedicated to Hyperledger, a Linux Foundation project aimed to create an open source distributed ledger framework. After presenting the core ideas behind Hyperledger, three Hyperledger projects are discussed in detail, Hyperledger Fabric, Sawtooth Lake, and Corda.

Chapter 10 tries to give an overview of the rest of protocols, applications, and platforms that were born as a result of Blockchain success with the aim to address limitations in current block chains or enhancing them.

The eleventh chapter explores the possibilities of Blockchain outside of the realm of cryptocurrencies and smart contracts, specifically in the fields of the Internet of Things, government, health, and finance.

Finally, the last two chapters focus on the challenges that Blockchain must address before going mainstream, and the future landscape for Blockchain evolution, including recent developments and emerging trends.

InfoQ has taken the chance to speak with Imran Bashir, author of Mastering Blockchain.

Could you summarize your background and your experience with Blockchain-related technologies?

I got involved with e-cash systems during my research on the subject in 2010, when I was studying towards MSc in Information security from Royal Holloway, University of London. I came across Bitcoin Blockchain a bit after that and immediately got very enthusiastic about this technology, not only because of its novel features but also because it uses all those technologies such as cryptography which I was already very much interested in. I then started researching this subject and got involved in various research communities and research projects to explore this technology further. Currently, I am still studying and writing regularly about this subject. I also review related research and books from other authors. I am also very enthused about contributing towards open source Blockchain projects.

What makes this book necessary? What gap does it fill?

This book covers a lot of ground starting from the history of electronic cash systems to latest platforms such as Ethereum and Hyperledger Fabric. A unique aspect of this book is that it covers not only theoretical concepts of the Blockchain technology but also provides practical exercises which complement the theoretical material presented in the book. It also includes all essential pre-requisite concepts such as cryptography, decentralisation and distributed systems which is required to understand the Blockchain technology. These topics are especially helpful to the readers who do not have a background in computer science.

Secondly, it covers cryptocurrencies, different distributed ledger platforms such as Bitcoin, Ethereum, Hyperledger Fabric, Sawtooth Lake, Kadena, Corda. Moreover applications of Blockchain technology in areas such as the Internet of Things, Government and Finance have also been discussed in this book.

Finally, a detailed overview of the current landscape and technologies relevant to the Blockchain technology has also been provided in this book. This combination of theory and practice with the breadth and a sufficient level of depth makes this book unique.

One of the most common claim about Blockchain is it is going to change the world. How much hype and how much reality there is in this claim?

I think Blockchain is at that stage now which the Internet was at in the mid–90s. It was difficult to explain to people that what it can do. Now the Internet has become so ubiquitous and intertwined with our lives that we routinely do business on the Internet, socialise, study and do all those things that we never believed would become possible to do “On the Internet”. Increasingly we see that devices ranging from Home appliances to Industrial control systems connect to the Internet which is giving rise to the “Internet of Things”.

Similarly, the era of the Blockchain based economy and a social system is going to emerge within the next decade where we will conduct business, do our routine tasks such as payments of bills, pension disbursement and other functions on a Blockchain. We already do similar things on the Internet too, but the difference is that with Blockchain we can do all these things in a truly decentralised and trustless environment. This is where the real potential of Blockchain comes in.

Yes, there is some hype, and it may not be a solution to every problem, but at a fundamental level it solves the issue of trust and allows distrusting parties to do business with each other in an entirely trustless environment. This is what gives Blockchain its real potential and ability to transform our lives.

Could you provide some examples of current or future Blockchain applications that could be disruptive?

The rise of Machine to Machine (M2M) economy which will be made possible by the convergence of IoT with Blockchain, by allowing millions of devices to operate on the Blockchain securely. for example, this will let a home appliance to talk to a service provider, choose the best price and order supplies automatically.

Use of Blockchain technology in trading, e.g. clearing and settlement, which will significantly reduce the cost and time required for trade clearing and settlement.  Multiple e-government schemes for identity, taxation, voting and secure data sharing between various government departments, which will reduce cost, build trust and give rise to a digital society that can operate entirely on a Blockchain.

Usage of blockchain to provide regulatory compliance in financial services industry such as for MiFID or MiFID II. Blockchain can provide a cryptographically secure and tamper-proof audit of all activities starting from initial order to trade booking, matching, clearing and settlement. This distributed ledger can be shared with  regulators without any or negligible additional cost, effort and infrastructure overheads.

Before Bitcoin, there were various attempts at creating a digital currency. What made Bitcoin the first successful example of cryptocurrency and where does the novelty of Blockchain, its underlying protocol, lies?

Bitcoin allows the creation of an entirely decentralised network, where two mutually distrusting parties can transact with each other. Also, this was the first fully decentralised solution of “double spend” or “double own” problem which was not possible before Bitcoin. Moreover, it was the first practical solution to solve the “Byzantine General’s problem”. This was made possible by the invention of Proof of Work mechanism, which facilitates the decentralised distributed consensus, which in turn secures the network and allows the network to grow.

What are the main differentiators between Bitcoin and other cryptocurrencies that have been created later on?

Bitcoin was developed as an electronic cash system using Proof of Work as consensus mechanism. Later cryptocurrencies proposed and used different consensus mechanisms as compared to Bitcoin. For example, proof of stake is used in some digital currencies such as Dash and Neo. Other variations of Proof of Work such as Scrypt are used in Litecoin. Also, then few blockchains were developed with both purposes of producing cryptocurrency and providing a smart contract platform, such as Ethereum that has Ether as a currency to provide incentives to the miners and smart contract platform to facilitate the development of applications to meet business requirements.

What are the main alternatives to Blockchain? What is driving their development?

All blockchains fall under the category of distributed ledgers. All newer blockchains or distributed ledger platforms are trying to address shortcomings such as scalability and privacy. (privacy is not an issue in private blockchains but public blockchains). Other factors, such as complexity and security are also being addressed in newer solutions. For example, Corda, which is not strictly a blockchain per definition, but is a distributed ledger which had developed a platform that can be used to provide all security features that a Blockchain can offer, but under a different technical architecture as compared to blockchains.

Are there any factors that are limiting the mainstream adoption of Blockchain? How should this technology evolve to succeed?

There are multiple issues with Blockchain which are limiting factors toward its adoption. Questions such as Scalability, privacy, Security (e.g. secure smart contracts), regulatory and compliance requirements (especially in the finance sector) and complexity needs to be addressed before the large-scale adoption of this technology. Blockchain technology requires extensive research and development effort for it to become more mature and flexible. This research is already underway, and projects such as Hyperledger, Ethereum and other many other organisations both in academia and industry are working towards resolving these issues.

What is the best starting point for developers aiming to begin their journey in the Blockchain world?

First build a foundation by understanding concepts such as the general theory of electronic cash systems and distributed systems. Then develop some understanding of cryptography. This base will provide you with a basic knowledge of the technologies used in blockchains. After this, you can pick up a Blockchain platform, e.g. Ethereum or Hyperledger and read the relevant research papers. Also, start experimenting with building test Blockchain networks and writing small smart contracts. Once you have the necessary understanding try to build a complete end to end project with a user interface, smart contracts and implementation on a Blockchain network, either public or private.

Use the code "ORIQB10" at checkout to get the recommended eBook for just $10 until Apr 30, 2018.

About the Book Author

Imran Bashir has an 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 the Institute of Electrical and Electronics Engineers (IEEE) and the British Computer Society (BCS). Imran has sixteen years’ of experience in the public and financial sectors. He worked on large-scale, IT projects in the public sector before moving to the financial services Industry. Since then he has worked in various technical roles for different finance companies in Europe’s financial capital, London. He is currently working for an investment bank in London as Vice President in the Technology department.

Rate this Article

Adoption
Style

BT