1st Edition

Probabilistic Data Structures for Blockchain-Based Internet of Things Applications

By Neeraj Kumar, Arzoo Miglani Copyright 2021
    322 Pages 103 B/W Illustrations
    by CRC Press

    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.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



    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.