1st Edition
Probabilistic Data Structures for Blockchain-Based Internet of Things Applications
This book covers theory and practical knowledge of Probabilistic data structures (PDS) and Blockchain (BC) concepts. It introduces the applicability of PDS in BC to technology practitioners and explains each PDS through code snippets and illustrative examples. Further, it provides references for the applications of PDS to BC along with implementation codes in python language for various PDS so that the readers can gain confidence using hands on experience. Organized into five sections, the book covers IoT technology, fundamental concepts of BC, PDS and algorithms used to estimate membership query, cardinality, similarity and frequency, usage of PDS in BC based IoT and so forth.
I Background
1 Overview of Internet of Things
1.1 Understanding the concept of Internet of Things
1.2 Big data revolution
1.3 Understanding edge computing
2 Smart applications
2.1 Internet-of-Energy
2.2 Autonomous Vehicles
2.3 Healthcare
2.4 Smart farming
2.5 Smart education
2.6 Smart industry
2.7 Smart city
2.8 Smart farming
3 IoT challenges
3.1 Security
3.2 Data management
3.3 Privacy
3.4 Heterogeneity
3.5 Latency
3.6 Communication challenge in IoT
II Blockchain overview
4 Python Basics
4.1 Introduction
4.2 Comments
4.3 Multi-line statement
4.4 Blocks and indentation
4.5 Creating variables and assigning values
4.6 Data types
4.7 Operators
4.8 Input and output in python
4.9 List
4.10 Dictionary
4.11 Python conditions and if-else
4.12 Loops
4.13 Functions in python
4.14 Classes and objects in python
4.15 File handling in python
4.16 write() function
5 Cryptography primitives
5.1 Introduction
5.2 Encryption/Decryption process
5.3 Cryptographic hash functions
5.4 Digital signatures
5.5 Zero-knowledge proof
5.6 Hash Tables
5.7 RSA
5.8 Elliptic curve cryptography
6 Blockchain technology and technical foundations
6.1 Fundamentals of blockchain
6.2 Types of blockchain
6.3 Blockchain applications
6.4 Smart contracts
6.5 Issues with blockchain
6.6 Python implementation of blockchain
7 Verification and validation methods used by Blockchain
7.1 Consensus mechanism
7.2 Simplified Payment Verification
7.3 Block validation
7.4 Transaction validation
8 Data structures for Blockchain
8.1 Data structures for blockchain
III Probabilistic data structures: An overview
9 Introduction to probabilistic data structures
9.1 Need of probabilistic data structures
9.2 Deterministic data structures vs. probabilistic data structures
9.3 Probabilistic data structures applications
9.4 Probabilistic data structure challenges
10 Membership Query Probabilistic Data Structures
10.1 Membership query probabilistic data structures
10.2 Bloom Filter and its variants
10.3 Quotient Filter
10.4 Skip List
11 Cardinality Estimation Probabilistic Data Structures
11.1 Introduction
11.2 Linear Counting
11.3 LogLog
11.4 HyperLogLog
12 Frequency Count Query Probabilistic Data Structures
12.1 Introduction
12.2 Count-Min Sketch (CMS)
12.3 Count-sketch
12.4 Count-Min with conservative update sketch
13 Approximate Similarity Search Query Probabilistic Data Structures
13.1 Introduction
13.2 Minhashing
13.3 Locality Sensitive Hashing
IV Integration of Probabilistic Data Structures With Blockchain
14 Applicability of membership query PDS with Blockchain
14.1 Full blockchain client vs lightweight blockchain client
14.2 Bloom filter with probabilistic data structures
14.3 Integration of Quotient filter with blockchain
14.4 Integration of Skiplist with blockchain
15 Applicability of cardinality estimation PDS with Blockchain
15.1 DDoS attack in blockchain
15.2 Mempool transaction count
15.3 Interation of Linear counting, LogLog and HyperLogLog with blockchain
16 Applicability of frequency estimation PDS with Blockchain
16.1 RFID tag clonning
16.2 Understanding heavy hitters
16.3 Integration of count-min-sketch with blockchain
17 Applicability of approximate similarity search PDS with Blockchain
17.1 Approximate nearest neighbor binary search algorithm for wire- less multimedia sensor network
17.2 A Blockchain of image copyrights using locality sensitive hash- ing
Bibliography
Biography
Prof. Neeraj Kumar received his Ph.D. in CSE from Shri Mata Vaishno Devi University, Katra (Jammu and Kashmir), India in 2009, and was a postdoctoral research fellow in Coventry University, Coventry, UK. He is working as a Professor in the Department of Computer Science and Engineering, Thapar Institute of Engineering and Technology (Deemed to be University), Patiala (Pb.), India. His research areas are Network management, IoT, Big Data Analytics, Deep learning and cyber-security.
Arzoo Miglani is currently pursuing Ph.D. from Thapar Institute of Engineering & Technology (TIET), Patiala. She had worked with DIT University, Dehradun for 2 years as an assistant professor and with TIET for 1 year. She has done her ME in Information Security from TIET in 2015. She has completed her B.tech from GJU, Hisar in 2009. She is GATE qualified. Her research area includes Wireless Sensor networks and network security, blockchain and content centric networking.