Edited by Pethuru RajKavita SainiChellammal Surianarayanan
Contents
Contributors…………………………………………………………………………………………..ix
1 Distributed Computing and/or Distributed Database Systems…………..1
K. P. ARJUN, N. M. SREENARAYANAN, K. SAMPATH KUMAR, AND R. VISWANATHAN
2 Blockchain Components and Concept…………………………………………..21
M. R. MANU, NAMYA MUSTHAFA, B. BALAMURUGAN, AND RAHUL CHAUHAN
3 Blockchain and IoT Security………………………………………………………..51
D. PETER AUGUSTINE AND PETHURU RAJ
4 Consensus Algorithms – A Survey…………………………………………………65
R. INDRAKUMARI, T. POONGODI, KAVITA SAINI, AND B. BALAMURUGAN
5 Optimized Digital Transformation in Government Services with Blockchain…………………………………………………………………………79
R. SUJATHA, C. NAVANEETHAN, RAJESH KALURI, AND S. PRASANNA
6 Blockchain and Social Media……………………………………………………..101
SAUGATA DUTTA AND KAVITA SAINI
7 Assessing Security Features of Blockchain Technology………………….115
T. SUBHA
8 Merger of Artificial Intelligence and Blockchain…………………………..139
POOJA SAIGAL
9 Identification of Blockchain-Enabled Opportunities and Their Business Values: Interoperability of Blockchain …………….159
N.S. GOWRI GANESH
10 Enabling Digital Twin through Blockchain: A Strategic Perspective……………………………………………………………………………….185
RITIKA WASON, BROTO RAUTH BHARDWAJ, AND VISHAL JAIN
11 Blockchain for Securing Internet of Things (IoT) Applications……….213
PRAMOD MATHEW JACOB AND PRASANNA MANI
12 Bitcoins and Crimes …………………………………………………………………223
M. VIVEK ANAND, T. POONGODI, AND KAVITA SAINI
Index………………………………………………………………………………………………247
Distributed Computing and/or Distributed Database Systems
K. P. Arjun, N. M. Sreenarayanan, K. Sampath Kumar, and R. Viswanathan
Contents
1.1 Introduction to Computing………………………………………………………………..2
1.2 Evolution of Distributed Computing……………………………………………………3
1.2.1 Centralized Computing …………………………………………………………..3
1.2.2 Decentralized Computing………………………………………………………..3
1.2.3 Parallel Computing………………………………………………………………….4
1.3 High-Performance Distributed and Parallel Computing………………………….4
1.3.1 Parallel Computing………………………………………………………………….4
1.3.1.1 Bit-Level, Instruction-Level and Task-Level Parallel Computing………………………………………………………………..5
1.3.2 Distributed Computing……………………………………………………………5
1.3.3 Architecture of Distributed Computing………………………………………6
1.3.3.1 Physical Architecture of Distributed Computing……………..6
1.3.3.2 Software Architecture of Distributed Computing…………….8
1.4 Comparison of Distributed Computing with State of the Art…………………10
1.4.1 Distributed Computing versus Parallel Computing…………………….10
1.4.2 Distributed Database Systems………………………………………………….11
1.4.3 Traditional versus Distributed Databases…………………………………..11
1.4.4 Distributed Computing and Blockchain……………………………………12
1.5 Distributed Computing Environment of Blockchain…………………………….12
1.5.2 Distributed Computing Architecture………………………………………..13
1.5.2.1 Client–Server Architecture…………………………………………14
1.5.2.2 Peer-to-Peer Architecture……………………………………………15
1.6 Distributed Ledger in Blockchain………………………………………………………16
1.6.1 Computing Power and Breakthroughs in Cryptography………………16
1.6.2 Public and Private Blockchain…………………………………………………17
1.7 Conclusion……………………………………………………………………………………..18
References………………………………………………………………………………………………18
Introduction to Computing
Computing involves process-oriented step-by-step tasks to complete a goal-oriented computation. A goal is not a simple or single rather there may be more than one goal. Normally we can say that a goal is a complex operation that is processed using a computer. A normal computer contains hardware and software; and computing can also involve more than one computing environment in hardware like workstations, servers, clients and other intermediate nodes and software like a workstation Operating System, server operating system and other computing software. The computing in our daily life includes sending emails, playing games or making phone calls; these are different kinds of computing examples at different contextual levels. Depending on the processing speed and size, computers are categorized into different types like supercomputers, mainframes, minicomputers and microcomputers. The computing power of a device is directly proportional to its data-storing capacity.
All software is developed in a sequential way which means that before developing software to solve a large problem, we split the problem into smaller sub problems. These sub problems broken down step by step or in a flowchart are called algorithms. These algorithms are executed by the central processing unit (CPU). We can call this serial computing, as the main task is divided into a number of small instructions, then these instructions are executed one by one. But in the main, this serial communication is a huge waste of the hardware other than the CPU. The CPU is continuously taking instructions and processing those instructions. The hardware contributing to processing that specific hardware is used for that particular time only, and for the remaining time that hardware is idle.
So to overcome the deficiencies in resource utilization and improve the computing power we moved into another era of computing called parallel computing and distributed computing. The insight of distributed computing is in solving more complex and larger computational problems with the help of more than one computational system. The computational problem is divided into many tasks, each of which is executed in different computational systems that are located in different regions.
Evolution of Distributed Computing
Distributed computing [1] is concurrent processing of multiple processes at the same time. Distributed computing works on various very important concepts like multiprogramming and multitask programming. Finally distributed computing has been included in the branch of computer science and engineering since the 1970s. Since then many international conferences like the Symposium on Principles of Distributed Computing (PODC), International Symposium on Distributed Computing (DISC), etc. and international workshops like the International Workshop on Distributed Algorithms [2] on Graphs have been conducted.