Discover millions of ebooks, audiobooks, and so much more with a free trial

Only $11.99/month after trial. Cancel anytime.

Distributed Computing to Blockchain: Architecture, Technology, and Applications
Distributed Computing to Blockchain: Architecture, Technology, and Applications
Distributed Computing to Blockchain: Architecture, Technology, and Applications
Ebook1,393 pages13 hours

Distributed Computing to Blockchain: Architecture, Technology, and Applications

Rating: 0 out of 5 stars

()

Read preview

About this ebook

Distributed Computing to Blockchain: Architecture, Technology, and Applications provides researchers, computer scientists, and data scientists with a comprehensive and applied reference covering the evolution of distributed systems computing into blockchain and associated systems. Divided into three major sections, the book explores the basic topics in the blockchain space extending from distributed systems architecture, distributed ledger, decentralized web to introductory aspects of cryptoeconomics (cryptography and economics) of decentralized applications.

The book further explores advanced concepts such as smart contracts; distributed token mining, initial coin offerings; proof of work; public, private, and other blockchains; cryptography; security; and blockchains. The book goes on to review byzantine fault tolerance, distributed ledgers versus blockchains, and blockchain protocols. The final section covers multiple use cases and applications of distributed computing and the future directions for blockchains.

  • Presented as a focused reference handbook describing the evolution of distributed systems, blockchain, and consensus algorithms emphasizing the architectural and functional aspects
  • Integrates the various concepts of cryptography in blockchain and further extends to blockchain forensics
  • Provides insight and detailed Interpretation of algorithms for consensus in blockchains
LanguageEnglish
Release dateApr 8, 2023
ISBN9780323961479
Distributed Computing to Blockchain: Architecture, Technology, and Applications

Related to Distributed Computing to Blockchain

Related ebooks

Science & Mathematics For You

View More

Related articles

Related categories

Reviews for Distributed Computing to Blockchain

Rating: 0 out of 5 stars
0 ratings

0 ratings0 reviews

What did you think?

Tap to rate

Review must be at least 10 words

    Book preview

    Distributed Computing to Blockchain - Rajiv Pandey

    9780323961479_FC

    Distributed Computing to Blockchain

    Architecture, Technology, and Applications

    First Edition

    Rajiv Pandey

    Amity Institute of Information Technology, Amity University Uttar Pradesh, Lucknow, Uttar Pradesh, India

    Sam Goundar

    School of Science, Engineering and Technology, RMIT University, Hanoi, Vietnam

    Shahnaz Fatima

    Amity Institute of Information Technology, Amity University Uttar Pradesh, Lucknow, Uttar Pradesh, India

    Image 1

    Table of Contents

    Cover image

    Title page

    Copyright

    Contributors

    Preface

    Section A: Evolution of Distributed Systems

    Section B: Blockchain Architecture and Security

    Section C: Distributed Computing

    Acknowledgments

    Section A: Evolution of distributed systems

    Chapter 1: Decentralized web, distributed ledgers, and build-up to blockchain

    Abstract

    1: Introduction

    2: Distributed ledgers (DLTs)

    3: Blockchains

    4: Types of blockchains

    5: Blockchain use cases

    6: Limitations and challenges

    7: Conclusion

    References

    Chapter 2: Decentralized everything: Practical use of blockchain technology in future applications

    Abstract

    Competing interests

    1: Introduction

    2: Related work

    3: Motivation

    4: Connecting the world together

    5: Services provided to end users—Application wise

    6: Blockchain technology use cases and a way forward

    7: Challenges in Blockchain technology

    8: Future applications with Blockchain technology

    9: Problems faced in (by) decentralizing applications

    10: Future research directions/a way forward towards decentralized applications

    11: Conclusion

    Appendix

    References

    Chapter 3: Distributed computing to blockchain: Architecture, technology, and applications

    Abstract

    Acknowledgment

    1: Introduction

    2: Recent related works

    3: Security of the distributed network model based on blockchain

    4: Results and discussion

    5: Conclusion

    References

    Chapter 4: Types of blockchain

    Abstract

    1: Introduction

    2: Literature review

    3: Background study

    4: Blockchain technology and its history

    5: Differentiating blockchain on network and operational parameters

    6: Comparison of various blockchain types

    7: Future work

    8: Conclusion

    References

    Chapter 5: Blockchain types: A characteristic view

    Abstract

    1: Introduction

    2: Blockchain

    3: General classification of blockchain

    4: Other classification of blockchain

    5: Consensus mechanisms

    6: Conclusion

    References

    Chapter 6: DApps: Decentralized applications for blockchains

    Abstract

    1: Introduction

    2: Decentralized applications (DApps)

    3: Building DApps

    4: Conclusion

    References

    Chapter 7: Analyzing information flow in solidity smart contracts

    Abstract

    Acknowledgment

    1: Introduction

    2: Related work

    3: Background

    4: Solidity language: Syntax and semantics

    5: Formal dependency analysis of solidity smart contracts

    6: Confidentiality and integrity properties verification

    7: Refining analysis by combining numerical abstract domains

    8: Conclusion

    References

    Chapter 8: Formal verification and code generation for solidity smart contracts

    Abstract

    1: Introduction

    2: Related work

    3: Background

    4: Formal framework for Solidity smart contracts

    5: EB2Sol: Event-B to Solidity

    6: Case study

    7: Discussion

    8: Conclusions

    References

    Chapter 9: Blockchain consensus algorithms: Past, present, and future trends

    Abstract

    1: Introduction

    2: Proof-based consensus algorithms

    3: Voting-based consensus algorithms

    4: DAG-based consensus algorithms

    5: Comparative evaluation and future trends of consensus algorithms

    6: Conclusions

    References

    Chapter 10: A systematic study on the development of decentralized application (dApp)

    Abstract

    1: Introduction

    2: Implication

    3: Conclusion

    References

    Chapter 11: AI, IoT, blockchain, and cloud computing: The necessity of the future

    Abstract

    1: Introduction: AI + IoT + blockchain + cloud computing

    2: Background of AI, IoT, blockchain and cloud computing

    3: Application scenarios in the near future

    4: Summary of major works

    5: Research gaps in each applications

    6: Future research directions toward the integration of AI-IoT-blockchain-based cloud systems

    7: Conclusions

    References

    Chapter 12: Functional analysis of blockchain consensus algorithms

    Abstract

    1: Introduction

    2: Consensus

    3: Proof of work (PoW)

    4: Proof of stake (PoS)

    5: Proof of contribution

    6: Blockchain to IP protection

    7: Proof of service power in cloud manufacturing

    8: A lightweight blockchain consensus mechanism

    9: PBFT

    10: Summary

    References

    Section B: Blockchain architecture and security

    Chapter 13: Blockchain and forensics

    Abstract

    1: Introduction

    2: Wallets

    3: Why wallets for forensics?

    4: Wallet import format (WIF)

    5: Information inside blocks of blockchain

    6: Let’s check the genesis block

    7: Reading from a genesis.dat file

    8: Deriving bitcoin address from a block

    9: Understanding mempool

    10: Information from addresses

    11: Opensource tools in cryptocurrency blockchain forensics

    12: Information about an address

    13: Summary recommendations for investigators

    14: Conclusion

    References

    Chapter 14: Cryptography in blockchain

    Abstract

    1: Introduction

    2: Set/group/field/order/prime fields

    3: Cryptography

    4: Role and function of cryptography

    5: Symmetric and asymmetric cryptography

    6: Elliptic curve cryptography (ECC)

    7: Digital signatures

    8: Hash functions

    9: Deriving a bitcoin blockchain address

    10: Future blockchain systems

    11: Conclusion

    References

    Chapter 15: Ethereum blockchain platform

    Abstract

    Acknowledgments

    1: Introduction

    2: Ethereum

    3: Fundamental concepts

    4: Tools

    5: Simulating a real environment with Ethereum

    6: Ethereum’s future

    7: Conclusions

    References

    Chapter 16: Hyperledger Fabric blockchain platform

    Abstract

    Acknowledgments

    1: Introduction

    2: Hyperledger Fabric

    3: Use cases

    4: Tutorials

    5: Conclusions

    References

    Chapter 17: An in-depth look at blockchain technology: Architecture and security concerns

    Abstract

    1: Introduction

    2: Problem statement

    3: Implication

    References

    Chapter 18: Blockchain-based IoT security solutions

    Abstract

    1: Introduction

    2: Internet of Things (IoT)

    3: Blockchain

    4: Conclusion

    References

    Further reading

    Chapter 19: Cryptoeconomics

    Abstract

    1: Introduction

    2: Initial coin offering (ICO)

    3: Future of blockchain

    References

    Section C: Distributed computing

    Chapter 20: Distributed databases and distributed operating systems for blockchain

    Abstract

    1: Introduction

    2: Distributed system

    3: Distributed database system

    4: Distributed ledger technology (DLT) being part of distributed systems

    5: Blockchain and distributed system

    6: Distributed operating system and blockchain

    7: Conclusion

    References

    Chapter 21: Demystifying blockchain adoption in financial sector—A critical analysis

    Abstract

    1: Background

    2: Methodology

    3: Acceptability of blockchain in FinTech—Google search intensity (SVI)

    4: Finance sector with and without blockchain technology

    5: Adaptability and usage of blockchain technology in financial services

    6: Benefits of integrating blockchain technology and financial services

    7: Risks and challenges of incorporating blockchain technology in financial services

    8: Critically demystifying blockchain adoption in financial sector

    9: Future agenda

    10: Conclusion

    References

    Further reading

    Chapter 22: e-Governance and blockchain-based data supply chain for used cars

    Abstract

    1: Introduction

    2: Literature review

    3: Research process

    4: Implementation of field validation

    5: Lessons learned and challenges

    6: Conclusion

    References

    Chapter 23: Emerging trends of blockchain in bioinformatics: A revolution in health care

    Abstract

    1: Introduction

    2: Blockchain

    3: Bioinformatics

    4: Genomic big data

    5: Blockchain applications in bioinformatics

    6: Blockchain in the health-care industry

    7: Blockchain technology changing traditional methods of applied research in bioinformatics

    8: Blockchain: A critical analysis of challenges and opportunities

    9: Future of blockchain

    References

    Chapter 24: Blockchain’s potential to rescue sports: A social media perspective

    Abstract

    1: Introduction

    2: Theoretical background

    3: Methodology

    4: Results

    5: Discussion

    6: Concluding remarks

    References

    Chapter 25: Design and development of a mobile application for level monitoring of oxygen cylinders using block chain technology

    Abstract

    1: Introduction

    2: Literature review

    3: Importance of the proposed work

    4: Objectives

    5: Methodology

    6: Development and discussions

    7: Conclusion

    References

    Chapter 26: A futuristic approach to decentralize and authenticate workplace safety records leveraging on blockchain distributed ledger network

    Abstract

    1: Introduction

    2: Fundamental principles of blockchain technology

    3: Workplace safety and health issues

    4: Workplace safety records

    5: Leveraging on blockchain network for managing workplace safety records

    6: Limitations

    7: Conclusion

    References

    Chapter 27: Designing business models through blockchain: A process of value creation

    Abstract

    1: Introduction

    2: What is blockchain technology?

    3: Business models

    4: User value through blockchain

    5: Blockchain-based business models—Industry use cases

    6: Discussion and critical analysis

    7: Conclusion

    References

    Index

    Copyright

    Academic Press is an imprint of Elsevier

    125 London Wall, London EC2Y 5AS, United Kingdom

    525 B Street, Suite 1650, San Diego, CA 92101, United States

    50 Hampshire Street, 5th Floor, Cambridge, MA 02139, United States

    The Boulevard, Langford Lane, Kidlington, Oxford OX5 1GB, United Kingdom

    Copyright © 2023 Elsevier Inc. All rights reserved.

    No part of this publication may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or any information storage and retrieval system, without permission in writing from the publisher. Details on how to seek permission, further information about the Publisher’s permissions policies and our arrangements with organizations such as the Copyright Clearance Center and the Copyright Licensing Agency, can be found at our website: www.elsevier.com/permissions.

    This book and the individual contributions contained in it are protected under copyright by the Publisher (other than as may be noted herein).

    Notices

    Knowledge and best practice in this field are constantly changing. As new research and experience broaden our understanding, changes in research methods, professional practices, or medical treatment may become necessary.

    Practitioners and researchers must always rely on their own experience and knowledge in evaluating and using any information, methods, compounds, or experiments described herein. In using such information or methods they should be mindful of their own safety and the safety of others, including parties for whom they have a professional responsibility.

    To the fullest extent of the law, neither the Publisher nor the authors, contributors, or editors, assume any liability for any injury and/or damage to persons or property as a matter of products liability, negligence or otherwise, or from any use or operation of any methods, products, instructions, or ideas contained in the material herein.

    ISBN 978-0-323-96146-2

    For information on all Academic Press publications visit our website at https://www.elsevier.com/books-and-journals

    Publisher: Mara Conner

    Acquisitions Editor: Chris Katsaropoulos

    Editorial Project Manager: John Leonard

    Production Project Manager: Punithavathy Govindaradjane

    Cover Designer: Mark Rogers

    Typeset by STRAIVE, India

    Image 1

    Contributors

    Numbers in parentheses indicate the pages on which the authors' contributions begin

    Md. Imran Alam 105, 125

    Indian Institute of Technology Patna, Patna, Bihar, India

    Università Ca’ Foscari Venezia, Venezia, Italy

    Enrico Angeles 355     Abu Dhabi Polytechnic, Abu Dhabi, United Arab Emirates

    Arpita Balakrishnan 389     Amity Institute of Virology and Immunology, Amity University Uttar Pradesh, Noida, Uttar Pradesh, India

    Seyed Mojtaba Hosseini Bamakan 145     Department of Management Sciences, Yazd University, Yazd, Iran

    Ananya Banerjee 173, 297     Department of Computer Science, Kalyani Government Engineering College, Kalyani, West Bengal, India

    N.P.G. Bhavani 415     Department of ECE, Saveetha School of Engineering, SIMATS, Chennai, Tamil Nadu, India

    Malobika Bose 341     Amity University Uttar Pradesh, Lucknow, Uttar Pradesh, India

    Juan Boubeta-Puig 267, 283     UCASE Software Engineering Research Group, Department of Computer Science and Engineering, University of Cadiz, Cádiz, Spain

    Anindita Chakraborty 367     Institute of Management Studies, Banaras Hindu University, Varanasi, Uttar Pradesh, India

    Brijesh Kumar Chaurasia 327     Department of Computer Science, Indian Institute of Information Technology, Lucknow, Uttar Pradesh, India

    Dongliang Chen 39     College of Computer Science and Technology, Qingdao University, Qingdao, China

    Agostino Cortesi 105     Università Ca’ Foscari Venezia, Venezia, Italy

    Arvind Deshmukh 433     Amity Business School, Amity University Uttar Pradesh, Noida, Uttar Pradesh, India

    Namrata Dhanda 69     Department of Computer Science & Engineering, Amity University Uttar Pradesh, Lucknow, Uttar Pradesh, India

    Mohd Sarfaraz Faiyaz 207     Amity University Uttar Pradesh, Lucknow, Uttar Pradesh, India

    Akshay M. Fajge 105, 125     Indian Institute of Technology Patna, Patna, Bihar, India

    Annn Jia Gander 39     Department of Applied IT, The University of Gothenburg, Gothenburg, Sweden

    Sam Goundar 377, 405     School of Science, Engineering and Technology, RMIT University, Hanoi, Vietnam

    Raju Halder 105, 125     Indian Institute of Technology Patna, Patna, Bihar, India

    Neetu Jabalia 389     Amity Institute of Biotechnology, Amity University Uttar Pradesh, Noida, Uttar Pradesh, India

    Poonam Jaglan 389     Amity Institute of Virology and Immunology, Amity University Uttar Pradesh, Noida, Uttar Pradesh, India

    U. Jayalatsumi 415     Department of ECE, Dr. MGR Educational and Research Institute, Chennai, Tamil Nadu, India

    T. Kavitha 415     Department of Civil Engineering, Dr. MGR Educational and Research Institute, Chennai, Tamil Nadu, India

    Gwang Seok Kim 377     Department of Information and Industrial Engineering, Yonsei University, Seoul, South Korea

    Chiang Liang Kok 425     Newcastle Australia Institute of Higher Education (A Wholly-Owned Entity of the University of Newcastle, Australia), Singapore, Singapore

    Veronica Kumar 389     Amity Institute of Biotechnology, Amity University Uttar Pradesh, Noida, Uttar Pradesh, India

    Jesús Lagares-Galán 283     School of Engineering, University of Cadiz, Cádiz, Spain

    Zhihan Lv 39     Department of Game Design, Faculty of Arts, Uppsala University, Uppsala, Sweden

    Madhvendra Misra 405     Indian Institute of Information Technology, Allahabad, Uttar Pradesh, India

    Naghmeh Sadat Moayedian 145     Department of Electrical and Computer Engineering, Isfahan University of Technology, Isfahan, Iran

    Meghna Manoj Nair 189     School of Computing Science and Engineering, Vellore Institute of Technology, Chennai, Tamil Nadu, India

    Nasim Nezhadsistani 145     Department of Electrical and Computer Engineering, Isfahan University of Technology, Isfahan, Iran

    Kavitha Palaniappan 425     Duke-NUS Medical School, Singapore, Singapore

    Rajiv Pandey 207     Amity Institute of Information Technology, Amity University Uttar Pradesh, Lucknow, Uttar Pradesh, India

    Deepa Pavithran 355     Abu Dhabi Polytechnic, Abu Dhabi, United Arab Emirates

    María J. Peregrina-Pérez 283     School of Engineering, University of Cadiz, Cádiz, Spain

    Nripendra P. Rana 405     College of Business and Economics, Qatar University, Doha, Qatar

    B. Rengammal Sankari 415     EEE Department, Dr. MGR Educational and Research Institute, Chennai, Tamil Nadu, India

    Jesús Rosa-Bilbao 267     UCASE Software Engineering Research Group, Department of Computer Science and Engineering, University of Cadiz, Cádiz, Spain

    Naela Jamal Rushdi 341     IILM Academy of Higher Learning, Lucknow, Uttar Pradesh, India

    Neelam Saxena 433     Amity Center of Entrepreneurship Development, Noida, Uttar Pradesh, India

    Saksham Selly 389     Amity Institute of Biotechnology, Amity University Uttar Pradesh, Noida, Uttar Pradesh, India

    K. Senthil Kumar 415

    Department of IT

    Department of ECE, Dr. MGR Educational and Research Institute, Chennai, Tamil Nadu, India

    Munavwar Shaikh 355     Abu Dhabi Polytechnic, Abu Dhabi, United Arab Emirates

    Charles Shibu 355     Abu Dhabi Polytechnic, Abu Dhabi, United Arab Emirates

    Deepak Singh 327     Department of Computer Science, Indian Institute of Information Technology, Lucknow, Uttar Pradesh, India

    Gurudev Singh 207     Amity Institute of Information Technology, Amity University Uttar Pradesh, Lucknow, Uttar Pradesh, India

    Harjot Singh 3, 87     Decision Tree Analytics, Gurugram, Haryana, India

    Kuldeep Singh 405     Faculty of Management Studies, JAIN (Deemed to be University), Bangalore, Karnataka, India

    Neeraj Kumar Singh 105, 125     INPT-ENSEEIHT/IRIT, University of Toulouse, Toulouse, France

    Shruti Singh 367     Institute of Management Studies, Banaras Hindu University, Varanasi, Uttar Pradesh, India

    Sandeep Srivastava 327     Department of Computer Science, Indian Institute of Information Technology, Lucknow, Uttar Pradesh, India

    V. Srividhya 415     EEE Department, Meenakshi College of Engineering, Chennai, Tamil Nadu, India

    K. Sujatha 415     EEE Department, Dr. MGR Educational and Research Institute, Chennai, Tamil Nadu, India

    Preetam Suman 55     School of Computing Science and Engineering, Vellore Institute of Technology, Bhopal, Madhya Pradesh, India

    C. Tamilselvi 415     Department of IT, Dr. MGR Educational and Research Institute, Chennai, Tamil Nadu, India

    Anupam Tiwari 237, 251     Computer Science Department, GD Goenka University, Gurugram, Haryana, India

    Amit Kumar Tyagi 19, 189     Department of Fashion Technology, National Institute of Fashion Technology, New Delhi, Delhi, India

    Kanishka Tyagi 55     Aptiv Corporation, San Francisco, CA, United States

    Zafar Uddin 207     Amity Institute of Information Technology, Amity University Uttar Pradesh, Lucknow, Uttar Pradesh, India

    Rajat Verma 69     Department of Computer Science & Engineering, Amity University Uttar Pradesh, Lucknow, Uttar Pradesh, India

    Jingyi Wu 39     College of Computer Science and Technology, Qingdao University, Qingdao, China

    Jitendra Yadav 405     Department of Marketing & Strategy, IBS Hyderabad, A Constituent of IFHE (Deemed to be) University, Hyderabad, India

    Sana Zeba 55     Department of Computer Engineering, Jamia Millia Islamia University, New Delhi, Delhi, India

    Preface

    Distributed computing is an activity that takes place in a geographically dispersed computing ecosystem. A fundamental difficulty in distributed systems is providing a nondistributed view of a distributed system to a user in order to construct a distributed file mechanism that allows the client programmer to disregard the physical placement of their data. Most distributed computation models are process models, which present computational activity as the concurrent process execution.

    Blockchain is now a topic of substantial impact that academia, practitioners, and those working in the IT industry need to contemplate, study, research, publish, innovate, exploit, and adopt. Blockchain technologies are being claimed to be as disruptive as the Internet. A white paper titled Bitcoin: A Peer-to-Peer Electronic Cash System was published in 2008, written by Satoshi Nakamoto (a pseudonym), the white paper set everything into motion. This paper detailed how an electronic cash transaction can take place between peers without the need for a third party (financial institution). Digital signatures and cryptography can be used to secure the financial transaction, and peers on the Bitcoin network running on blockchain technology can verify, validate, and authorize the transaction to eliminate the double spend problem.

    A blockchain is a ledger that computer network nodes may access and use. Blockchain, like a database, keeps information electronically, in a digital form. Blockchain plays a vital part in cryptocurrency systems such as Bitcoin, where a secure and decentralized record of transactions is maintained. Original blockchain maintains the precision and safety of a data record and provides confidence without the requirement for a trusted third party. There are significant differences in the structure of data in a standard database and in a blockchain.

    Blockchain mostly uses the elements and concepts of distributed systems. Blockchain can be referred to as a distributed system, where every computation that takes place can be described as distributed system computing.

    This book contains 27 chapters, divided into three sections. The first section includes 12 chapters, which focus on basic key topics such as distributed systems and architecture, distributed ledger, and decentralized web, and supplies a detailed interpretation of algorithms for consensus in blockchains. The second section provides information related to blockchain architecture and security including cryptography. Seven chapters on blockchain forensics, hyperledger fabric blockchain platforms, and blockchain-based Internet of Things (IoT) security solutions add value to this section. The third section is devoted to distributed computing and consists of eight chapters.

    Section A: Evolution of Distributed Systems

    Section A opens with Chapter 1 by Harjot Singh, titled Decentralized Web, Distributed Ledgers, and Build-up to Blockchain. The chapter gives an overview of decentralization, distributed ledgers, blockchain structure, and types of blockchain.

    Chapter 2, Decentralized Everything: Practical Use of Blockchain Technology in Future Applications, authored by Amit Kumar Tyagi, offers deeper insights into various domains and aspects of technology in which blockchain can be incorporated for further enhancement. This chapter predominantly discusses popular applications like the decentralized web. In order to provide details regarding distributive ledger technology, the author selected 100 articles (highly cited) and filtered them based on requirement/application, and provides here a summary of the top 50 articles. This chapter provides a detailed review of decentralized applications, including Dapps (Blockchain 4.0) and decentralized web (DWeb), and other future integration of blockchain in other applications and blockchain-IoT integration.

    Chapter 3, by Zhihan Lv, Jingyi Wu, Dongliang Chen, and Annn Jia Gander, is titled Distributed Computing to Blockchain: Architecture, Technology, and Applications. This chapter explores the correlation between distributed computing and blockchain technology, and investigates in depth the architecture and application of blockchain technology. The authors further suggest a distributed deep-learning network model based on blockchain technology.

    Chapter 4 is authored by Sana Zeba, Preetam Suman, and Kanishka Tyagi, and titled Types of Blockchain. It explores the contribution of blockchain across domains, including finance, healthcare, web-based companies, and so on. Consolidating it with other emerging advancements will bring us all new technology solutions. This chapter addresses various types of blockchain and their importance.

    Chapter 5, Blockchain Types: A Characteristic View, by Rajat Verma and Namrata Dhanda, discusses various types of blockchain available and highlights their various advantages and disadvantages. The chapter further explores aspects of blockchain, particularly mining and diverse consensus algorithms.

    Chapter 6, Dapps: Decentralized Applications for Blockchains is written by Harjot Singh. It deliberates on the paradigm shift in application development from centralized to distributed, and gives an overview of Ethereum.

    Chapter 7 is contributed by Raju Halder, Md. Imran Alam, Akshay M. Fajge, Neeraj Kumar Singh, and Agostino Cortesi, and is titled Analyzing Information Flow in Solidity Smart Contracts. The chapter applies traditional language-based information-flow analysis to the case of Ethereum Solidity smart contracts in order to identify possible undesirable information flow in the contract codes that may cause software vulnerabilities. The chapter provides concrete semantics of solidity language.

    Chapter 8, Formal Verification and Code Generation for Solidity Smart Contracts, is authored by Neeraj Kumar Singh, Akshay M. Fajge, Raju Halder, and Md. Imran Alam. This chapter discusses formal verification for smart contracts.

    Chapter 9, Blockchain consensus algorithms: Past, Present, and Future Trends, is written by Nasim Nezhadsistani, Seyed Mojtaba Hosseini Bamakan, and Naghmeh Sadat Moayedian. Render an insight on consensus algorithms. The chapter presents a survey of the state of the art of blockchain consensus algorithms that have been studied and used in well-known applications.

    Chapter 10 is titled A Systematic Study on the Development of Decentralized Application (dApp). Contributed by Ananya Banerjee, the chapter ventures into Dapps, and discusses why decentralized applications are considerably more powerful than centralized applications in aspects such as cost, security, ownership, transparency, immutability, consistency, integrity, and availability.

    Chapter 11, AI, IoT, Blockchain, and Cloud Computing: The Necessity of the Future, is authored by Meghna Manoj Nair and Amit Kumar Tyagi. It explores how blockchain, the IoT, and artificial intelligence (AI) can utilize and incorporate cloud computing systems for enhanced performance and optimal results.

    The last chapter of Section A, Chapter 12, is Functional Analysis of Blockchain Consensus Algorithms. Contributed by Rajiv Pandey, Mohd Sarfaraz Faiyaz, Gurudev Singh, and Zafar Uddin, this chapter provides a detailed interpretation of algorithms for blockchain consensus. The authors also discuss the necessity for a lightweight blockchain for resource-constrained devices and an enhanced Practical Byzantine Fault Tolerance blockchain consensus mechanism based on a reward and punishment scheme.

    Section B: Blockchain Architecture and Security

    Section B explores topics related to blockchain architecture and security with an emphasis on blockchain architecture used in secure systems, cryptography, hyperledger, and cryptoeconomics.

    Chapter 13, Blockchain and Forensics, is written by Anupam Tiwari. It provides a detailed overview of blockchain forensics and an understanding of blockchain mechanics from the perspective of an investigation and forensics expert.

    Chapter 14, Cryptography in Blockchain, again by Anupam Tiwari, further extends the role of cryptography in blockchain and discusses the cryptography mechanics prevalent in the Bitcoin blockchain.

    Chapter 15, Ethereum Blockchain Platform, is provided by Jesús Rosa-Bilbao and Juan Boubeta-Puig. The authors dive into comprehensive learning about Ethereum, one of the well-known open-source platforms for decentralized applications.

    Chapter 16 is titled Hyperledger Fabric Blockchain Platform and is contributed by María J. Peregrina-Pérez, Jesús Lagares-Galán, and Juan Boubeta-Puig. It explores hyperledger fabric and its permissioned architecture, which can be suitable for application domains such as business, healthcare, and manufacturing. In this chapter, the authors provide comprehensive information about hyperledger fabric and its modularity and versatility for several use cases.

    Chapter 17, An In-depth Look at Blockchain Technology: Architecture and Security Concerns, by Ananya Banerjee, highlights blockchain architecture and security concerns including decentralization, mining, consensus, and smart contracts.

    Chapter 18 is titled Blockchain-Based IoT Security Solutions and is authored by Sandeep Srivastava, Brijesh Kumar Chaurasia, and Deepak Singh. It explores blockchain technology for authentication, privacy, and nonrepudiation, through a window on issues of security of IoT. This chapter presents a security solution for all types of blockchain technology.

    Chapter 19, Cryptoeconomics, authored by Malobika Bose and Naela Jamal Rushdi, gives an overview of the historical background, evolution, and understanding of the basics behind the concept of cryptoeconomics. The chapter provides readers with an understanding of the concept and process of initial coin offerings.

    Section C: Distributed Computing

    Section C focuses on distributed computing and consists of eight chapters.

    Chapter 20, Distributed Databases and Distributed Operating systems for Blockchain, is authored by Deepa Pavithran, Charles Shibu, Munavwar Shaikh, and Enrico Angeles. It states that blockchain is a decentralized linked data structure that provides transparency, data availability, and data integrity in an untrusted network. The chapter discusses distributed databases, distributed operating systems, and blockchain.

    Chapter 21, Demystifying Blockchain Adoption in Financial Sector—A Critical Analysis, by Shruti Singh and Anindita Chakraborty, describes blockchain adoption in the financial sector. The authors set out significant usages and scopes in addition to the difficulties and problems that need to be addressed for the successful integration of the components of the blockchain.

    Chapter 22 is titled e-Governance and Blockchain-Based Data Supply Chain for Used Cars, and is written by Gwang Seok Kim and Sam Goundar. It examines whether blockchain can enable the expansion of the used car business from business-to-business (B2B) to business-to-consumer (B2C), and the possibility of field validation for original equipment manufacturer (OEMs).

    Chapter 23, Emerging Trends of Blockchain in Bioinformatics: A Revolution in Health care, is authored by Arpita Balakrishnan, Poonam Jaglan, Saksham Selly, Veronica Kumar, and Neetu Jabalia. It presents a fundamental concept underlying blockchain and bioinformatics, and delves into the impact of blockchain on genomics big data and applications of blockchain in bioinformatics. The last section of the chapter encompasses blockchain trends changing traditional methods of research in bioinformatics.

    Chapter 24, Blockchain’s Potential to Rescue Sports: A Social Media Perspective, by Jitendra Yadav, Madhvendra Misra, Nripendra P. Rana, Kuldeep Singh, and Sam Goundar, focuses on the decentralization, safety, trustworthiness, and traceability features of the data collecting system offered by blockchain technology, which are very well suited to developments in the sports industry.

    Chapter 25 is contributed by K. Sujatha, T. Kavitha, N.P.G. Bhavani, C. Tamilselvi, K. Senthil Kumar, U. Jayalatsumi, V. Srividhya, and B. Rengammal Sankari, and is titled Design and Development of a Mobile Application for Level Monitoring of Oxygen Cylinders Using Block Chain Technology. The authors propose an online remote smartphone app for oxygen-dependent COVID-19 patients that can remotely measure and monitor the level of oxygen inside cylinders by integrating the pressure sensor and load cell.

    Chapter 26, A Futuristic Approach to Decentralize and Authenticate Workplace Safety Records Leveraging on Blockchain Distributed Ledger Network, is written by Chiang Liang Kok and Kavitha Palaniappan. It proposes an approach to leverage on secure blockchain distributed ledger networks to decentralize workplace safety records and allow the data to be accessed more securely and effectively only by the relevant authorities.

    The last chapter of this book is Chapter 27, Designing Business Models Through Blockchain: A Process of Value Creation, contributed by Arvind Deshmukh and Neelam Saxena. This chapter explores the value creation process in various business models through the integration of blockchain technology. The chapter also discusses the implications, challenges, and benefits of incorporating blockchain in business applications.

    Acknowledgments

    We are proud to present this book, Distributed Computing to Blockchain: Architecture, Technology, and Applications. We humbly thank all the authors who submitted their chapters to make this volume a success. Without their expertise and tireless efforts, this book would not have reached publication. We are also grateful to all the reviewers who peer-reviewed the chapters in this book.

    For any new book, assembling the editorial team takes a lot of time and effort. Getting people with specialist knowledge to volunteer is difficult, especially when they have full-time jobs. Selecting the right people with appropriate skills and expertise in different areas of distributed computing, blockchain, big data, the Internet of Things, technological convergence, and other technologies converging with computing and blockchain is a significant challenge, but one that was overcome by all involved.

    We believe that everyone will enjoy reading this book and that it will inspire and encourage readers to start their research (if they have not already done so) into the convergence of artificial intelligence and blockchain, and its integration with other technologies.

    Once again, we congratulate and thank everyone involved in the writing, review, editorial work, and publication of this book.

    Rajiv Pandey

    Sam Goundar

    Shahnaz Fatima

    Section A

    Evolution of distributed systems

    Chapter 1: Decentralized web, distributed ledgers, and build-up to blockchain

    Harjot Singh    Decision Tree Analytics, Gurugram, Haryana, India

    Abstract

    When Tim Berners Lee founded the W3C in the early 1990s, he himself probably would not have imagined the shape of the behemoth that he had created. It was a paradigm shift from the days of ARPANET (Advanced Research Projects Agency Network) setup in 1969 which was intended for peer-to-peer communication. Tim Berners Lee while answering young people on the official w3.org website made it look really simple—I just had to take the hypertext idea and connect it to the TCP and DNS ideas and—ta-da!—the World Wide Web [1]. This was the beginning of the World Wide Web as we see it today. From humble beginnings, the Internet has become a necessity in everyday life rather than an experimental venture. However, the shape that this giant has taken leaves a lot to be desired from the perspective of those propagating Freedom of the Internet, Net Neutrality, and Freedom of Expression. The biggest reason cited is that typically people do not own their data today. It is stored, analyzed, and used by big conglomerates like Google and Facebook. Every time a user interacts on the net, copies of his/her data are created and travel across the web, and the more such copies, the more one loses control of his/her data. This is not just an inefficient manner of execution but also a privacy concern. Almost three decades into the development and the internet is still hinged on the client-server architecture. Let’s walk through this journey quickly.

    Keywords

    Decentralized web; Distributed ledgers; Blockchain; Web 3.0; Permissioned vs permissionless blockchains

    We have elected to put our money and faith in a mathematical framework that is free of politics and human error.

    As stated by Tyler Winkelvoss, Rower & Entrepreneur (https://www.cnbc.com/id/100635418 on 11 April 2013)

    1: Introduction

    When Tim Berners Lee founded the W3C in the early 1990s, he himself probably would not have imagined the shape of the behemoth that he had created. It was a paradigm shift from the days of ARPANET (Advanced Research Projects Agency Network) setup in 1969 which was intended for peer-to-peer communication. Tim Berners Lee while answering young people on the official w3.org website made it look really simple—I just had to take the hypertext idea and connect it to the TCP and DNS ideas and—ta-da!—the World Wide Web [1]. This was the beginning of the World Wide Web as we see it today. From humble beginnings, the Internet has become a necessity in everyday life rather than an experimental venture. However, the shape that this giant has taken leaves a lot to be desired from the perspective of those propagating Freedom of the Internet, Net Neutrality, and Freedom of Expression. The biggest reason cited is that typically people do not own their data today. It is stored, analyzed, and used by big conglomerates like Google and Facebook. Every time a user interacts on the net, copies of his/her data are created and travel across the web, and the more such copies, the more one loses control of his/her data. This is not just an inefficient manner of execution but also a privacy concern. Almost three decades into the development and the internet is still hinged on the client–server architecture. Let’s walk through this journey quickly.

    1.1: The journey so far Web 1.0 -> Web 2.0 -> Web 3.0

    Web 1.0 (The Static Web) was a hypermesh of interconnected static servers with users hopping between them primarily using the hyperlinks. The content creation was limited to the person(s) hosting the site and interaction with any user was very minimal. Majority of the sites revolved around hosting public profiles of individuals or as notice boards for information. Current-day examples of similar sites would be those hosting law books or user manuals. The content was primarily driven by those who hosted the website, and the user was a passive surfer. It was akin to a modern-day television broadcaster showing the various programs on different channels, except that the broadcaster was replaced by the person(s) hosting the website and one had to use a hyperlink/url rather than a channel number. The mainstream server-side technology was Common Gateway Interface with sites coded in vanilla HTML.

    Web 2.0 (The Interactive Web) was an evolutionary step for its time with greater emphasis on user interaction. Websites turned dynamic and generation of content was now a two-way street with the users being an active member of the ecosystem rather than being a passive receiver of the information/content. Developers graduated from using synchronous calls to AJAX, HTML5, and JavaScript. On the server-side Java, PHP, etc. gained ground. Websites grew exponentially and social networking sites bloomed. User interaction became critical and information flow was more regulated using APIs. Despite the technological leaps, the primary architecture still remained the client-server model, with centralized servers storing, analyzing, utilizing, and controlling not only their own but also the user’s data. To make the protocols over the internet efficient and scalable, stateless protocols such as TCP/IP and UDP were chosen for their simplicity in implementation. This caused the overall state of the transactions on the web to be stateless and resulted in scenarios, wherein one had to invariably rely on third-party entities to establish trust. Banks had to rely on a VISA or Master Card to trust the dealing parties involved. Storage could have gone between centralized and decentralized, but for some reason, it went the centralized way. Data got aggregated in hands of a few large entities whose primary objectives were in most instances defined by the top line in their income sheets and how the shareholders felt rather than user experience. Fig. 1 shares a brief difference between Web 1.0 and 2.0 from an architectural and dataflow standpoint.

    Fig. 1

    Fig. 1 Web 1.0 vs. Web 2.0.

    The users’ data slowly became the product by itself and led to the growth of giants like Google and Facebook. A centralized repository became the source of truth and user data became a goldmine to study demographics, move opinions, and shape election outcomes. Facebook has been often accused of being the tool to mobilize and manipulate public opinions prior to major elections in many countries, including the United States itself. Prediction algorithms can now predict user behavior with a fair degree of accuracy just by analyzing the browsing patterns of users. All the caveats are stored and obfuscated under the T&Cs of the sites and a normal user forgoes all his rights simply by clicking "I Agree." There is no denying that Facebook, Google, Amazon, Alibaba, etc. are providing valuable facilities around the world, but the way they are controlling, analyzing, and consolidating control over the way we communicate, interact, purchase, and express is unprecedented. Such control surpasses that enjoyed by the largest kingdoms in history.

    Decentralization: This word singularly can be attributed to the genesis of the thought process for Web 3.0, though it is taking a much larger shape now. To quote Tim Berners Lee once again, he had in 2006 stated, People keep asking what Web 3.0 is. I think maybe when you’ve got an overlay of scalable vector graphics—everything rippling and folding and looking misty—on Web 2.0 and access to a semantic Web integrated across a huge space of data, you’ll have access to an unbelievable data resource…. The semantic web would analyze data based on what a word means and how it is understood by the human mind (contextual) rather than by a simple pattern or word match. Natural language processing algorithms using AL and ML would process data faster to provide more relevant and quicker results. Search now is more aligned to the way humans think and analyze. The information will be more connected using the metadata and provide contextual results. Multiple applications would be using singular data rather than multiple copies in silos to speak across applications. Web 3.0 would democratize the ability to look at facts the way they are rather than through the financial binoculars of large business conglomerates.

    The creators of the Web had envisaged Web 3.0 to be a Semantic web, but over time Web 3.0 has developed into much more than that. Fig. 2 tries to express the paradigm shift in the way the resources are configured and utilized in Web 3.0. Storage, compute, application, and network resources are all distributed while being shared. The data are stored over a storage network which itself utilizes the underlying distributed network. The distributed ledger technology (DLT) ensures the fidelity of the data while storing identical copies of the transactions over all the nodes in the network (information layer). The compute required is shared across decentralized servers, ensuring optimum utilization of the compute (compute layer). Finally, the applications built above the distributed infrastructure, referred to as DApps, utilize the underlying resources to provide seamless experience to the end users (interaction layer) [2]. The Browser Brave is a classical example of a DApp providing services similar to modern-day browsers such as Chrome and Edge. Web 3.0 is said to be based on three keywords "Open, Trustless, and Permissionless."

    Fig. 2

    Fig. 2 Web 3.0.

    Web 3.0 can be characterized by the following five characteristics [3,4]:

    •Semantic Web: Traditionally search has been based on algorithms which have been focused on keyword search, tagging, etc. The semantic web would entail the ability to think like a human. Search would be focused on understanding not just the meaning but the context too.

    •Artificial Intelligence: Web 3.0 would utilize Natural Language Processing and the search results would not just be more relevant but also delivered faster.

    •3D Graphics: This would provide a more immersive effect and graduate from just 2D images or visuals. The intent would be to provide a realistic feel to the entire experience. Advancements in virtual reality headsets are also contributing to this. Mark Zuckerberg is already talking about the metaverse.

    •Connectivity: The semantic metadata makes the data more connected and hence more accessible. Data will be connected more in the way people perceive and connect with data.

    •Ubiquity: Multiple applications will be able to access singular data rather than replicating multiple copies for each application. Data will be accessible easily both in time and space.

    Satoshi Nakamoto’s path-breaking paper in 2008 combined the three characteristics ("Open, Trustless, and Permissionless") in a single use case, the Bitcoin, and changed the way trust was established in the virtual world. It made it possible to set up a mechanism where individuals could trust and transact other over the net, without the need of a third party, which were the banks in most of the cases. For most part of this chapter, we would look and discuss the underlying technology that this anonymous individual(s) utilized to build Bitcoin and how he/they were able to establish trust in the financial transactions without the need of a third party.

    Fig. 3 summarizes the basic characteristics differentiating the different generations of the Web.

    Fig. 3

    Fig. 3 Comparison of Web 1.0, Web 2.0, and Web 3.0.

    2: Distributed ledgers (DLTs)

    2.1: All distributed ledgers are not blockchain

    The distributed ledgers are the south pole for centralized databases. Unlike the traditional paradigm, DLTs do not have a central database administrator. A distributed ledger also referred to as replicated journal technology is a consensus of replicated, shared, and synchronized data which is normally spread across multiple geographically dispersed sites (nodes). DLT ledgers are normally spread across several nodes on a peer-to-peer network, wherein identical copies of the database are replicated and kept synced. New transactions initiated by nodes are first replicated across nodes and then settled by a consensus mechanism. Once settled nodes update themselves with the approved copy of the ledger [5]. A DLT obviates the single point of failure in central databases as multiple copies of the same ledger are available across nodes, from where any node can recreate the current version in case of a crash. Typical use cases of DLT see processing of financial data, authentication, and validation of transactions similar to recording in a paper-based ledger. However, what is different is that the entire process involves use of cryptography for ensuring non-repudiation, settlement, and ensuring that the data are not tampered with. Cryptography ensures a digital lock on the DLT transactions which works like a unique signature on an authenticated document. DLTs ensure visibility of transactions to all the nodes, so any node can independently verify the transactions. This helps build trust in the mechanism.

    With the growth and large-scale adoption of the blockchains, a growing number of people are using the terms DLT and blockchain interchangeably. To the uninformed, this would make perfect sense. The critical difference is that blockchain is one implementation of distributed ledgers, even though at the surface it may sound incredibly similar. While blockchains are implemented as discrete blocks of data chained together as a sequence using hashes, DLTs typically do not need such a chain. DLTs are basically blockchains without the block and the chain [6]. DLT implementations also differ in their consensus mechanisms over blockchains. Tangle and Hashgraph (typically referred to as Directed Acyclic Graphs) are two popular implementations of DLTs gaining immense adoption. Both these implementations do not mandate that all nodes in the network are synchronized with each other 100% of the time. As the name suggests, these implementations are built around the notion of acyclicity and no assumptions are made on the time at which information reaches the nodes on the network [7].

    2.2: Tangle

    Tangle differs in the way the blocks are handled, the way the consensus mechanism works and is not incentivized for transaction settlement. Typically, consensus is replaced by a mechanism wherein initiator of any transaction is mandated to approve any two pending transactions before his initiated transaction can get approved. The effort spent in validating/approving a pending transaction can be thought of as the fee to settle the initiated transactions. By making the transaction settlement dependent on the consensus mechanism, Tangle manages to ensure that invested users ensure correctness of their validations for correct settlement of their own transactions. The validation of the random transactions can be thought as the equivalent of proof of work (PoW). This mechanism enhances efficiency and improves settlement times for transactions. This also helps enhance scalability as reduced settlement times encourage adoption for real-time applications. IOTA’s Tangle is an open, feeless, and scalable distributed ledger, designed to support frictionless data and value transfer [8]. Iota claims to be achieving speeds of up to 800 transactions per minute. Fig. 4 gives a visual depiction of the difference in sequence of transaction settlement in blockchain vs. Tangle. While blockchain implements sequential settlement, Tangle follows a more random approach and hence is able to increase settlement throughput.

    Fig. 4

    Fig. 4 Blockchain vs. Hashgraph (transaction settlement funnel).

    2.3: Hashgraphs

    Hashgraphs are another implementation of DLTs and use a different consensus mechanism referred to as "Gossip. Aligning with how humans perceive events and gossip about the same by asking questions like What, When, Where, How," nodes in the Hashgraph ask these questions for initiated transactions. Nodes are obliged to share all their information further with randomly selected multiple nodes. The receiving nodes collate information from other nodes and further add their own inputs. This information superset is then further made available to the next set of randomly selected nodes till such time all nodes are made aware of the original information. The transactions are timestamped and information from previous receivers is also passed further making the subsequent passes more informative. Hashgraph thus not only utilizes gossip but gossip about gossip to speed up transaction settlement and to ensure early consensus [7]. This consensus mechanism is referred to as "virtual voting."

    Obligatory sharing of data by nodes of the Hashgraph ensures that individual decisions are also visible to all, thereby enhancing transparency and in turn builds up trust. Most implementations of Hashgraph are by private entities with private DLT implementations. Hashgraphs have been known to be capable of settling up to 250,000 transactions per second. Hashgraphs by design are tolerant to Asynchronous Byzantine Fault [9]. What this implies is that malicious nodes will not be able to prevent or tamper with the final consensus on a transaction as long as two-thirds of the total number of nodes are legitimate. Hashgraphs have the advantage of being cheaper in implementation and efficiency as they do away with resource-intensive proof of work. However, Hashgraph suffers from limitations of being patented [9]. Hedera Hashgraph is the only authorized ledger for Hashgraph. Though Dapps can be built on top of Hashgraph, but it needs approval from Hedera. Hashgrpah natively uses HBAR as its cryptocurrency. Fig. 5 depicts visually the difference in modus operandi for transaction settlement in Hashgraph versus blockchains.

    Fig. 5

    Fig. 5 Hashgraph vs. blockchain.

    3: Blockchains

    3.1: Blockchain: Historical background

    The earliest known contribution to what we refer to as blockchain today was made by Cryptographer David Chaum in 1982 when he first proposed a protocol similar to the blockchain in his dissertation "Computer Systems Established, Maintained, and Trusted by Mutually Suspicious Groups" [10]. Stuart Haber and W. Scott Stornetta in 1991 further built on cryptographically secured chain of blocks. Their work primarily aimed to accomplish a use case where document timestamps could not be tampered with. They in 1992 further enhanced their system to incorporate Merkel trees, so as to enable collection of multiple documents in a single block [11].

    The end of the last century saw the development of many electronic currencies like the E-cash, E-gold, WebMoney, and Liberty Reserve but almost all faded into oblivion. It was however not till 2008 when Satoshi Nakamoto published his revolutionary white paper, that the floodgates for blockchain and related applications were opened. Satoshi solved the proverbial issue of trust in electronic transactions. Some say that the 2008 economic crisis was the trigger for the paper by Satoshi, when the banking system failed to secure the hard-earned money of the common man. Traditionally anything electronic was verified by a third party. The Master Cards and Visa owe their genesis to solving the problem of trust in electronic transactions and Satoshi was able to build a system which would eliminate the need of the aforesaid entities.

    3.2: What is a blockchain?

    A blockchain is an immutable, shared, programmable, time-stamped, and secure digital ledger of transactions, which is replicated and distributed across a peer-to-peer network. It consists of a set of transactions collated together in a block, and each new transaction is distributed over the network and added to each participant’s ledger. This decentralized database managed over a distributed network is also referred to as DLT. Blockchain is a type of DLT capable of recording transactions using immutable cryptographic signatures referred to as a hash.

    Immutability refers to the property of the blockchain wherein any transaction once committed cannot be altered. This is ensured by advanced cryptography and any alterations to the transactions can be easily identified. This immutability singularly is responsible for building trust without the need for a third-party validation. The distributed nature of the blockchain inherently protects the blockchain from network attacks. Transactions once floated on the blockchain network are validated through a consensus mechanism and only then are added to an existing sequential chain of hash-linked blocks. This nature of the chain gives this DLT the name blockchain. Even a single bit change in any of the linked blocks will cause the chain to be broken and will be rejected by the network. Advanced cryptology ensures that tampers to the digital hashes are easily detected and identified.

    3.3: Blockchain structure

    Most beginners end up confusing blockchain with the Bitcoin and unarguably so due to the hype around the Bitcoin. Bitcoin seemingly is a more familiar term with the general masses than blockchain. Blockchain is the underlying technology driving Bitcoin. One can think of blockchain as an equivalent of an operating system (think Windows on a computer) and Bitcoin as one of the applications running on top of it (think Microsoft Word). Though a very rudimentary comparison, but it’s the closest that one can correlate to the commonly known examples. One can visualize blockchain as a contiguous chain of blocks of data (Fig. 6). Each of the subsequent blocks is linked to each other through the hash of the previous block. If even one of the hashes of any of the subsequent block is tampered (by a malicious attack or any bit is altered by a user), then the hash link is broken, and the tamper is immediately evident. Hashing irreversibly encrypts a block’s information and produces a fixed-length output using SHA-256 (Secure Hash Algorithm 256) which is easy to validate.

    Fig. 6

    Fig. 6 Schematic representation of a blockchain.

    3.4: Blockchain transactions

    Blockchains have a finite set of steps to settle the transactions. There are six major steps (refer Fig. 7) followed for each transaction, which ensures that the transaction is immutably, securely, and transparently captured. A transaction may be initiated by an individual (peer). The requested transaction is cryptographically signed using the private key of the individual. This ensures that the data are encrypted, identifies the individual (non-repudiation), and also enables the peer nodes to decrypt the transaction details by using the public key of the initiator.

    Fig. 7

    Fig. 7 Transaction settlement and block creation in a blockchain.

    This transaction is then broadcasted over a peer-to-peer network using the various nodes in the chain. This ensures that a wide audience is aware of the transaction-enhancing transparency. The transaction block is then validated and added to a block. The nodes in the network are then intimated of the transaction, who then solve complex equations (mining) to confirm the validity of the transaction. This consensus mechanism is referred to as proof of work. Once the block is validated, it is then added to the block [12]. A number of such validated transactions add up to form a block, which is then assigned a hash, and while calculating this hash, the hash of the previous block is added as an input. With addition of more such subsequent validated blocks, the chain keeps growing and becomes more secure and harder to tamper with.

    3.5: Proof of work: Consensus

    PoW is one of the most commonly heard consensus mechanisms used in blockchains. The basic principle of this mechanism is that it enables easy verification of the tangible amount of computational effort that has been expended for a particular task such as solving complex equations. Popularized by Bitcoin miners, this consensus mechanism ensured quick validations of moderately hard calculations. The goal of PoW is to prevent double spending. The intent behind making PoW as the barometer for adding blocks to a blockchain was to ensure that anyone spending compute and resources to add/validate a block gets automatically invested in the fidelity of the chain and is given some incentive/reward (e.g., Bitcoins). This would ensure that only genuine nodes participate in the chain. There are host of other mechanisms such as proof of stake, etc. which differ in implementation, but the overall intent is to get nodes to invest resources to get them committed and invested in the chain.

    Additionally, blockchain ensures protection from tampering through its distributed architecture. In a blockchain, each node contains an identical copy of the ledger and a block once created on the blockchain’s distributed network is sent to all the users on the network. It’s obligatory on the nodes to verify a block and check for any tampering and only post that it is added to the chain. The nodes on the network thus create a consensus on whether to add a block or not. Thus, to ensure that a malicious block is accepted into the chain, one needs to tamper with all the blocks in the chain, expend compute to redo the PoW for each block, and also at the same time take more than 51% ownership/control of the blockchain network. Gathering resources to do all three activities is extremely difficult and hence the blockchain structurally protects itself against any kind of malicious attack.

    4: Types of blockchains

    Based on the use case and level of access/control, the blockchains can be broadly divided into two different categories, viz., permissioned and permissionless. Permissioned blockchains can be further categorized into three types, viz., private, consortium, and hybrid based on the level of access control [13].

    4.1: Permissionless blockchains

    Permissionless blockchains also referred to as public blockchains guarantee equal rights to all nodes of the network. It is nonrestrictive in a manner that anyone with an internet connection can connect to the chain to become an authorized node. Any node of a public blockchain has visibility of all the transactions, past and present. Thus, all transactions though anonymous are visible to all the nodes (Fig. 8). All the nodes are permitted to verify incoming transactions or carry out POW and mine. By nature, permissionless nodes tend to be relatively secure due to the involvement of a large number of participating nodes for validating the transactions but at the same time suffer from long transaction processing times due to the larger number of nodes. Presently most use cases of public blockchain revolve around mining and transacting cryptocurrencies. Bitcoin, LiteCoin, Dogecoin, and Ethereum are a few such examples.

    Fig. 8

    Fig. 8 Permissionless blockchain.

    Typically, public blockchains benefit from their public and distributed nature. Being public enhances the level of trust as it is open to scrutiny. Participants feel incentivized to ensure fidelity of the chain and to build it further. The different nodes act as a check on the other nodes. At the same time, public blockchains suffer from scalability issues as the number of nodes increase. Increased number of nodes results in increased settlement time making the chain slower. Lastly, the consensus mechanisms need a lot to be desired in terms of efficiency. PoW being used by Bitcoin is energy intensive. Though there are different mechanisms being put in place to make the public blockchains faster, but a lot still needs to be achieved in that direction.

    4.2: Permissioned blockchains

    Permissioned blockchains on the other edge of the spectrum are a closed chain with restricted permissions for the nodes. Depending upon the level of restrictions imposed, these can be further divided into private, consortium, and hybrid blockchains. Permissioned blockchains allow specific nodes to access the blockchain network and are normally implemented for specific needs by organization(s).

    A private blockchain (Fig. 9) by definition is managed and permissioned and privately owned by an organization/entity. Nodes do not have identical rights and normally a central authority determines as to who can be a node and what that node can do. Public access to these chains is restricted. The access, permissions, and control are defined and delegated by a central authority. Some of the best use cases revolve around asset management, identity management, and supply chain management. Most leading implementations are using Hyperledger, which is an umbrella project for open-source blockchains and relevant resources under the aegis of the Linux Foundation. Some of the leading financial and technological companies such as IBM, Cisco, Hitachi, Red Hat, ABM Amro, and ANZ Bank have been the early contributors or supporters of the Hyperledger project. Corda, Hyperledger Fabric, and Hyperledger Sawtooth are few examples of private blockchains.

    Fig. 9

    Fig. 9 Private blockchain.

    Private blockchains suffer from the drawback of fraud as the consensus is in the hand of a single central authority and corrupting of this authority will affect the fidelity of the transactions. It is largely difficult to build trust in a private blockchain as the final call is with the central authority.

    4.3: Consortium blockchains

    To overcome the disadvantages of a private blockchain, organizations evolved to implement a consortium blockchain (Fig. 10), which are governed by a group of organizations rather than a single node/entity. Consortium blockchains are an evolved version of private blockchains enjoying a relatively greater degree of decentralization and a consequently higher degree of security. Consensus mechanism in this type of blockchain is controlled by specific preset nodes. Consortium blockchains have two types of nodes, validators and members. Validators as the name suggests are involved not just in validating the transactions but also in initiating or receiving the transactions. The members on the other hand are restricted to initiating or receiving the transactions. Typical implementations of such blockchains are seen in banks and government organizations.

    Fig. 10

    Fig. 10 Consortium blockchain.

    Consortium blockchains provide greater flexibility and customization options. Due to limited numbers of validating nodes involved in the consensus speed and scalability, both don’t suffer. On the downside, these implementations are lot less transparent or anonymous. Well-known implementations for such type of blockchains have been created by R3 (typically for financial services) and CargoSmart (for the shipping industry). Marco Polo, Energy Web Foundation, and IBM Food Trust are two examples of consortium blockchains.

    4.4: Hybrid blockchains

    The hybrid implementation (Fig. 11) involves control by a single entity with an oversight which is public in nature. It combines the public and private blockchain features into a single implementation. Data are typically bucketed for public or private access. Selected sections/records are available for public access and scrutiny, while the rest are kept confidential and private. As an example, in a typical asset management blockchain, the details on the asset can be made public while the associated financials (cost, current value, etc.) can be made private in a hybrid implementation. Typical implementations see the verification of a transaction restricted to the private part of the blockchain but with option for public verification too. Availability to the public section causes an increased hashing and greater nodes are available for verifying the transaction. This consequently builds trust as this also improves transparency in the blockchain. XinFin’s hybrid blockchain and dragonchain are two such implementation examples of hybrid blockchains.

    Fig. 11

    Fig. 11 Hybrid blockchain.

    Hybrid blockchain implementations offer greater flexibility with option to expose just the desirable/optimum amount of data for public access. Business rules can be defined and implemented with ease. It offers greater privacy despite being connected publicly and offers good scalability while ensuring transparency. The only drawbacks are that these implementations lack any incentive for the participating public nodes and are often difficult to upgrade. Real-estate companies are amongst the best bets for hybrid implementations, wherein only relevant data can be publicly exposed. Similar implementations are also rapidly growing in the retail market.

    A synopsis of the comparison of the blockchain types is in Fig. 12. The content has been adapted from multiple websites and sources.

    Fig. 12

    Fig. 12 Public vs. consortium vs. private blockchain.

    5: Blockchain use cases

    To understand the genesis and evolution of the blockchain and its subsequent use cases, it is essential to get a little perspective. Mankind has experimented with various instruments of trust down the ages starting with stamps to punched coins to printed currencies, letters of credits, and so on and so forth with the simple intent to generate trust between the transacting parties, but invariably this trust was backed by a third party. The punched coins were backed by the might of the kings, the currencies backed by the federal reserves, and the letters of credits backed by the banks issuing them. There has rarely been a trust instrument which has been self-sufficient standing alone. Technology helped make transactions swifter and reliable, but it always needed the crutches of a third party to generate the trust in the transaction, however big or small. The MasterCards, the Visas of the world, singularly owe their existence to fill this void: TRUST. Coupled with those enumerated above, cash had its limitations in terms of local acceptability. Settlement times were often long if overseas and were dependent on a third party.

    5.1: Blockchain 1.0

    Though there were flutters here and there since the early 1990s on the use and adoption of the DLT, it was not until 2008 when the anonymous person/persons known as Satoshi Nakamoto managed to generate considerable interest in the DLT blockchain. To be honest, it was the use case Bitcoin which actually generated the interest at a massive scale in 2009. Cryptocurrencies were the talk

    Enjoying the preview?
    Page 1 of 1