Zhu2019 Book BlockchainTechnologyInInternet
Zhu2019 Book BlockchainTechnologyInInternet
Blockchain
Technology
in Internet of
Things
Blockchain Technology in Internet of Things
Liehuang Zhu • Keke Gai • Meng Li
Blockchain Technology
in Internet of Things
123
Liehuang Zhu Keke Gai
School of Computer Science and School of Computer Science and
Technology Technology
Beijing Institute of Technology Beijing Institute of Technology
Beijing, China Beijing, China
Meng Li
College of Computer Science and
Information Engineering
Hefei University of Technology
Hefei, China
This Springer imprint is published by the registered company Springer Nature Switzerland AG.
The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland
Dedication
We pay our highest respect and gratitude to the editors for their support in publishing
this book and thank all reviewers and peers for their precious advice in bettering this
book. We also thank the School of Computer Science and Technology in Beijing
Institute of Technology and all our colleagues in the lab for their support and help
in completing this book. We further appreciate our families for their unconditional
love. We still remember the holidays and vacations when we were finishing this
book while not keeping our families company.
Dr. Zhu would like to thank his wife, Fang Guan; daughter, Jie Zhu; mother,
Lingying Zeng; brothers, Liehui Zhu; and many other relatives for their continuous
love, support, trust, and encouragement throughout his life. Without them, none of
this would have happened.
Dr. Gai dedicates this work to his parents, father Jinchun Gai and mother Tianmei
Li, who have brought him up and sacrificed so much, as well as his wife, Xiaotong
Sun. He could never have done this without his parents’ and wife’s love, support,
and constant encouragement. A sincere appreciation to all Keke’s family members
for their continuous love.
Meng Li would like to thank his father, Ruxue Li, and his mother, Hui Wang, for
their endless love and care. He gives his gratitude to his doctoral supervisor and co-
supervisors, Liehuang Zhu, Zijian Zhang, and Xiaodong Lin. Finally, he is grateful
for everything he has experienced, acquired, and expected in the Beijing Institute of
Technology.
v
Foreword
This book focuses on picturing B-IoT techniques from a few perspectives, which are
architecture, key technologies, security and privacy, service models and framework,
practical use cases, etc. The main contents of this book are derived from the
most updated technical achievements or breakthroughs in the field. A number of
representative IoT service offerings will be covered by this book, such as vehicular
networks, document sharing system, and telehealth. Both theoretical and practical
contents will be involved in this book in order to assist the readers to have a
comprehensive and deep understanding of the mechanism of using blockchain for
powering up IoT systems.
This book facilitates students and learners to acquire some basic knowledge of
IoT and blockchain and supports both practitioners and scholars to find some new
insights in B-IoT systems.
vii
Preface
The authors in this book intend to express their highest and truest gratitude to all
the participants who contribute and support this work. All the supports, advice, and
encouragement made by peer experts, scholars, students, and the lab in BIT are
remarkably meaningful and invaluable for the accomplishment of this book. The
authors sincerely appreciate all the individuals and organizations who reinforce and
raise the quality of this book.
xi
Contents
xiii
xiv Contents
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
About the Authors
xvii
xviii About the Authors
This part provides audiences with a list of acronyms. The abbreviations in the list
are unified in this book. Most selected abbreviations are broadly accepted concepts
in computer science domain.
xxi
xxii Acronyms
1.1 Overview
Blockchain has been firstly introduced to public along with the emergence of
Bitcoin in 2008 [1]. It is widely known as a decentralized and tamper-resistant
ledger technique that is maintained by a group of users with specific purpose(s).
Considering the scenario of Bitcoin, such a ledger keeps records of all transactions,
e.g., financial deals [2–4], supply chain information, and copyright ownership.
After the smart contract was introduced by Ethereum, blockchain was considered
a breakthrough technical concept that fitted in a broad scope of implications and
applications [5]. We consider blockchain to be a key term throughout this book.
Meanwhile, in the era of the Internet, Internet of Things (IoT) [6] is also
enabled by a group of rapid advancements, such as mobile sensors, high-capacity
computation, and communication protocols [7–9]. The collaboration of devices are
deemed the “things” by which environmental data are sensed and gathered for the
purpose of controlling data center or service offerings. Some of the IoT applications
are represented by wireless sensor networks, vehicular networks, e-healthcare, and
cloud storage services. As an emerging technical subject, IoT is bridging up two
worlds, the physical and information worlds, by offering a great range of web-
based services [10, 11]. In this book, IoT is a main platform in which blockchain
techniques are applied.
Literarily speaking, many attempts from both academia and industry have shown
a great effort in integrating blockchain techniques with mature IoT services in
order to facilitate blockchain-enabled IoT (B-IoT) systems. An example is offering
blockchain-enabled cloud storage services [12, 13] where users’ digital files are
preserved in a cloud server [14] and the hash values of files are recorded on
the blockchain. Another example is the blockchain-enabled carpooling service, in
which passengers and drivers are matched according to their requests and their
carpooling records are stored on blockchain.
1.2 Blockchain
The concept of blockchain often comes with Bitcoin so that this book starts
introducing the concept from the scenario of Bitcoin. In the scenario, blockchain
is considered a distributed ledger, i.e., a chain of blocks, which stores transactions
by packing them into blocks in a chain. The chain links blocks with a cryptographic
hash chain, which keeps growing as long as new blocks are created and maintained.
It is a technique to enable a type of modern financial systems that tracks transac-
tions/assets without needs of the centralized party.
One of the representative characteristics of blockchain, normally speaking, is
decentralized computing with a tamper-resistant feature. The reason of having this
characteristic is that no central authority is configured in a blockchain system.
A blockchain system is maintained by communications between miners in a
distributed network. Data stored in blockchain cannot be falsified once the data are
written and stored in a block. In addition, blockchain somehow provides anonymity
in a sense where miners can choose multiple public keys to generate identities and
participate in blockchain mining. In Bitcoin, mining, e.g., proof-of-work (PoW) and
proof-of-stake (PoS), is a way of forming consensus even though an untrustworthy
network maybe adopted. A winning miner is periodically selected to create the
succeeding block. In order to encourage miners to keep mining, a few incentive
mechanisms are designed, such as Bitcoin and Ether.
Basically, blockchain systems can be categorized into three fundamental types,
involving public, consortium, and private blockchain systems. These three types
of blockchain systems are used in various implementation scenarios, depending on
network scale, miner invitation rule, and security level. In general, public blockchain
offers a pure decentralized computing environment; thus, public blockchain is exten-
sively implemented in general-purpose financial systems, e.g., Bitcoin blockchain.
It has a low requirement towards miner. Differently, private blockchain resides
within a single institution, even though it abandons a full decentralized computing
1.4 Blockchain Applications in Internet of Things 5
setting. It has been widely believed that private blockchain is a type of centralized
computing approach. Finally, consortium blockchain fits in a compact cooperation
between enterprises/organizations [17], as it positions the mechanism between
public and private blockchain systems.
Comparing with blockchain, IoT relatively is a type of mature paradigm that com-
bines a group of key components from the perspective of service offerings, namely
identification, sensing, computation, communication, services, and semantics [18].
These components are dynamically integrated into one system, where environmental
data and users’ data are shared/used [19] among five layers, from the perspective
of the functionality, including perception, network, middleware, application, and
business layers. From the architectural perspective, layers of IoT can be categorized
into three layers, which include sensor, transmission, and data processing layers.
On-demand services are delivered to users through a network-based channel. Some
service offering examples include temperature sensing, traffic monitoring, and route
navigation. Specifically, an IoT system assists service providers to achieve offerings
by adopting a few metrics, such as availability, reliability, mobility, performance,
management, scalability, interoperability, security and privacy. Various metrics are
brought by distinct requirements of IoT systems. For example, some focus on data
transmission efficiency, while some emphasize security and privacy.
Some typical IoT applications include agricultural networks, unmanned aerial
vehicle (UAV) networks, and vehicular ad hoc network (VANET). Because of the
rapid integration of things, these applications are merging together to a certain extent
due to the broad scope of the connected devices. Additionally, cloud computing
and fog computing are flexibly utilized to enhance IoT applications regarding both
system functionality and performance.
Exercises
2.1 Overview
Bitcoin [1] has attracted extensive attentions from both academia and industry,
which initiates a wave of cryptocurrency. It has been widely believed that blockchain
[20–24] is the fundamental mechanism for running Bitcoin. Essentially speaking,
blockchain technique used in Bitcoin is a public, distributed, and append-only ledger
that is maintained and governed by a group of financially motivated miners who do
not trust each other. In order to establish a trust environment, transactions (generated
by users) are validated by miners and are recorded in a chain of blocks. Blocks are
periodically created based on the consensus algorithms appended to the chain. This
application formulates a few key characteristics of blockchain, such as distributed
ledger storage, transparent operation, and tamper-resistant record.
As mentioned above, the concept of blockchain emphasizes a number of crucial
features, such as decentralization, persistency, auditability, and anonymity. These
features highlight that blockchain is running upon the decentralized and open
context, e.g., peer-to-peer (P2P) network. Blockchain makes use of cryptographic
hashes and signatures in order to guarantee both persistency and auditability. Since
users can interact with blockchain by multiple addresses (i.e., blockchain identities),
real identities/activities can remain anonymous to a certain level.
With the introduction of smart contract, blockchain has been applied or is being
applied in various applications transcending its original design purposes. A few
representative applications include vehicular networks [25, 26], food supply chain
[27], e-health [28], commercial business [29, 30], and industry [31]. The capacity
of security and privacy in blockchain also is being enhanced by integrating with
security and privacy techniques, e.g., privacy protection [32–34], secure searchable
encryption [35, 36], secure multiparty computation [37], access control [38–40], and
identity management [41] as depicted in Fig. 2.1.
Moreover, Internet of Things (IoT) [42–49] is enabled by the rapid advance-
ments in multiple technical dimensions, such as sensors, RFID (radio frequency
HYPERLEDGER
c.rda
Blockchain
Secure Secure
Privacy Searchable Multiparty Access Identity
Protection Control Management
Encryption Computation
2.2.1 Blockchain
We first introduce blockchain covering its model, user, and miner, transaction,
incentive, block, chain and height, fork, classification, and smart contract.
2.2 Technical Dimensions of Blockchain 11
Mode In this book, we define blockchain as a distributed and public ledger formed
by a chain of blocks in which transactions (Tx) between users, activities, or other
key data are recorded. As shown in Fig. 2.3, the initial block in the whole chain is
called the genesis block. Hash pointers are used to connect preceding blocks and
succeeding blocks. In public blockchain system, miners maintain blocks and ensure
the chain to keep growing as long as mining operations are in progress.
User and Miner There are two basic roles in public blockchain: users and miners.
A “user” is a person or an organization, which conducts financial transactions
12 2 Blockchain and Internet of Things
[52] with each other. Users transform their financial transactions into blockchain-
designated transactions and upload them to blockchain via sending/broadcasting
them to miners. A “miner” is a machine equipped with a blockchain software
whose main task is maintaining blockchain. Miners validate all transactions on
blockchain and compete to become a winning miner in each time period, relying on
the consensus mechanism. A winning miner packs a certain number of transactions
to create a block and appends it to the blockchain. Specifically, miners have to invest
their own resources (e.g., computational power, electricity, storage) [53] to mining
operations.
Transaction Transaction is a record describing that one party transfers currency to
another. For example, Bitcoin currency [1], Ether, is denoted by ETH. The smallest
subdenomination is satoshi and 108 satoshis is one “Bitcoin” that is denoted by
BTC. A transaction [22, 54] includes inputs and outputs. The input refers to previous
transactions through transaction hashes and the index of the transaction output.
Each output has an integer that indicates a quantity of BTCs. Each output has
a scriptPubKey stating the conditions under which that transaction output can be
redeemed. Each output stands by (in a manner of the unspent transaction output
(UTXO)) until a later input spends it. Each transaction is hashed by using the SHA-
256 algorithm; the resulting hash value is a unique transaction ID. Each transaction
is signed by its creator by using the Elliptic Curve Digital Signature Algorithm
(ECDSA) and a private key of the signer. A “Locktime” is an unsigned 4-byte
integer indicating the earliest time point a transaction can be put to blockchain.
Transaction fees can be (not compulsorily) set in each transaction in order to
increase the possibility of being selected/packed by winning miners.
Another example [55, 56], Ethereum currency (Ether) is denoted by ETH. The
smallest unit of Ether is Wei and one Ether is equal to 1018 Wei. A transaction T
consists of nonce, gasPrice, gasLimit, to, value, and v, r, s. A nonce T n is number
of transactions sent by the sender; a gasPrice T p is the amount of Wei to be paid
per unit of gas for all computational costs raised from executing the transaction; a
gasLimit T g is the number of gas that is to be used in transaction execution; a “to”
T t is an address of length 160-bit; a value T v is the amount of Wei to be transferred;
v T w, r T r, and s T s are the signatures of the transaction.
Incentive In the context of digital currency, most miners participate in mining
activities for financial purposes. For instance, there are two major sources of
incentives in Bitcoin. First, Bitcoin creates a block approximately every 10 min and
the winning miner earns BTC(s) as a reward. The reward starts with 50 in 2009
and halves every 4 years on average. The other incentive derives from earning the
transaction fee, which is the value difference between a transaction’s input and its
output.
From an adversarial perspective, when an adversary successfully maneuvers a
huge amount of computational power, a 51% attack will be launched to maliciously
manipulate the Bitcoin network in the case of the lower-level attack cost. In Bitcoin,
an attacker generally Otherwise, adversaries will temporarily follow the rule.
2.2 Technical Dimensions of Blockchain 13
Block Typically, a block consists of the “Block Header” and “Block Body.”
A Block Header [22] includes: (1) Block version: states a set of block validation
rules; (2) Block hash: a 256-bit hash value of the previous block header; (3)
Merkle root: a hash value of all the transactions in the block; (4) Timestamp:
instant timestamp as seconds; (5) nBits: a hashing target indicating the difficulty
of mining, and (6) Nonce: a 4-byte number starts with 0 and increases for every
hash calculation.
A Block Body includes a transaction counter and transactions. The transaction
counter indicates the number of transactions that a block can contain and it depends
on block size as well as size of a transaction. All the transactions are validated by
ECDSA.
Chain and Height Chain is a virtual string which links a growing set of blocks
with cryptographic hashes. As long as blockchain is up and running, the chain will
keep growing with new blocks appended in the end. Blocks in the chain are usually
addressed by their block height that is a sequence of numbers starting with 0 for the
first block, i.e., genesis block.
Fork When two or more miners concurrently create a block, these blocks will
have the same block height. This produces a “fork” in blockchain. Forking can be
classified into normal occasional forking and rare extended forking [57] as depicted
in Fig. 2.4.
standard for miners to join and its consensus mechanism covers all miners. It is
nearly impossible to control the public blockchain, while its efficiency is sacrificed
somehow in turn. Consortium blockchain is a partially centralized blockchain for
the fact that only a group of miners controls the mining process. It has a certain
invitation rule to select miners to participate which leads to a small scale of
the consensus mechanism among invited miners. The reading permission can be
public or restricted, the efficiency is quite high, but it is possible that a consortium
blockchain is tampered. Private blockchain is a centralized blockchain because only
one miner is in charge of creating new blocks. The consensus mechanism is carried
out by one party. Its reading permission is the same as the consortium blockchain,
the efficiency is also high, while it is even more likely to be manipulated and
it faces single point of failure. Other classification methods include application
(basic blockchain and specific blockchain), independence (main blockchain and
side blockchain), and hierarchy (mother blockchain and son blockchain) as listed
in Table 2.1.
What is Smart Contract? The concept of smart contract derives from the work
in 1994 [65] that used a set of rules to formalize a relationship. The main idea of
smart contract is that various types of contractual clauses (e.g., property ownership,
bonding) can be embedded in software and hardware and software while ensuring
that breaching the contract expensive for malicious breachers.
In blockchain [33], smart contracts are programmable electronic scripts that are
typically deployed on the blockchain. Each smart contract has a unique address.
A smart contract is triggered by addressing a transaction to it. Then the smart
contract self-executes on every node in the blockchain network based on specified
codes and data in the triggering transaction, independently and automatically [66].
In another words, the smart contract program logic lies within a “block” that is a
software-generated container. The “block” bonds messages pertinent to a specific
smart contract. The messages act as inputs or outputs of the smart contract.
What Can Smart Contract Do? A smart contract based blockchain supports
multi-step processes between parties who do not trust each other. The transacting
parties can review the contract code and predict its outcomes before interacting with
the smart contract; (1) have certainty of the contract execution because the code is
made public on the network; (2) have verifiability over the outcome because they
are signed.
Smart contracts can be applied in many scenarios, such as digital identity,
records, security, trade finance, derivatives, financial data recording, mortgages, land
title recording, food supply chain, auto insurance, and clinical trials. For instance,
smart contracts can offer visibility for a food supply chain at every step. IoT devices
write to a smart contract as food moves from its source to a supermarket, providing
real-time status of the entire supply chain.
A Simple Example Smart contracts are mainly adopted in the sense of general-
purpose computation. Assume that a blockchain is maintained by John, Mary, and
Kerry where digital coins of type A and B are being transferred. John deploys a
smart contract that defines: (1) a “deposit” function to deposit 5 units of X into the
smart contract; (2) a “trade” function to return 1 unit of A for every 10 units of B it
receives; (3) a “withdraw” function to withdraw all the coins in the smart contract.
The “deposit” and “withdraw” functions can be called by John or by any user on the
network according to application requirements.
Now John sends a transaction to the smart contract’s address which moves 5
units of A to the smart contract by call its “deposit” function. Next, Mary sends a
transaction to the smart contract’s address which moves 20 units of B to the smart
contract by call its “trade” function, and obtains 2 units of B in return. The above
two transactions are recorded on the blockchain. Finally, John sends a transaction
with a signature to the smart contract’s “withdraw” function. After the signature is
verified, the smart contract sends all deposits (3 units of A and 20 units of B) to
John.
Smart Contract in Ethereum Ethereum is the first Turing-complete decentralized
system and it is built for creating smart contracts. Ethereum replaces the restrictive
language in Bitcoin with a language enabling developers to write personalized
programs or autonomous agents. There are two types of nodes in Ethereum:
Ethereum virtual machine (EVM) and mining node. EVMs’ purpose is to execute
the codes in smart contracts and miners’ job is to write transactions to the Ethereum
blockchain. With Ethereum’s assistance, companies and researchers are building
multiple smart contract applications based on Ethereum, such as supply chain [67],
crowdfunding [68], and security and derivatives trading [69].
Security Issues Since smart contracts in blockchain are visible to all users, this
results in bugs and vulnerabilities that may not be fixed in time. SpankChain, an
adult entertainment platform built on Ethereum, has suffered a breach that costs
nearly $40,000 [70]. The team said, the attack was raised from a “reentrancy” bug
that was similar to the one in the hack of Distributed Autonomous Organization
(DAO) project in 2016. The attacker built a malicious contract disguising as an
ERC20 token, where the “transfer” function is called back into the payment channel
contract for several times, stealing some Ethers every time.
16 2 Blockchain and Internet of Things
Thirty-four thousand two hundred vulnerable contracts have been found through
a scan of nearly one million Ethereum smart contracts. These contracts can be
utilized to steal ETH, and freeze or even delete assets in smart contracts [71].
Some typical vulnerabilities include transaction ordering dependence, timestamp
dependence, reentrancy, forcing Ether to a contract, and DoS with block gas limit.
When writing Ethereum smart contracts, the most crucial thing to do is provide
security. Otherwise, we will suffer from huge loss.
Proof-of-Stake Proof-of-Stake (PoS) [74, 75] only needs miners to run an algo-
rithm that randomly chooses one miner to be the winning miner proportionally to
miners’ stakes. PoS is a natural alternative mechanism to PoW.
Kiayias et al. [75] proposed a blockchain protocol based on PoS and they assume
that miners can arbitrarily create accounts and make payments with their stakes
changing over time. The protocol was presented with four phases successively
improving the adversary model. For instance, in the first static phase, i.e., static
stake, an initial stake distribution was embedded in the first block including miners’
public keys {pki } and stakes {si }. An ideal function F was available to all miners
and took as input stake set S, auxiliary information ρ, and time slot sl, and output a
winning miner Mi with probability
si
pi = n . (2.1)
k=1 sk
PBFT designs three basic protocols: consistency protocol, checkpoint protocol, and
view-change protocol. A typical example of PBFT-based blockchain is Hyperledger
fabric [29].
DPOS Delegated proof-of-stake (DPOS) is similar to PoS, but the difference is
that miners elect some delegates to create and verify new blocks. By doing so, new
blocks will be confirmed more quickly. Block size and time epochs can be adjusted,
and misbehaved delegates can be voted out.
The comparison of the above four consensus mechanisms is listed in Table 2.2.
keep a list of users’ real identities, the risk of identity exposure is highly reduced.
By doing so, blockchain protects user privacy to a certain degree.
designed with a group of rules that regulate how users interact with the system, and
how data is shared. After rules are written in BigchainDB, they cannot be changed
privately unless being broadcasted to and verified by miners.
Hyperledger Fabric [29] is an open-source and distributed operating system for
permissioned blockchains and it is used in more than 400 prototypes across different
application scenarios. Hyperledger Fabric presents a novel blockchain architecture
that provides benefits such as resiliency, flexibility, scalability, and confidentiality.
It is designed with a general purpose for permissioned blockchain which supports
the implementation of distributed applications created in standard programming
languages. By doing so, Hyperledger Fabric becomes the first distributed operating
system for permissioned blockchains. It also securely records execution histories in
an append-only ledger and does not have cryptocurrency.
The architecture of Hyperledger Fabric is an execute-order-validate paradigm
and it partitions transaction flow into executing and checking a transaction; ordering
via a consensus protocol; and transaction validation according to trust assumptions.
A distributed application of Hyperledger Fabric is composed of (1) a smart contract,
named chaincode, which executes application logic in form of programming codes
and (2) an endorsement policy that servers as a static library for transaction
validation. A Hyperledger Fabric blockchain network consists of a set of nodes that
can be clients, peers, and ordering service nodes.
Belkin WeMo [87] enables people to remotely control home appliances based on
movements with a sensor plugging into an outlet. The sensor can capture movements
up to ten feet away and send a command to a WeMo switch wirelessly to turn the
appliance off or on.
Computation After data is collected, it will be analyzed by IoT devices or
managers to take corresponding actions based on specific demands. Computation
is conducted by processing units (e.g., micro-controllers, micro-processors, field
programmable gate array (FPGA)), software (e.g., TinyOS [88], Riot OS [89]), and
hardware [90] (e.g., Intel Galileo, Raspberry PI).
Except for the 1/0 decision-making as in a switch control, some typical compu-
tation functions are summary, average, median, maximum, minimum, and variance.
To complete these functions, an aggregator node [91–95] is introduced. For instance,
in-network aggregation of summary is proceeded by letting each intermediate node
send a single message containing a sum of the sensor readings of nodes in previous
transmissions. In this way, not only a summary of sensor readings can be acquired
in the end, but also saves energy costs for each node, which is important for energy-
constrained sensors.
Communication IoT communication technologies [45] connect various devices
together to provide services. Generally speaking, IoT devices are energy-
constrained [96, 97] and running in a noisy communication environment.
Communication protocols for IoT should adapt to these unique features. Some
typical communication protocols are radio frequency identification (RFID), near
field communication (NFC), Wi-Fi, Bluetooth, IEEE 802.15.4, and long-term
evolution (LTE).
Services IoT services are classified into four classes [98, 99]: identity-related
services, information aggregation services, collaborative-aware services, and ubiq-
uitous services.
• Identity-related services: provide the most fundamental services for other
services since identification is a priority when linking an object from the real
world to an entity in the virtual world.
• Information aggregation services: gather and process sensed data.
• Collaborative-aware services: use the sensed to make decisions.
• Ubiquitous services offer the third services when they are in need.
Semantics IoT semantic is an ability to acquire knowledge via various devices
to deliver services. It includes knowledge discovery, knowledge utilization, and
information model. Additionally, it includes processing data to make right decisions
in order to offer exact services. Semantic is the core of IoT by sending demands
to the right resource. A classic semantic web technologies are resource description
framework (Fig. 2.7).
22 2 Blockchain and Internet of Things
Given that IoT hash connected billions of devices and utilized many computation
and communication technologies among them, a clearly layered architecture would
be nice for understanding IoT from a high level. There is a five 5-layer model for
IoT [100], namely perception layer, network layer, middleware layer, application
layer, and business layer, as illustrated in Fig. 2.8:
• Perception Layer: is a device/object layer. It is composed of physical devices.
This layer handles device identification and data collection. The collected data is
sent to the next layer, i.e., network layer, for further data processing.
• Network Layer: is also known as “transmission layer.” It securely sends data
from devices to a data processing system in a wired or wireless way.
• Middleware Layer: consists of a variety of devices. IoT devices serve for
various services and they only communicate with the ones of the same service
description. This layer is in charge of managing services and a database. It
receives data from network layer and records them in the database. Then it
processes the data to make corresponding decisions.
• Application Layer: offers the management of applications based on processed
data in the middleware layer and delivers services requested by customers.
• Business Layer: manages the overall IoT system including applications and
services. It helps companies build business models, obtain analysis results, and
determine future strategies.
2.3 Key Issues in Internet of Things 23
When evaluating IoT systems, we can resort to some common metrics [45, 101],
which covers a few aspects, such as availability, reliability, mobility, performance
[102, 103], management, scalability, interoperability, security and privacy. Address-
ing these issues will assist IoT service providers and engineers in realizing services
more pertinently.
• Availability: Availability means service delivery for customers anywhere and
anytime at both software and hardware levels. Software availability is an ability
to deliver services for customers anywhere simultaneously. Hardware availability
is the existence of devices running software to deliver services anytime.
• Reliability: Reliability is an operation state of an IoT system. High reliabil-
ity stands for a high success rate of service delivery which is tightly close
to availability. Compared with availability, reliability is given more rigorous
requirements especially when the IoT application is related to emergency
response.
• Mobility: Mobility refers to service continuity given the fact that many IoT
services are provided to mobile devices facing service interruptions. Connecting
these devices moving at a high speed and continuously delivering corresponding
services is crucial to IoT services.
• Performance: Performance depends on software, hardware, and underlying
computation and communication technologies. Many specific aspects can be
adopted to assess the performance, such as computational cost, communication
overhead, response delay, and storage cost.
• Management: Numerous devices and applications are deployed and provided in
IoT systems which brings IoT managers some pressing issues to handle, such as
configuration, coordination, performance, malfunction, and security. Managing
IoT devices efficiently will lead to an effective growth of IoT systems, while
efficient management schemes are much preferred.
24 2 Blockchain and Internet of Things
Amazon Web Services [112] provide a set of cloud storage services for data
archiving. People have an option to choose Amazon Glacier for non-expensive data
storage, and Amazon Simple Storage Service for data storage. Thus, CC can be used
in IoT applications to perform computation tasks and alleviate computation burdens
of devices.
However, adopting CC in IoT applications is challenging because of the follow-
ing five problems:
• Delay: Since data are uploaded to a cloud server that processes the data for low-
level devices, it increases the response delay. How to provide real-time services
for users pose a challenge.
• Standardization: If two or more cloud servers are interoperated, how to achieve
standardization of data format, communication protocol, and computation syn-
ergy is also a challenge.
• Balancing: The CC environment and IoT system requirements are naturally
discordant due to infrastructure differences which is also another challenge.
• Security: Security mechanisms for CC and IoT are different and they have to
be carefully addressed before a secure combination can be achieved. Especially
when the cloud server in CC is not always trusted and it may violate users’
privacy.
• Reliability: Providing a reliable CC-IoT system is not easy for the reason that
have different devices and resources.
Fog Computing (FC) In the year of 2012, the concept of fog computing is
proposed [113]. FC is a distributed computing paradigm that utilizes devices at
network edge to perform some of the computation, storage, communication for
the cloud server in a local manner. It consists of a similar high-level cloud server,
devices (users), and a fog node. Generally speaking, there can be several fog nodes
that are deployed in a wide service area. The architecture of FC is shown in Fig. 2.10.
FC acts as a bridge between the cloud server and devices. It extends CC’s
capabilities to the network edge and processes sensed data locally using a fog node
similar to a mini-cloud server. Since fog nodes have proximity to users compared
to the cloud server, FC has the ability to provide services of quick delivery and low
delay, increasing the overall performance of IoT applications.
Specifically, FC has the following features [114, 115]:
• Geographic Distribution: The fog nodes are located in places, such as roadside,
near cellular base stations, at a point-of-interest. They are deployed in a
distributed manner to guarantee that fog nodes will collect real-time data feeds
from users.
• Location Awareness: Locations of fog nodes are known to the network manager
and cloud server. FC aims at providing location-based services for users at certain
areas via fog node. Hence, FC can be aware of users’ locations according to
locations of fog nodes.
• Low Latency: Given some capabilities of computation, storage, and communica-
tion, fog nodes are able to make decisions from local data without a cloud server.
26 2 Blockchain and Internet of Things
Moreover, the response latency is further reduced since fog nodes are close to
end users.
• Management Support: FC can support large-scale IoT applications which
previously brought heavy management overhead of device and application to
the cloud server. Considered that fog nodes can autonomously manage a set of
devices, the centralized cloud server is relieved from such a burden.
• Partial Decentralization: FC is a partial decentralized architecture in the sense
that the cloud server can be removed from managing devices and services. The
fog nodes themselves can cooperate with each other to provide services to users.
Fog-assisted IoT services [115] include real-time services (e.g., smart traffic
lights, healthcare and activity tracking, vehicular navigation), transient storage
(e.g., edge content caching, shopping cart management, software and credential
updating), data dissemination (e.g., energy consumption collection, local content
distribution, malware defense), and decentralized computation (e.g., computation
offloading, aided computation, big data analysis).
FC cannot be considered secure since it inherits many security threats from CC.
One common assumption is that fog nodes are honest-but-curious. They are built
and deployed by commercial fog manufacturers to provide services to earn profits.
On the one hand, fog nodes strictly follow the prescribed protocols. On the other
hand, they may probe into data contents. Moreover, employees of FC companies
may obtain users’ personal information. Additionally, fog nodes may become major
targets of hackers who misuse the leaked data.
2.3 Key Issues in Internet of Things 27
IoT applications include smart grid, wireless senor networks, vehicular networks,
smart home, e-healthcare, cloud storage services, agricultural networks, industrial
networks as illustrated in Fig. 2.2.
• Smart Grid: Millions of smart meters [116] are deployed in the world to collect
real-time electricity consumption [117] to power companies in smart grids [118].
The power companies can record and estimate electricity usage and demand
according to top gathered smart meter readings. For customers, smart grids can
provide them with reliable power services and flexible pricing policies.
• Wireless Sensor Network: A group of sensors for a local wireless sensor
network and periodically senses environmental data to report to a base station. A
wireless sensor network is usually deployed in an unmanned area and sometimes
severe environments. Sensors are always energy-constrained and lightweight
computation and communication protocols should be used to prolong network
lifetime.
• Vehicular Networks: A vehicular network [119] consists of user (vehicles,
pedestrians), road-side unit (RSU), and cloud server. Running vehicles and
walking pedestrians are equipped with on-board units (OBUs) and mobile
devices, respectively. They can interact with the network to share information,
such as road congestion, navigation, parking spot finding [120].
• Smart Home: Modern home appliance can establish a smart home network with
a cloud server and a controller at user end. The user is able to send control
commands to her/his appliances through the cloud server. In turn, appliances
with sensors can report working status back to the user if some preset conditions
are met, e.g., sunlight shoots onto the appliance.
• E-healthcare: Hospitals nowadays have their own database to store patients’
record, including their identity, type of illness, prescription, assigned doctor,
etc. With such a database, doctors can access patients’ treatment histories more
conveniently in order to make proper decisions in future treatment.
• Cloud Storage Services: With the development of CC, more and more users
are willing to store their files on a cloud server, so they will not have to carry a
storage device anywhere they go if they want to access her/his files. Besides, a
cloud server also provides some computation functions for users to enjoy, such
as search, sort, and deduplication.
• Agricultural Networks: Modern agricultural networks enable farmers to
remotely monitor the status of plants based on readings reported by sensors. They
can also execute agricultural operations automatically by sending commands to
on-site devices.
• Industrial Networks: Industrial networks are composed of control center and
equipment. They can communicate with each other to share the latest status of
equipment and keep the whole system running correctly.
28 2 Blockchain and Internet of Things
This book focuses on cloud storage services and vehicular networks, and will
introduce some state-of-the-art blockchain applications in these two applications
from Chaps. 4 to 8.
2.4 Summary
This chapter introduces the technical dimensions of blockchain and key issues
in IoT. Although IoT has matured to a huge and powerful system, blockchain is
still developing rapidly. Considered that people in IoT systems are more aware of
the importance of features brought by blockchain, there are still many potential
opportunities for the combination of blockchain and IoT.
Exercises
3.1 Overview
IoT systems of a high level of ubiquity and heterogeneity are confronted with
various security and privacy threats [115, 121–125]. In order to guarantee system
functionality and reach a complete acceptance of users, it is necessary to specify
security issues and privacy concerns in IoT.
The security issues mainly include confidentiality [126, 127], integrity [128],
and authentication [129, 130]. Generally speaking, confidentiality ensures that
data contents are not revealed to adversaries [131]; integrity [132] guarantees
that data packets are not tampered with during transmissions; and authentication
[133] prevents unauthorized users from accessing the system. Privacy concerns
[104, 134–136] arise from the fact that data packets transmitted from users to IoT
infrastructures may contain sensitive information (e.g., identity, location, trajectory,
report, query). Since the information is highly related to user privacy, leaking it
will expose user to attacks ranging from advertisement spams, to stocking, or even
physical injury. Therefore, privacy enforcements must be provided by IoT systems.
Many protection mechanisms have been proposed in different IoT scenarios.
These proposed mechanisms aimed at solving designated security problems, since
system requirements and security models differ for different applications. This
chapter presents main security issues and privacy concerns in IoT systems, as shown
in Fig. 3.1. Introducing the two aspects will help researchers understand security
and privacy problems in IoT systems and come up with more pertinent protection
mechanisms.
3.2.1 Confidentiality
Confidentiality, i.e., data confidentiality, means that data contents during transmis-
sions are not leaked to any adversary. Data content in IoT systems usually refers to
the plaintext content generated by a user before she/he performs any complicated
operations, such as encryptions [137, 138] and perturbations. Generally speaking,
confidentiality is protected by encryption if indistinguishability is guaranteed in
front of an adversary. In order to protect data contents from the adversary, we firstly
model the adversary and its ability. Assume that an adversary A is a probabilistic
polynomial-time (PPT) adversary [139] which can launch four types of attacks:
• Ciphertext-Only Attack: This is the lowest level attack which is considered the
most common one. In this case, the adversary only observes a communication
channel and ciphertexts in it, and tries to obtain underlying plaintexts.
• Known-Plaintext Attack (KPA): It refers to a scenario where the adversary can
acquire some pairs of plaintext/ciphertext generated under a secret key.
• Chosen-Plaintext Attack (CPA): This attack is a little bit more destructive than
the first two attacks since the adversary is able to obtain ciphertexts for self-
chosen plaintexts.
• Chosen-Ciphertext Attack (CCA): In the fourth attack, the adversary can obtain
plaintexts for self-chosen ciphertexts.
3.2 Security Issues in Internet of Things 31
Here, we introduce the third attack and the corresponding security in details, as
an example.
First, a symmetric encryption scheme consists of a message space M, an
algorithm Gen, an algorithm Enc, and an algorithm Dec:
• M is the set of valid inputs that are supported by the encryption scheme.
• Gen is a probabilistic algorithm which outputs a key k.
• Enc takes a key k and a message m as input, and outputs a ciphertext c.
• Dec takes a key k and a ciphertext c as input, and outputs a plaintext m.
A symmetric encryption scheme satisfies a requirement: for every key k output
by Gen and every message m ∈ M, it holds that
3.2.2 Integrity
Integrity, i.e., data integrity refers to the property that data contents during trans-
missions are not altered by any adversary. Generally speaking, integrity is protected
by digital signatures if existential unforgeability is guaranteed in front of a PPT
adversary.
A PPT adversary can launch three types of attacks [139] as follows:
• Random-Message Attack (RMA): The adversary cannot control messages that
are signed and it can only observe signatures generated by honest entities on
messages.
3.2 Security Issues in Internet of Things 33
• Known-Message Attack (KMA): The adversary has a limited control over what
messages are signed, which means that the adversary has to specify messages in
advance independent of the public key of the signer and following signatures.
• (Adaptive) Chosen-Message Attack (CMA): The adversary has a complete
control over what messages are signed which means that the adversary can select
messages after it observes the signer’s public key and previous signatures.
Here, we introduce the second attack and the corresponding security in detail as
an example.
First, a signature scheme consists of a message space M, an algorithm Gen,
an algorithm Sign, and an algorithm Vrfy:
• M is the set of valid inputs that are supported by the signature scheme.
• Gen is a randomized key-generation algorithm that takes security parameter n as
input. It outputs a private (signing) key sk and a public (verification) key pk.
• Sign is a signing algorithm which takes n, sk and a message m as input. It outputs
a signature σ .
• Vrfy is a verification algorithm which takes n, pk, m, and σ as input. It outputs
1 if σ is a valid signature on m under pk and 0 otherwise. A message/signature
pair (m, σ ) is valid if Vrfy(m, σ ) = 1.
A signature scheme satisfies a requirement: for all n, (sk, pk) generated by
Gen(n), m ∈ {M}, and σ generated by Signsk (m), it holds that Vrfy(m, σ ) = 1.
Second, KMA is modeled by giving an adversary A access to a signing oracle
Signsk (m) that encrypts A’s l chosen messages m1 , . . . , ml under a private key sk
that is unknown to A . When A queries Signsk (.) by giving m1 , . . . , ml , Signsk (.)
returns signatures σ1 = Signsk (m1 ), . . . , σl = Signsk (mj ).
kpa
Third, a KPA existential unforgeability experiment PubKA , is constructed as
follows:
• A pair of keys (sk, pk) is generated by Gen(n).
• A outputs l messages m1 , . . . , ml .
• l signatures σ1 = Signsk (m1 ), . . . , σl = Signsk (mj ) are calculated.
• A is given pk and σ1 , . . . , σl , and outputs (m, σ ).
• A succeeds if Vrfypk (m, σ ) = 1 and m {m1 , . . . , ml }.
Last, the formal KMA-security is defined as:
Definition 3.2 (KMA-Security) A signature scheme (Gen, Sign, Vrfy) is existen-
tially unforgeable under a KMA if for all polynomials l and all PPT adversaries A ,
A has a negligible success probability in the above experiment.
Existing Work Smart grid (SG) [144] is considered the next generation of power
grid [118, 145, 146]. It combines traditional grid with information technologies to
enable bidirectional transmission. Meanwhile, it aims to provide reliable, efficient,
sustainable, customized, and secure power generation. Smart meter (SM) is an
important component in smart grid and is a bidirectional communication device
installed in consumer’ house. It periodically collects real-time electricity consump-
34 3 Security and Privacy Issues in Internet of Things
tion and reports meter readings to an operation center via a reliable communication
network depicted in Fig. 3.3.
Meter readings are crucial to monitor information about grid operations and
status. If they are tampered with or forged by an adversary, it will lead to supply
estimation chaos for grid and financial losses for consumers. Therefore, integrity of
meter readings must be protected. Lu et al. [144] proposed an efficient and privacy-
preserving aggregation scheme. Each consumer’s meter report and the aggregation
report are signed by Boneh–Lynn–Shacham (BLS) short signature [147] which
is secure under the computational Diffie–Hellman (CDH) problem in the random
oracle model [148] Thus, integrity is guaranteed.
3.2.3 Authentication
from home. For instance, the water heater can be configured before a user gets off
work.
With the ubiquitous deployment of SHN, people are able to enjoy more modern
home services. At the same time, it comes with the importance of authentication.
Imagine the appliances can be controlled by any malicious entity without authenti-
cating the instruction sender, all the appliances will turn into a chaos.
3.3.1 Identity
Identity is the first priority of privacy protection. This is because people in the
middle of some activities are mostly concerned about whether others will know
36 3 Security and Privacy Issues in Internet of Things
who they are. These activities are sometimes sensitive, such as voting for a politician
[152], purchasing a medical insurance [153], or being in a blind date [154].
The most common way to protect identity is for users to hide their identity
and use pseudonyms [155–157] to participate in a system instead. Pseudonyms
could be randomly chosen strings or a hash value of a real identity concatenated
with a timestamp. However, the use of pseudonyms will make authentication a
challenging task because the authenticator has no clue about who the real user
is. Two methods solving this problem are pseudonym certification authority (PCA)
[155] and anonymous authentication [158].
The first one creates anonymized temporary credentials as pseudonyms to users
[155]. These credentials are used to cryptographically prove the qualification of
a user when she/he is requesting to join in a system submitted samples and the
qualification of users’ submitted data. Since a reutilization of the same credential
will help an adversary link the user, each user can obtain multiple credentials from
the PCA. The second one provides anonymity for signers in a group while being able
to revoke a signing key in case a user has misbehaved. Any signer in the group can
sign messages but the identity of the signer is kept secret. However, the pseudonym
changing strategy matters as well. For example, four vehicles are running on a
street and if only one of them chooses a new pseudonym in the next time period,
an adversary can easily record link between pseudonyms. Even though the four
vehicles can change their pseudonyms at the same time, the speed and location
embedded in transmitted messages can assist the adversary to link the pseudonyms,
thus violating their privacy. Social spots are the places where several vehicles
temporarily gather, e.g., the road intersection when the traffic light turns red or a
free parking lot near a shopping mall. If all vehicles change their pseudonyms before
leaving the spot, the first safety message that is broadcast includes indistinguishable
information Location = social spot, Velocity = 0, and unlinkable Pseudonym. Then,
the social spot acts as a natural mix zone to protect vehicles’ identities.
Therefore, Lu et al. [159] propose that vehicles change their pseudonyms at social
spots to break the link between identities and pseudonyms since a social spot is a
natural mix zone where all vehicles change pseudonyms before leaving the social
spot with indistinguishable information speed = 0 and location = socialspot.
3.3.2 Location
Location privacy protection mechanisms (LPPMs) are classified into four types.
Cloaking Cloaking offers location k-anonymity [164], i.e., a user cannot be
distinguished from other k − 1 users. It hides a user’s exact location into a wide
spatial area to protect user location privacy. The size of the area could be adjusted
according to user’s specified privacy requirement. Zhu et al. [119] presented an
anonymous smart-parking and payment scheme for vehicular networks to ease
the public parking problem via utilizing private parking spots. Specifically, they
divide the map of Beijing into a set of neighboring cells. When a cruising driver
is looking for a parking spot, they expand the driver’s location into a grid number
to protect her/his location privacy. Then the driver sends this grid number instead
of true location to a cloud server. They also mentioned that the cloaking size is an
application and experience-based value. While cloaking technique can protect users’
true locations, but it still exposes which area the user is located in so as to provide
services. Therefore, there will always be a trade-off between location privacy and
service utility.
Obfuscation Obfuscation alters users’ locations and allows LBS servers to conduct
some mathematical operations on the obfuscated locations. Ardagna et al. [302] pre-
sented several obfuscation operators to turn users’ locations into circular areas such
that LBS servers cannot identify a user’s true location. The radius and center of the
circle can be changed by the obfuscation operators. Duckham et al. [303] argue that
obfuscation degraded the service quality within a pervasive computing environment
in order to protect the privacy of the individual to whom that information refers.
They designed a formal framework to provide obfuscated location-based services
which achieved a balance between location privacy and high-quality services.
Dummy Dummy-based approaches require users to send many dummy locations
to cover her/his true location [165] and location privacy is preserved since service
providers cannot differentiate the true location. Shankar et al. [166] proposed a k-
anonymization-based scheme to privately query LBSs where a user is sending a
query as well as k − 1 sybil queries. These sybil queries include locations that are
similar to the user’s true location. Lee et al. [167] designed a dummy-based method
for route services. When a user is about to query a route from a to b, she sends
two sets A and B with a ∈ A and b ∈ B to a map server. The server calculates a
route from each location in A to each location in B and returns all routes to the user.
In order to reduce the computational costs, they designed an algorithm for the map
server to calculate shortest routes between two groups of locations.
False Locations In false location-based methods, users only send fake locations
other than a true location to a LBS server, and construct the right answers based on
the results returned by the server. The advantage of such methods is that they can be
easily integrated with existing LBSs. Yiu et al. [168] proposed a query framework
in which points-of-interest (POIs) are first retrieved from the server incrementally.
The process begins with a location different from a user’s true location and retrieved
the nearest neighbors. It ends until an accurate query result can be found. Peddinti
et al. [169] presented a location privacy protection scheme to let the user have LBS
38 3 Security and Privacy Issues in Internet of Things
without exposing her/his true location. Users do not use the true location to send a
query to a LBS server, but queries a result from some nearby locations, i.e., cover
locations. The LBS server returns corresponding results to the user who processes
locally to obtain a result related to the true location.
However, users have to continuously query the LBS servers and then obtain
enough related results to acquire accurate results which leads to a huge response
delay.
3.3.3 Trajectory
Trajectory, like users’ mobility traces, has been extensively applied in many
applications, such as route choosing [170], urban planning [171], and market
analysis [172]. Trajectory publication services make it easy for the public to acquire
real-time trajectory information and analyze travel patterns. However, users consider
where they travel from and where they are going as a part of their privacy [173],
since these trajectory data can be used to infer detailed activities and predict next
movements.
Chen et al. [174] firstly introduced a variable-length n-gram model to achieve
differential privacy [175, 176] for publishing sequential data and developed several
techniques (i.e., how to allocate privacy budget, how to choose a threshold value,
and how to enforce consistency constraints) so as to guarantee system utility. Li
et al. [177] presented a new novel trajectory data publication algorithm based on
differential privacy [178]. Specifically, they first merge close trajectories of users
and construct a new trajectory dataset. Then they iteratively generate bounded
Laplace noises. The noise generation algorithm is elaborately designed with regard
to the count constraint of each road.
Li et al. [177] aim to protect query and report privacy in participatory sensing.
Nowadays, the ubiquity of smart devices has paved the way for achieving a
large-scale sensing and enabled people to collect and share information in their
surroundings as depicted in Fig. 3.5. But users will inevitably contain sensitive
information in their data reports and queries if they participate in the sharing system.
For example, if a user continues to query a LBS server about popular restaurants
and entertainment venues within a certain region, then it is of great possibility to
infer that the user lives or works in this area. Therefore, an appealing query and
report privacy protection mechanism is needed to increase the users’ participation
and ensure the durability of the participatory sensing system.
Li et al. [179] proposed a query and report privacy-preserving scheme for users
in crowdsensing systems [180, 181]. Specifically, users (i.e., reporters and queriers)
3.4 Summary 39
first register to a trusted authority with their interested tags (e.g., gas station, ATM)
and then the trusted authority returns a pair of keys to queries and a public key with
a tag key to reporters. Then users encrypt reports or queries with a tag key, and send
the ciphertexts to a server which will match different reports and queries. Finally,
reports will be returned to corresponding queriers by the server.
3.4 Summary
This chapter discusses security issues and privacy concerns as well as their
corresponding countermeasures in IoT systems. Although existing work has been
devoted a lot into mining security problems and designing protection mechanisms,
we are facing many unexploited challenges in high-growth IoT systems. More
efforts are required to locate these challenges in time and treat them as opportunities
of building a more secure and reliable environment.
Exercises
3.1 Please explain confidentiality, integrity, and authentication. Refer to Sect. 3.2.
3.2 Say Alice and Bob are transmitting messages using a symmetric encryption
scheme, what are the four attacks that an adversary Eve can launch to break the
scheme?
40 3 Security and Privacy Issues in Internet of Things
3.3 What are the three attacks of an adversary trying to break a signature scheme?
Refer to Sect. 3.2.
3.4 What are the privacy concerns in IoT application? Refer to Sect. 3.3.
3.5 How is privacy different from security? Refer to Sect. 3.3.
3.6 How to protect user identity? Refer to Sect. 3.3.
3.7 What is the relationship between location privacy and trajectory privacy? How
to protect the two privacy? Refer to Sect. 3.3.
3.8 How do adversaries violate privacy in report and privacy? Refer to Sect. 3.3.
Part II
Blockchain in Privacy-Preserving Cloud
Data Storage Services
Chapter 4
Blockchain-Enabled Cloud Data
Preservation Services
4.1 Overview
Specifically, this chapter presents a solution of the CDP system [12], which uses
a hybrid cryptosystem to encrypt users’ cloud data to protect their privacy. Then,
it adopts different storage schemes for cloud data with different data formats. For
example, textual data can be directly stored in blockchain, and files with a large
amount of data are distributed stored in the form of sharding. Next, the concept
of proof of primitiveness of data is presented, which ensures that the data is not
tampered with and will never lost. Finally, experimental results show that the storage
costs are acceptable.
The remainder of this chapter is organized as follows: Sect. 4.2 presents the basic
techniques of cloud data preservation services. Then, the technical dimensions in
cloud data preservation services are introduced in Sect. 4.3. Section 4.5 presents
a solution of blockchain-assisted cloud data preservation services in Sect. 4.4 and
provides the use case in Sect. 4.5. Lastly, a summary is drawn in Sect. 4.6.
The essential components in cloud data preservation services include clients, data
access applications, and blockchain network which are depicted in Fig. 4.1.
A typical cloud data preservation operation flow includes the data access
program and the blockchain interaction program. The data access program has four
operations: data submission, data manipulation, data query, and data verification.
Clients upload cloud data for preservation and query the preserved cloud data. In the
blockchain interaction program, the system stores cloud data on the blockchain and
extracts the stored data back to the data access application. Cloud data is transmitted
to the blockchain network in the form of transactions. The greater the amount of
cloud data, the larger the reward for miners to receive.
Data Modification or Deletion We consider that the CDP system preserves cloud
data including diagnosis certificates and cloud records. It is possible for criminals
to deliberately modify or even delete cloud data [190, 191].
Fraud by Using False Data Cloud data could be served as a proof of rights or
judicial credentials, but how to identify the real one is crucial when there are two
pieces of different or conflicting cloud data.
4.2 Technical Dimensions in Cloud Data Preservation Services 45
Privacy Violation Adversaries can download all cloud data and make use of them
in a malicious way. For example, adversaries can know one patient’s physical
conditions from the cloud records, thereby violating their privacy [192].
• Data consistency. Clients’ cloud data need to be stored on the CDP server but
some data packets may be lost during data transmissions, and subject to malicious
tampering [193]. In order to ensure that the data submitted by the user are the
same as the data the CDP server receives, the system should guarantee data
consistency.
46 4 Blockchain-Enabled Cloud Data Preservation Services
• Anonymity. The preserved cloud data are highly related to clients’ privacy.
Cloud data must be anonymized, including the relationship between clients and
preserved cloud data.
P S has three steps: dataP rocessing(): receiving the cloud data uploaded by the
clients user and processing the data; dataP rotection(): encrypting data, and the
writeI nBlockchain(): storing the preservation on the blockchain. We describe the
three steps in Algorithms 1–3.
Algorithm 1 states the pseudo code of dataP rocessing() that processes user’s
uploaded data. The CDP system can handle two data formats: file and text. For the
first type, CDP chooses the SHA256 algorithm to calculate a hash value hashr of
the file and stores the file in randomly generated file folders. For the second type, the
text is stored in the database for a short period and a similar hash value is calculated.
Lastly, the ECC algorithm is invoked to generate a pair of asymmetric keys.
Algorithm 2 states the pseudo code of dataP rotection() that encrypts the above
processed data. The CDP system chooses the AES algorithm to create a symmetric
key Ksym in order to encrypt the unpreserved data. For a file, the content M to be
encrypted is a location index of the file index. Content M is encrypted to be C:
Algorithm 3 writeOnBlockchain()
Require: The encrypted preservation
Ensure: Hash value of blockchain transaction
1: if The identity of the user is valid then
2: Store data E in the blockchain
3: T x ← Get hash value of blockchain transaction
4: return T x
5: else
6: return Null
7: end if
Next, the stored hashr is retrieved and compared with a newly calculated hash
value hashc = SH A256 (M) of the decrypted preserved file M. If hashr is the same
as hashc , then M has not been modified, and the decrypted preservation is sent back
to the user. Otherwise, null is returned.
Algorithm 5 states the pseudo code of validateP reservedData() that receives
the data uploaded by a user and checks whether the data are the same as the
preservation. The user uploads the data U to the CDP system which calculates
a hashc = SH A256 (U ). Then, the data stored in the blockchain are retrieved
including a hash value of the original data hashr . If hashc is the same as hashr ,
then U is the same as the data preserved, and true is returned. Otherwise, false is
returned.
Algorithm 6 states the pseudo code of getChainData() that extracts and
processes data stored in the blockchain. If T x exists and it is a valid, the DPS system
retrieves the whole transaction and extracts its data. The data are recoded and parsed
into the original format, and returned. Otherwise, null is returned.
4.4 Solution 49
Algorithm 6 getChainData()
Require: The hash of blockchain transaction T x
Ensure: The parsed data
1: if T x is valid then
2: Obtain information contained in the transaction based on the hash value
3: Extract the stored data
4: Recode and parse
5: return Parsed data
6: else
7: return Null
8: end if
4.4 Solution
The data submission phase includes data submission and processing, data validation,
and data preservation.
The legal users detected can submit cloud data to the CDP system. Specifically,
the users invoke the dataP rocessing() procedure to save the data in a newly
created folder or a database according to the data type. Then they generate a hash
value hashr of the data. To prevent data loss, the CDP system splits data into files
of size 1MB and randomly distributes the files into different folders.
Based on the submitted data, a feedback of the data is generated and a hash value
is computed as a confirmation. Next, the dataP rotection() procedure is invoked.
The public-key encryption algorithm we use is elliptic curves cryptography. The
generated private key priKey will be sent to the client’s designated mailbox such
that the client can decrypt and view the private data.
The writeI nBlockchain() procedure is invoked to write the data in the
blockchain. Because the size of the available file that can be written in the
Ethereum blockchain is constrained, the contents cannot be written fully. If the
data that need to be preserved are text files, the hashr and encrypted data Ct will be
combined to E and then written in the blockchain directly.
If the data are multimedia files, the encrypted index of the data location and the
hash value hashr will be stored in the blockchain.
In this section, we evaluate the CDP system in terms of its operational costs. The
cost is measured by the total Gas and it will be incurred only when the data are
stored. The amount of Gas will be determined when an Ethereum transaction is
produced, e.g., a balance operation costs 20 Gas [194]. We conduct experiments on
a MacBook laptop with macOS 10.11, 2.2 GHz quad-core Intel Core i7 CPU, 16 GB
RAM. We implement the CDP system based on the Ethereum and geth [195]. The
total Gas amount is transformed into USD by referring to the exchange rate chart
coinbase [196] and myetherwallet [197].
A basic transaction requires 21,000 Gas. For every 100 bytes text or 10 MB file
added, it costs about 5400 Gas. Figure 4.3 shows the total operational cost. Because
the Gas cost is determined by the length of the data, the cost increases with the size
1.8
Text
Media
1.6
1.4
Operational Costs (USD)
1.2
1.0
0.8
0.6
0.4
0.2
0.0
10B/1MB 20B/2MB 50B/50MB 100B/10MB 200B/20MB 300B/30MB 500B/50MB
Data Size
Fig. 4.3 Operation cost for data preservation under different data types
52 4 Blockchain-Enabled Cloud Data Preservation Services
of the data. However, the total operational cost is still very low and even if the size
of the multimedia file is 50 MB or the number of words is 500 bytes, the total cost
is less than US$2.
4.6 Summary
The CDP scheme provides a reliable cloud data preservation solution to ensure the
primitiveness and verifiability of cloud data and preserve user’s privacy. Compared
with existing data preservation systems, a promising feature of CDP is that it
can deal with scenarios where cloud data are lost and falsified. Even if the data
are not the same as the original form, they can be retrieved and verified through
the blockchain. We also implemented the CDP system based on the Ethereum
platform. The experimental results show that the costs of preservation with the CDP
system are less than US$2, even if the size of the preserved files is 50 MB. When
the number of concurrent preservations is 400 and all files are 30 MB, the response
time of the system is not less than 1 s.
Exercises
4.1 Please give some examples for the data type in CDP services. Refer to Sect. 4.2.
4.2 What are the essential components in CDP services? Refer to Sect. 4.2.1.
4.3 What is the security model in the CDP system? Refer to Sect. 4.2.2.
4.4 What are the design goals in the CDP system? Refer to Sect. 4.2.3.
4.5 What are the main phases of the CDP system? Refer to Sect. 4.4.
4.6 Say Alice wants to transfer a file to Bob with an evidence that acknowledges
this behavior, what could they do with the help of a blockchain?
Chapter 5
Blockchain-Enabled Controllable Data
Management
5.1 Overview
The recent development in blockchain gives the credit to the huge popularity of
Bitcoin. The blockchain’s capability to offer a transparent data utilization and
sharing opportunity [198, 199] has cultivated an increasing number of blockchain-
based schemes [200–205] have been proposed. A blockchain is deemed as a reliable
platform and all transactions are recorded in blocks that are chained together via
cryptographic hashes. The growing chain makes it computationally difficult to alter
an existing block without being detected. Blockchain allows flexible access and it
could be adopted to realize privacy-preserving property, e.g., through the use of
anonymous accounts [8, 118, 206, 207]. Some cryptocurrency systems protect the
real identity of users by permitting them to register an anonymous account [208].
This chapter presents a new method [209] to address the control issue in
blockchain by proposing a blockchain-based controllable data management
(BCDM) model (Fig. 5.1). Specifically, a trusted authority (TA) node in the
network system is introduced and the voting authorization level of TA is higher
than other nodes. TA is configured with a veto power, which is delicately designed
for resisting malicious voting. In addition, the BCDM model utilizes a cloud server
to improve storage efficiency (i.e., storage-as-a-service (StaaS)). Each block stores
only metadata so as to optimize the efficiency of block construction and reduce
storage waste.
The remainder of this chapter is organized as follows: in Sect. 5.2, we present the
technical dimensions in controllable data management services. We introduce the
basic techniques of controllable data management services in Sect. 5.3. We present
an advanced solution in Sect. 5.4 and provide the use case in Sect. 5.5. Lastly, we
draw our summary in Sect. 5.6.
The BCDM system model consists of four entities: trusted authority (TA), cloud
servers (CS), blockchain system (BS), and a set of users U = {U1 , U2 , · · · , UN }
which are depicted in Fig. 5.2. We consider the possibility that some users can
request TA to revise documents D = {D1 , D2 , · · · , DM } and send other users the
revised documents nD = {nD1 , nD2 , · · · , nDS }, where each nDi ∈ nD is a new
version document. Other users participate in voting for the revised documents in the
document management system.
• Trust Authority (TA): TA is an authoritative entity in blockchain system and it
could examine the revised document to determine whether it is valid and drop it
on its own.
• Cloud Servers (CS): Cloud servers store the encrypted revised documents. It
is helpful for TA and users to check the revised documents without making the
same revision on documents.
• Blockchain System (BS): Blockchain system collects the votes from users
for revised documents to determine whether users acknowledge the revision.
There are three sub-entities, which are a system administrator SA, a set of
voting contracts, and a set of counting contracts. SA registers users and handles
5.2 Technical Dimensions in Blockchain-Based Controllable Data Management 55
Fig. 5.2 The system model of blockchain-based controllable trustworthy document management
scheme
TA is a fully trusted entity. Users can collude with each other to revise documents
in order to make documents invalid, then they vote to approve the revision such that
the invalid documents are acknowledged. Some users may behave maliciously and
they are recorded on the blockchain and reviewed by other users. Besides, external
adversaries may try to forge some legal users’ signatures so as to vote for illegal
documents.
56 5 Blockchain-Enabled Controllable Data Management
• Controllability: TA is a special node with veto power and it can monitor voting
actions A . A user who wants to modify documents D sends modified documents
nD to TA via a secure channel, then TA compares nD with the data retrieved on
the cloud by hash values dH to determine whether they are valid. Additionally,
adversaries cannot tamper with voting record vR because they cannot decrypt
the encrypted vR.
• Privacy-Preserving: Each user needs to obtain the permission P of the TA in
the blockchain system. No user can obtain other users’ real identities or vR.
• Openness and Transparency: Both modification records cR and voting records
vR are published on the blockchain for users’ convenience in order to provide
openness and transparency.
5.4 Solution
There are three phases in the BCDM scheme: system initialization, document
modification, and document management.
This phase initializes system parameters and generates key for user registrations.
1. Setup: SA chooses a security parameter λ to generate system parameters
{G1 , G2 , ê, q, P , H }, where G1 is a multiplicative group, G2 is an additive
group, q is a λ-bit prime number and the order of G1 and G2 , ê is a bilinear
pairing, P is a generator, and H is a hash function. SA generates a pair of keys
5.4 Solution 57
Gpk , Gsk , and generates keys pairs to contracts. TA generates a pair of keys. All
addresses are generated from public keys.
2. Registration: SA generates public keys Upk = Upk1 , Upk2 , · · · , UpkN
and private keys Usk = {Usk1 , Usk2 , · · · , UskN }, signature keys Usig =
{Usig1 , Usig2 , · · · , UsigN } for registering users.
If users participate in the blockchain system, they have to obtain identities and
signature keys in order to revise documents and vote for document revisions.
SA generates keys set Upk , Usk for users U. Blockchain system generates users’
addresses set UAddr based on Upk . SA and TA randomly choose number (xi u , yi u )
to create signature keys set Usig for each user. SA computes xi s = (x − xi u ) mod q
and sends (xi s , Ui ) to TA. TA computes yi s = (y − yi u ) mod q and stores yi s .
When users vote for a revision request, TA checks whether their identities are valid
by computing xi s , xi u , yi s , and yi u .
For each voter, she sends her vote H (Vi ) and a signature key Usigi to TA, TA verifies
this voter. Some detailed requirements are:
• Each user’s signature should be different from others’ signatures: xi u = xj u and
yi u = yj u , where i = j .
• Any random numbers cannot add up to be the same as x and y: xi1 u + xi2 u +
· · · + xij u = x mod q and yi1 u + yi2 u + · · · + yij u = y mod q, where j ∈ Z.
• Any random numbers cannot add up to be the same as xj u and yj u to avoid xj u
and xj u being guessed: xi1 u + xi2 u + · · · + xij u = xj u mod q and yi1 u + yi2 u +
· · · + yij u = yj u mod q, where j ∈ Z.
After TA verifies the signature keys, it computes a part of signatures (vi s , σi s ),
where vi s = yi s ∗ H (Vi ), σi s = xi s ∗ H (Vi ). Then, TA stores (UAddr and H (V )).
Voters compute full signatures by the random number xi u .
Each voter sends to voting contract a signature σi = vi s + vi u + σi s + σi u . Voting
contract verifies the signatures. vi u = yi u ∗ H (Vi ) and σi u = xi u ∗ H (Vi ). After
voters’ signatures are verified, voting contract signs voters’ signatures under private
key YA .
Voters encrypt {Vi ||YA (σi )||σi } under public key XB and sends Enc{Vi ||YA (σi )||σi }
to counting contract. Counting contract decrypts YA (σi ) under public key XA to
verify the signature. Counting contract calculates a hash value of Vi to validate
the vote. After verifying voters, counting contract records the voting information
according to H (Vi ).
If TA votes for a decision, counting contract sets the voting result R to be TA’s
vote. If TA approves a decision, blockchain system calculates the document hash
value. Otherwise, “Denied” will be the document hash value.
5.6 Summary 59
This section analyzed the cost and efficiency of the BCDM system. Cost refers to the
financial cost in the mining process and efficiency is the time of constructing blocks.
We used an Ethereum client Geth and an Ethereum Wallet running on a computer
(macOS 10.13.4, 2.3 GHz Intel Core i5, 8 GB of 2133 MHz LPDDR3). 0.018 Ether
is configured for a million gas. Table 5.1 records experiment settings regarding size
of document and number of users.
The time includes time tregister for user registration and time tvote for user votes,
and publishing transactions and hash values of modified documents. Figures 5.3,
5.4, 5.5, 5.6, 5.7, 5.8, 5.9, and 5.10 show the time costs for users in different
documents. We can observe that the cost has a positive relationship with both
number of users and size of document. The hash value of the document can be
chosen by users through smart contract, and the advantage of this approach is that
the size of the document has limited impacts on the efficiency.
From Fig. 5.11, we can see that the gas cost increases with the number of users.
This is reasonable for the increase in the computational workload. Figure 5.12 shows
that the number of the revised document is linear to the gas cost and the size of
document has a strong impact on the time cost. Figure 5.13 illustrates that the time of
packing documents by hash values is also linear to the number of revised documents.
5.6 Summary
30
20
10
0
0 10 20 30 40 50
Number of Users
setting 2
40
30
20
10
0
0 10 20 30 40 50
Number of Users
setting 3
40
30
20
10
0
0 10 20 30 40 50
Number of Users
5.6 Summary 61
30
20
10
0
0 10 20 30 40 50
Number of Users
setting 5 60
50
40
30
20
10
0
0 10 20 30 40 50 60 70 80 90 100
Number of Users
setting 6
60
50
40
30
20
10
0
0 10 20 30 40 50 60 70 80 90 100
Number of Users
62 5 Blockchain-Enabled Controllable Data Management
50
40
30
20
10
0
0 10 20 30 40 50 60 70 80 90 100
Number of Users
setting 8
60
50
40
30
20
10
0
0 10 20 30 40 50 60 70 80 90 100
Number of Users
x100000
40
Gas
30
20
10
0
0 10 20 30 40 50
Number of Users
5.6 Summary 63
x100000
packing hash values of
documents 120
100
80
Gas
60
40
20
0
0 10 20 30 40 50 60 70 80 90 100
Number of Documents
Exercises
5.1 Please name a few scenarios where data needs to be controlled. Refer to
Sect. 5.1.
5.2 What are the essential components in BCDM services? Refer to Sect. 5.2.1.
5.3 What is the security model in the BCDM system? Refer to Sect. 5.2.2.
5.4 What are the design goals in the BCDM system? Refer to Sect. 5.2.3.
64 5 Blockchain-Enabled Controllable Data Management
5.5 What are the main phases of the BCDM system? Refer to Sect. 5.4.
5.6 Say Alice, Bob, and Cathy are conducting one ongoing project from different
locations, and they have to guarantee the consistency of the project, what could
they do with the help of a blockchain?
Part III
Privacy-Preserving Blockchain Technology
in Internet of Things
Chapter 6
Blockchain-Enabled Vehicle Electricity
Transaction Services
6.1 Overview
without verifying transaction that sacrifices the reliability. The second is the
auditability. Users are encouraged to generate pseudonyms so as to protect their
real identities. This approach creates a barrier to identify malicious transactions
(Fig. 6.1).
This chapter presents a blockchain-enabled vehicle electricity transaction scheme
VET for V2G networks. Specifically, we establish a registration process to protect
the traders’ privacy while enabling payment auditing by privileged users. Then,
we create a novel type of transaction structure and a corresponding transaction
verification algorithm. Finally, we present a proof-of-concept prototype and analyze
the feasibility and effectiveness.
The remainder of this chapter is organized as follows: in Sect. 6.2, we present
the technical dimensions in vehicle electricity transaction services. We introduce a
solution of blockchain-assisted vehicle electricity transaction services in Sect. 6.3
and provide the implementation scenario in Sect. 6.4. Lastly, we draw our summary
in Sect. 6.5.
6.2 Technical Dimensions in Vehicle Electricity Transactions Services 69
The VET mechanism consists of three entities: user, registration authority (RA), and
blockchain network.
• Users. The users include EVs and charging facilities. They can be either payers
or payees. Each user is a blockchain client and is able to maintain the blockchain.
• Registration Authority. The RA is responsible for the account registration and
payment record auditing who is a blockchain client and is able to maintain the
blockchain. It also maintains a certificate pool storing all registered accounts.
• Blockchain Network. A blockchain network is the blockchain infrastructure
consisting of the communication and consensus mechanisms.
In V2G networks, there are many bidirectional interactions between EVs and
smart grids regarding electricity transmissions and payment bills. These payment
bills are uploaded to a payment platform which completes payments and shares the
records. By observing the payment records, users can provide services for other
users. For example, EV owners may ask for suggestions on choosing cost-effective
time to charge EVs. The electricity payment process in V2G networks has three
steps as depicted in Fig. 6.2.
• Bill Generation. EVs are granted an access to V2G networks by parking lot-
designated facilities and EVs provide services for smart grids through local
aggregators (LAs) [214]. EVs have three main states: charging, discharging,
and distributed discharging. An EV initiates charging and the electricity is
transferred from smart grids to the EV. After charging, the EV has to pay for
an electric bill to the smart grid. A smart grid initiates discharging when the grid
is overloaded. EVs can assist in alleviating power shortages by discharging to the
smart grid. After discharging, EVs can receive financial rewards from the smart.
An EV initiates distributed discharging when its battery capacity is lower than a
threshold.
• Payment Execution. A payment platform executes payment when receiving
electricity bills and then shares payment records to users. The payment method
has to offer a reliable transaction to guarantee that the transaction is authentic.
Meanwhile, the payment method has to support auditability to solve payment
disputes.
• Payment Record Sharing. Payment records contain transaction information
and account information. The transaction information contains total price and
unit price. The account information contains the identities of traders. EVs and
LAs can provide services based on obtained transaction information. In order
to protect user privacy, account information is anonymized. Since a privileged
user, i.e., registration authority (RA), is responsible for auditing transactions
70 6 Blockchain-Enabled Vehicle Electricity Transaction Services
and identifying malicious users, it has to know the transaction and account
information. Hence, the payment method has to protect user privacy and enable
data auditing.
6.3 Solution
Txid Txhash
Source Field Price Field Destination Field
sn_sf pre_txhash pre_sn_df signature unit price sn_df account amount
sn_sf pre_txhash pre_sn_df signature total amount sn_df account amount
... ...
Data Sharing Since the blockchain is publicly accessible, anyone who needs to
view a payment record can download the blockchain with a blockchain client.
EVs and malicious users cannot link the payment record to a specific user
because the account information in payment records are pseudonyms. The RA
can reveal all the account identities from the certificate pool, effectively auditing
payment records.
Transaction and Verification A novel type of transaction structure and a corre-
sponding verification method based on Hyperledger are designed to guarantee the
reliability of payment transactions as illustrated in Fig. 6.3. Each transaction has
a unique ID txid and a unique hash value txhash as an index of the transaction.
The content of a transaction consists of three parts: the source field, price field, and
destination field.
A verification method is proposed to detect false transactions to guarantee the
payment reliability:
• Verify whether the transaction structures meet the format requirements.
• Verify whether all accounts are legal, including input and output accounts.
• Verify whether all signatures are valid.
• Verify whether the input amount is not less than the total output amount.
A prototype of the VET mechanism is built on Hyperledger where each user has a
Laptop with an Inter 2.5 GHz 64-bit CPU, 8G RAM.
We evaluate the time costs of cryptographic operations using the Elliptic Curve
Digital Signature Algorithm on the 256-bit curve secp256k1. The average time costs
for generating a new key pair and signing a public key are approximately 3.16 ms
and 3.45 ms, respectively.
Figure 6.4 shows the computational costs in the registration process. The
computational costs of two schemes increase linearly with the number of accounts.
We require that each user chooses ten new public keys every day and conducts the
registration process every month. The frequency of such doing approximates one
of an individual EV in V2G networks. Therefore, each registration process contains
300 key pair generations and 300 signatures, which consumes about 1.9 s.
6.5 Summary 73
6.5 Summary
Exercises
6.1 What is the system model for VET services? Refer to Sect. 6.2.1.
6.2 What is the security model in the VET system? Refer to Sect. 6.2.2.
6.3 What are the design goals in the VET system? Refer to Sect. 6.2.3.
6.4 What are the main phases of the VET system? Refer to Sect. 6.3.
6.5 Say Alice is driving an electricity vehicle and she is also transacting electricity
to other vehicles through a blockchain, what data will she put on the blockchain?
Chapter 7
Blockchain-Enabled Carpooling Services
7.1 Overview
and cause increased response delay. Recently, fog computing [113] was put forth
to extend the cloud computing’s computing and communicating capabilities to the
network edge. It locally pre-processes users’ data by fog nodes to improve network
performance.
This chapter introduces a solution of the PCS protocol FICA. Specifically, we
adopt a private proximity test with location tags [223] to achieve proximity matching
and establish a secret key between a passenger and driver; we achieve destination
matching by a range query technique [224] efficiently. We also build a private
blockchain [25, 225, 226] construct by road-side units (RSUs) to store carpooling
records to guarantee data auditability [227]. We put the encrypted carpooling data on
the service provider end and store its hash value on the blockchain to reduce storage
costs. From the experimental result, we can see that the computational costs caused
by the introduction of our blockchain in an acceptable range since the blockchain
provides a capability of auditing carpooling records.
The remainder of this chapter is organized as follows: in Sect. 7.2, we present the
technical dimensions in privacy-preserving carpooling services. We introduce the
basic techniques of privacy-preserving carpooling services in Sect. 7.3.We present a
solution of blockchain-assisted privacy-preserving carpooling services in Sect. 7.4
and provide the use case in Sect. 7.5. Lastly, we draw our summary in Sect. 7.6.
The PCS system model includes driver, passenger, RSU, cloud server, and trusted
authority which are displayed in Fig. 7.1. In this chapter, we use “user” to stand for
both passenger and driver.
• Passenger: sends a carpooling request to a local RSU and waits for a carpooling
response. The carpooling response is returned to from a driver and other
passengers who share the driver’s vehicle. The passenger’s carpooling request
contains a pseudo identity, two timestamps, an embedding key, a location hash
value, an encrypted drop-off location.
• Driver: waits for carpooling requests broadcasted by local RSUs. If he sees a
matching request (i.e., the current location, the destination, the condition are
7.2 Technical Dimensions in Carpooling Services 77
matched and there are available seats) and he is willing to provide a ride to
the corresponding passenger, he will send an encrypted carpooling response to
his local RSU. The driver’s carpooling response contains a pseudo identity, an
encrypted identity, a set of location proofs, a location hash value, and a set of
encrypted drop-off locations.
• RSU: is a fog node with computation and communication capabilities. An RSU
collects passenger’s carpooling queries and drivers’ carpooling responses in a
real-time manner. Then it authenticates users as well as their locations, verifies
the integrity of their data, and matches passengers with drivers. It also uploads
encrypted carpooling data to the cloud server and maintains a private blockchain
with other RSUs. We assume that RSUs are connected to each other through
one-hop or multi-hop.
• Cloud Server: is a powerful server which collects carpooling queries and
carpooling responses from all the RSUs. It answers drivers’ traffic queries if
asked by RSUs and helps monitor traffic conditions by analyzing vehicles’
numbers and trajectories.
• Trusted Authority (TA): initializes the privacy-preserving carpooling system,
and generates system parameters and keys for the other entities. TA remains
offline for most of the time until a user complains about another user. Only
TA preserves the ability to disclose the real identify of a targeted user. This
centralized role does not conflict with the private blockchain since it is only
a system initializer and an identity tracker which stays offline after system
initialization.
78 7 Blockchain-Enabled Carpooling Services
The potential security threats in our privacy-preserving carpooling system arise from
external and internal adversaries.
We consider that the TA is totally trusted and it is not easy to compromise TA.
The cloud server and RSUs are honest-but-curious, which means that they will
look into users’ privacy such as identity and location [228]. Most of the users are
honest and they will send their carpooling data faithfully. Only a small portion of
users are malicious. For example, a passenger may perform a location cheating
attack, i.e., report a false location [229] to an RSU, to book a driver such that
the driver has to drive a long distance to pick up the passenger. A driver may
perform a location cheating attack as well. Additionally, a passenger or driver may
also conduct criminal activities [230, 231]. An external adversary eavesdrops on
the communication channels and launches impersonation attack [232], replay attack
[233], and forgery attack.
We evaluate the performance of the solution of the PCS protocol from two aspects:
security and efficiency. First, we will compare the security and privacy properties
with existing work. Specifically, we look into user authentication, location authen-
tication, data confidentiality, data integrity, user anonymity, and traceability.
• User Authentication. Before a user joins in the carpooling system, his identity
has to be authenticated. When an RSU is authenticating the user, the real identity
of this user is still kept as a secret from the system authenticator after the identity
authentication passes. The illegal users cannot impersonate a legal user so as to
participate in the system.
• Location Authentication. Before an RSU accepts the location information in a
carpooling message of some user, it has to verify whether this user is indeed at
the claimed location.
• Data Confidentiality and Integrity. The contents of all carpooling messages,
including identity, current location, destination, driver condition, and passenger
condition, should be preserved from other users, RSUs, and the cloud server. The
integrity of the contents in all carpooling messages should be guaranteed, i.e.,
they are not falsified in transmission by any entity.
• User Anonymity. When submitting carpooling requests and responses to the
carpooling system, the identities of the users must be protected. It is difficult for
any entity to differentiate two carpooling messages, i.e., tell if they come from
the same user.
• Traceability. The TA reserves the capability to disclose the real identity of a
targeted user in case a dispute happens. We claim that the centralized role of TA
7.3 Basic Techniques of Carpooling Services 79
A private proximity test with location tags [223] helps us authenticate a user’s
location and determine whether two users are in close proximity to each other.
Basically, when a user wants to know if he has friends in his proximity, he can
send a proximity test request message and location proof with time and location
requirements to a server. The server will look for appropriate users. A responding
user will also send a location proof to the server and prove that he is at the location
he claims to by collecting environment signals to generating location tags according
to the request. Then the server, i.e., location authenticator and user matcher, could
check if they are close enough by verifying their location proof. Specifically, it
contains two steps:
• Location-Based Handshake. User Alex sends to the cloud server a request
REQA including a filtering function ϕ, a location tag filtering function φ, two
time-points t1 and t2 , and a hash function H . When seeing REQA , the cloud
server searches for candidates based on ϕ and broadcasts a synchronization
message SY N. After receiving SY N , each candidate collects some environment
signals and generates a location tag. Alex inserts observations into a Bloom filter
[234]. Alex computes a RSA secret and a RSA public keys, and embeds the
latter into the location tag. Alex sends the embedded message EMBA to the
cloud server. The cloud server broadcasts EMBAlex . A candidate Betty in Alex’s
proximity can recover pkA correctly.
• Private Proximity Test. Alex defines a vicinity region and inserts each grid
number into a Bloom filter and sends a proximity test request P ROAlex to the
cloud server. Betty encrypts her identity with pkA to form eidBetty , broadcasts
it, and collects eid from others. Then Betty sends a response RSPBetty to the
cloud server. The cloud server filters candidates for Alex using Bloom and sends
remaining eid to Alex. Alex decrypts the eid to get the matched candidate’s
identity and retrieves her public key from a trusted certificate authority.
• Node Randomization: the data owner and the data user previously share
o secrets k1 , . . . , ko . For each prefix pr in a tree node on pbt, the
data owner computes H MAC(k1 , pr), . . . , H MAC(ko , pr), and computes
H MAC(r, H MAC(k1 , pr)), . . . , H MAC(r, H MAC(ko , pr)), where r is a
random number, and inserts them into a Bloom filter. Lastly, the data owner
sends pbt as well as encrypted data to a data center.
• Trapdoor Computation: given a query range [lb, rb] with z prefixes
pr1 , . . . , prz in MS([lb, rb]), the data user computes t hashes for each prefix.
The trapdoor for [lb, rb] is a matrix M[lb,rb] of z · t hashes. Lastly, the data user
sends M[lb,rb] to the data center.
• Query Process: given a range query trapdoor M[lb,rb] , the data center searches
the pbt and checks whether there is a row j in M[lb,rb] such that the result of
querying (r, H MAC(ki , prj )) in the Bloom filter is 1.
For the past 6 years, fog computing [113, 235] has been advancing since CISCO first
proposed this concept in 2011 [113], which allows billions of connected devices and
users in IoT to achieve local communication and local computation at the network
edge. Fog computing can reduce the number of data packets transmitted between
users and a remote cloud server since users do not have to communicate with the
cloud server when there is a local fog node which is considered as a mini-server.
Meanwhile, the original communication overhead will decrease the service quality
and user experience. It is worth noticing that the utilization of fog nodes can assist
the cloud server in completing some computation tasks for local user to a great
extent.
The architecture of fog computing is shown in Fig. 7.2. We can observe that the
cloud is still in a centralized entity and it is surrounded by several fogs. Each fog is
responsible for collecting data from users in its coverage area. After processing user
data, each fog returns corresponding results to users and cloud.
7.4 Solution
After receiving an encrypted carpooling request {pidPi , REQi , Certi , σi }, the local
RSU I DR̂ first checks the validity of Certi and σi . If either of them fails, it discards
the query or broadcasts a synchronization message:
When receiving {pidDj , RESj , Certj , σj } from a driver Dj , the local RSU I DR̂
checks the validity of Certj and σj . If they pass verification, I DR̂ will match the
driver with passengers:
• One-to-many proximity matching: I DR̂ hashes H (g(Dj ||pkj )) into B̂i2 and
checks whether the result is 1. Assume resi is the set of remaining eids with
query result 1 from querying B̂i2 .
7.4 Solution 85
• Get-off location matching: I DR̂ hashes H M A Cj into B̂i3 and checks the
result. Then I DR̂ sorts resi .
Next, I DR̂ returns {resi }I DR̂ to Pi . Pi decrypts every eid by computing
pidDj ||skjcom = Dec(eid, ski ). Finally, Pi can communicate with Dj under the
encryption and decryption of the secret key skjcom for future communications, such
as where to pick up, and where to drop-off.
When Pi and a matched driver Dj start a carpooling trip, they send two confirma-
tions {I DR̂ , pidPi , pidDj , eidj }i and {I DR̂ , pidDj , pidPi , eidj }j to I DR̂ . I DR̂
returns to Pi and Dj an authentication token tokij = Sig(xI DR̂ , pidPi ||pidDj ||tij 1 ).
This token is designed for further communication with a new RSU after the ride is
done.
After Pi arrives at the drop-off location, Pi pays Dj with mobile payment or
cash. Pi encrypted i, loci , goi , fair payij , and tij 2 under Yi to get
, go , pay , and t
and calculates a hash value H (Ei ). Dj encrypted j , locij i ij ij 2 with
Yj to obtain
and calculates a hash value H (Ej ). Pi and Dj exchange H (Ei ) and H (Ej ) so as
to generate signatures σi = Sig(xi , R̂|| pidPi || Yi || H (Ei )|| pidDj || Yj || H (Ej ))
and σj = Sig(xj , R̂|| pidPi || Yi || H (Ei )|| pidDj || Yj || H (Ej )). Finally, Pi and Dj
send their carpooling records, encrypted carpooling data, and tokens to a different
RSU in the drop-off region.
When receiving a carpooling record
• A genesis block is B0 which contains an empty block header, {I Di }R i=1 , {Yi }i=1 ,
R
stakes {sti }R
i=1 , and a signature computed by the cloud server. All RSUs records
a blockchain B = B0 .
• In each tsi , every RSU verifies the validity of each received carpooling record
R. An RSU Li is selected to pack a new block and its winning probability pi
is proportional to its current stake. All RSUs run F(·) which takes RSUs’ public
keys, stakes, probabilities, and timestamp as inputs, and outputs an RSU I DŴ ∈
{I D1 , I D2 , . . . , I DR }.
• The winning RSU I DŴ packs a new block Btsi which includes a block header,
RSUs’ updated stakes, N carpooling records, and a signature.
Then I DŴ adds this newly packed block to B and broadcasts it. The blockchain
construction is depicted in Fig. 7.4.
Some Discussions
• PoW [237] is not considered in selecting a winning RSU since it requires too
much energy consumption and time for miners during conducting extensive hash
functions. We choose PoW to reach group consensus because we can use the
number of carpooling records as the stake of an RSU.
• The TA is not contradictory to the blockchain design for three reasons. First, the
decentration feature of blockchain indicates that the data is stored in a distributed
ledger maintained by distributed miners. Second, the task of TA is to register
users and RSUs, and then disclose a targeted entity’s real identity if needed which
is not relevant to the ledger. Third, the TA stays offline after system initialization.
After the passenger arrives at the drop-off location, Pi pays the driver by mobile
payment or cash. If a user wants to get out of the carpooling requesting or
responding process, he can send a cancellation message to the local RSU to remove
his request or response from the RSU’s processing list.
If a user complains about another user with pidPi and Certi with enough evidence
(e.g., video, photo), the TA computes can recover the real identity of driver i through
looking up its tracking list. If a matched user is found, TA will punish this targeted
user according to the company rules.
We initiate a scenario in which an RSU manages data from at most 1000 passengers
and 1000 drivers. Then we count the number of the cryptographic operations of each
entity. For example, it costs around 31.4 ms for a passenger to generate a carpooling
query and it costs about 32 ms for a driver to generate a carpooling response.
We compare the computational cost of FICA with existing schemes: AMA [240]
and three sub-schemes DAP-DAD, DAP-ORD, and DAP-EAD in [228]. The results
in Figs. 7.5 and 7.6 show that FICA has better performance than other schemes in
carpooling requesting and carpooling responding.
88 7 Blockchain-Enabled Carpooling Services
700
FICA
AMA
600 DAP-DAD
DAP-ORD
Computational Costs (s)
500 DAP-EAD
ORide
400
300
200
100
0
0 100 200 300 400 500 600 700 800 900 1000
Number of passengers
900
PEC
800 AMA
DAP-DAD
700 DAP-ORD
Computational Costs (s)
DAP-EAD
600 ORide
500
400
300
200
100
0
0 100 200 300 400 500 600 700 800 900 1000
Number of drivers
FICA
1400
AMA
Communication Overhead (kbytes)
DAP-DAD
1200
DAP-ORD
DAP-EAD
1000 ORide
800
600
400
200
0
0 100 200 300 400 500 600 700 800 900 1000
Number of passengers
FICA
1400
Cmmunication Overhead (kbytes) AMA
DAP-DAD
1200
DAP-ORD
DAP-EAD
1000 ORide
800
600
400
200
0
0 100 200 300 400 500 600 700 800 900 1000
Number of drivers
7.6 Summary
FICA is secure under a security model where the RSUs and the cloud server are
honest-but-curious, and a part of users might be malicious and launch false location
attacks. With our delicate design, FICA protects user privacy in a conditional way.
Anonymous authentication, private proximity test with location tags, and range
query are used to achieve our goals. In addition, we built a blockchain to record all
the hashes of carpooling records in a verifiable way and provide data auditability. In
the future work, compromised RSUs will be considered. An efficient and privacy-
preserving carpooling scheme will be proposed.
Exercises
7.1 What are the essential components in carpooling services? Refer to Sect. 7.2.1.
7.2 What is the security model in the PCS system? Refer to Sect. 7.2.2.
7.3 What are the design goals in the PCS system? Refer to Sect. 7.2.3.
7.4 What are the main phases of the PCS system? Refer to Sect. 7.4.
7.5 How to achieve anonymous authentication? Refer to Sect. 7.4.
7.6 Summary 91
8.1 Overview
Ride-hailing services (RHSs) [241, 242] have been developing in the past decade,
given the proliferation of sharing economy and the increasing connectivity. RHSs
are now serving users (including riders and drivers) worldwide every day [243].
RHSs enable users to upload their ride requests and responses to an RHS platform,
and then establish rides through mobile applications. At the same time, edge
computing [113, 235, 244] is deployed in vehicular networks to realize real-time
services, e.g., monitoring surface conditions [119, 245]. Service providers (SPs),
such as Uber [246] and Didi [247], operate on their own datasets [248] which will
result in data isolation shown in Fig. 8.1. For example, a Didi1 rider is now looking
for a Didi driver for 20 min, while there are no available Didi drivers nearby. For
Didi rider, this situation causes a waste of time and a bad user experience. At this
very moment, it is great if an available driver from another SP takes this Didi rider.
This chapter advocates that SPs can collaborate with each other and establish
collaborative rides by sharing user data [249]. Generally speaking, users’ ride data
are handled within their own platforms in the first place and then users have the
options to establish a collaborative ride if they are waiting for a long time before
being assigned a driver or picking up a rider. The collaborative rides have several
benefits: a rider saves waiting time; a driver takes more ride orders; and the two SPs
involved in each collaborative ride gain more business profits.
Although there are many benefits from collaborative rides, we face some vital
security and privacy problems [115] for the fact that users’ privacy (e.g., identity and
1 Didiis a ride-sharing technology conglomerate that is located in Beijing, China. It offers riding
services including taxi hailing and private car hailing to millions of users through a smartphone
application.
[254] can be used here. All collaborative SPs co-establish the CoB and RSUs co-
maintain the CoB. A CoB is a blockchain run by certain parties and it protects
transactions among users who do not put their trust fully in others [254]. The CoB
has been deployed in secure searchable encryption [35] and vehicular networks [26].
Moreover, we also need to consider fairness and efficiency. Fairness guarantees
that riders will obtain correct matching results in collaborative ride requesting,
drivers will receive corresponding fairs after collaborative rides, and SPs can charge
a certain amount of service fees from drivers. Efficiency is another system metric
and here we focus on how to match rides with drivers and how to maintain the
CoB in an efficient way. This chapter introduces CRide: a privacy-preserving
collaborative ride-hailing service. Specifically, the private proximity test [223] is
used to authenticate users’ locations, the privacy-preserving query processing [255]
is leveraged to support driver screening and destination matching. A CoB among
different SPs is constructed to keep track of collaborative rides and deploy RSUs
to match riders and drivers and use proof-of-stake (PoS) [75] to achieve group
consensus. Last, we build a prototype.
The remainder of this chapter is organized as follows: in Sect. 8.2, we present
the technical dimensions in privacy-preserving ride-hailing services. Then, we intro-
duce the basic techniques of privacy-preserving ride-hailing services in Sect. 8.3.We
present a solution of blockchain-assisted privacy-preserving ride-hailing services in
Sect. 8.4 and provide the use case in Sect. 8.5. Lastly, we draw our summary in
Sect. 8.6.
The PRHS system model includes riders, drivers, RSUs, SPs, and a certificate
authority CA. Driver, rider, and RSU are denoted by D, R, RS.
CA is responsible for generating keys and choosing a signature scheme and
two encryption schemes. It keeps offline after system setup. Each SP is running an
RHS platform and it also collaborates with each other to form a collaborative RHS
system. SPs create keys for user matching and fare payment. They collect users’
ride requests and ride responses through distributed RSUs, construct a consortium
blockchain CoB, and charge service fees from drivers. By working together, SPs can
96 8 Blockchain-Enabled Ride-Hailing Services
reveal a targeted user’s real identity. Every RSU gathers local ride requests and ride
responses, matches riders with drivers as a CoB miner, sends encrypted collaborative
ride data to SPs, and uploads ride transactions onto the CoB. A rider registers to the
CA and a SP, puts some money on CoB, uploads a ride request to an RSU, and
pays a ride fare to a driver. A driver registers to the CA and a SP, responds to a ride
request, and receives a ride fare from a rider.
• Security. The proposed scheme has to provide data confidentiality, data integrity,
anonymous authentication, and location authentication.
• Privacy. (1) Anonymity: the identity and location of any user should be protected
from SPs, RSUs, and other users during a collaborative ride. (2) Unlinkability:
any two requests and responses from the same user should not be linked together.
(3) Traceability: any SP should not be able to know the real identity of any user
unless all SPs reveal it together. (4) Transaction privacy: the payer, payee, and
transferred amount of any transaction should be protected from SPs, RSUs, and
other irrelevant users.
• Auditability. All the SPs can keep a shared ledger and the collaborative ride
transaction in this ledger can be verified by permissioned parties.
• Fairness. It guarantees that a rider will be matched with an appropriate driver, a
driver will receive a ride fare after a collaborative ride, and the SPs will charge a
service fee from their drivers.
• Efficiency. Computational costs and communication overhead should be as low
as possible during all phases, such as ride requesting, ride responding, and user
matching.
8.3 Basic Techniques of Ride-Hailing Services 97
8.4 Solution
(10||i), build CPOUR for NP statement POUR, sample a proving key pkPOUR
and a verifying key vkPOUR [251], establish decentralized payment scheme
Π DAP := (CreateAdd, Save, Pour, Redeem), and generate SmCo := (Verify,
Hail, Match). SPs set par4 := (H2 , PRFadd sn pk
x (i), PRFx (i), PRFx (i), pkPOUR ,
vkPOUR , SmCo).
8.4 Solution 99
skREnc
i
). Ri buys several tokens from SPz as ride fares.
Similarly, a driver Dj registers to the CA and a SP, and obtains (SKDj , akDj ,
pk
{E }Enc (Dj ||SKDj ), σDCA
j
sk ).
, addDj , addD j
SPs deploy RSUs by allowing them to participate in the collaborative RHS
system and match users. Each RSU RSm has addRSsk := (s sk , sk Enc ), an address
m RSm RSm
pk pk Sig
public key addRSm := (sRSm , pkRS
Enc ), and a public signing key pair (sk
m RSm ,
Sig
pkRSm ).
A rider Ri from SPz is hailing a collaborative ride in the coverage area of a local
RSU RSm . First, Ri saves two coins c1 , c2 of amount v1 , v2 at RSm as a prepaid
fare. Ri randomly samples a PRFsn seed τ , two trapdoors tr1 , tr2 , and calculates
pk
cm1 := Comtr1 (sRi ||τ ), cm2 := Comtr2 (v1 ||cm1 ), where Com is a commitment
pk
scheme [251]. Ri sets c1 := (addRi , v1 , τ, tr1 , tr2 , cm2 ) and a save transaction
Dep
txRi 1 := (cm2 , v1 , cm1 , tr2 , time). (8.1)
skRi , pkRi ∈ {0, 1}len , embeds pkRi into BRi 1 : EnRi = Encode(f, len, pkRi ),
and calculates SRi = EnRi −BRi 1 . Ri changes the current location locRi into G RRi ,
and inserts grid numbers into BRi 2 := Ins(h(G RRi ||pkRi ), BRi 2 ).
Third, Ri encrypts S KRi and rB under pkRi and gets ERi = E Enc
(pkRi , S KRi || rB ). For conditions which are not real numbers, Ri transforms
it to a keyword by and gets a set of condition keywords WRi [255]. For each
keyword wj , Ri transforms it into f twins BR i 1 := Ins(h (wj ), BR i 1 ). For every
BRi 1 [hi (wj )], Ri sets BR i 1 [hi (wj )][H (hK+1 (hi (wj )) ⊕rB )] = 1 and BR i 1 [1 −
hi (wj )][H (hK+1 (hi (wj )) ⊕ rB )] = 0. For real grid number grRi , Ri calculates
its prefix family, transforms it into a keyword, and calculates a similar BR i 2 .
Next, Ri builds an IBTree TRi using BR i 1 and BR i 2 . Rj now obtains an encrypted
collaborative ride data packet P aRi = E Enc’ (SKRi , locRi ||WRi ||grRi ||time).
Last, Ri generates a collaborative ride request
calculates CRi := {Y || V1 || V2 || h̃|| s̃1 || s̃2 || s̃3 } and σRi on ReqRi [159], and sends
(pidRi , ReqRi , CRi , σRi ) a local RSU RSm . The main phases of CRide are depicted
in Fig. 8.2.
When receiving ReqRi , the local RSU RSm verifies CRi , σRi [159], and cm2 . RSm
sets cm := Comtr2 (v1 ||cm1 ) and accepts txRi 1 if cm := cm2 , otherwise drops it.
Dep
(8.4)
When the rider arrives at the drop-off location, the rider Ri pays a fare to a matched
driver Dj by dividing previously saved two coins c1 , c2 to two new coins: the first
coin is for a refund and the second coin is for the driver.
Then Ri generates (sk Sig , pk Sig ), calculates hSig = H2 (pk Sig ), h1 =
PRF sk (hSig ), h2 = PRF sk (hSig ), sets −→
pk pk
x := (root, sn1 , sn2 , cmnew new
12 , cm22 , 0,
sR 1 sR
i i2
h , h1 , h2 ), −
Sig →
a := (path1 , path2 , c1 , c2 , addRski 1 , addRski 2 , cnew new
1 , c2 ), calculates
102 8 Blockchain-Enabled Ride-Hailing Services
a proof π for −
→x , sets M := (−
→
x , π, C1 , C2 ), calculates σ = S Sig (sk Sig , M), sets
a pour transaction
txPou
Ri := (root, sn1 , sn2 , cm1,2 , cm2,2 , 0, inf o, pk
new new Sig
, h1 , h2 , π, C1 , C2 , σ, time).
(8.5)
If a user files a complaint against a targeted user i with pidi and Ci , SPs
recover u, v from secret shares, and calculate V2u /V1v = r̂iu · V ur0 /U1vr0 =
r̂iu · g1uvr0 /g1uvr0 = r̂iu , and recover the encrypted identity of i in their tracking list.
If an item is found at SPz , SPz first requests other SPs to decrypt {E }Enc (i||SKi )
to get i||SKi = {D}Enc ({E }Enc (i||SKi )), and recover the collaborative ride data
(time||loci ||Wi ||gri ) = D Enc’ (E Enc’ (SKi , P ai )). Finally, SPs add the targeted user
in a co-shared blacklist.
A prototype of CRide is built and then evaluated regarding its computational costs
and communication overhead.
A rider Ri first sends two coins, two deposit transactions to CP and TP and
the bit length is 0.61 kilobyte (KB). Then, Ri uploads 0.90 KB of a pseudo-id, a
ride request, an anonymous certificate, and a signature to an RSU. Last, Ri sends
1.02 KB of two new coins and a pour transaction to CP and TP. The detailed
communication overhead is shown in Table 8.2.
8.6 Summary
This paper proposed that different RHS platforms could collaborate with each
and establish collaborative rides in order to provide more ride-hailing services for
user. We proposed a privacy-preserving collaborative ride-hailing service CRide.
Specifically, we use private proximity test, privacy-preserving query processing to
protect users’ privacy and we construct a consortium blockchain among different
RHS platforms to record collaborative rides. CRide can protect user privacy in
collaborative rides and achieve anonymous payment between riders and drivers.
Experimental analysis demonstrates the performance of CRide.
Exercises
8.1 What are the essential components in ride-hailing services? Refer to Sect. 8.2.1.
8.2 What is the security model in the PRHS system? Refer to Sect. 8.2.2.
8.3 What are the design goals in the PRHS system? Refer to Sect. 8.2.3.
8.4 What are the main phases of the PRHS system? Refer to Sect. 8.4.
8.5 How to achieve conjunctive query processing? Refer to Sect. 8.4.
8.6 How to achieve anonymous payment? Refer to Sect. 8.4.
8.6 Summary 105
8.7 How to construct a blockchain in the PRHS system? Refer to Sect. 8.4.
8.8 How to track a malicious user in the PRHS system? Refer to Sect. 8.4.
8.9 Say Alice is hailing a ride through a blockchain. Alice is a patient who sees a
dentist every month. What is her privacy concerns in ride hailing?
Part IV
Future Research Directions and
Discussions
Chapter 9
Exploring Topics in Blockchain-Enabled
Internet of Things
9.1 Overview
Given the distinguishing features mentioned earlier, blockchain has taken the world
by storm in the last decade [258] for its ability to innovate existing applications,
especially IoT application. A blockchain-enabled IoT application can establish a
distributed and tamper-resistant ledger, audit previous transactions, and provide
partial anonymity. Although blockchain has been identified as a key platform-
enabling technology and it is embracing a peak of development, more research
efforts must be put into building future blockchain-enabled IoT application systems.
First, a further integration of blockchain with existing IoT systems is on the way.
Despite the fact that blockchain has already shown great influences after merging
with IoT systems, there are still potentials for blockchain in (possibly new) IoT
systems. Next, managing trust roots in blockchain’s consensus mechanism. It is
twofold in IoT scenarios. The first one is how to trust other users or at least consider
them as rational players in the system. The other one is trust of data and it refers to
the authenticity of each uploaded data from various users. Then, providing efficient
and high-capacity data storage remains a challenging issue since blockchain only
has a limited storage space and resorting to an external cloud server will incur new
efficiency and security issues. Furthermore, enabling data analysis is a promising
feature for blockchain-enabled IoT with amazing advances in machine learning
[259–266] and data science [267] in an era of big data [268–274]. There is a
huge opportunity to leverage cognitive capabilities into blockchain-enabled IoT
systems in order to make them more intelligent. Last but not the least enhancing
data security and user privacy is another difficult task. Classic security protection is
modern, but cryptographic primitives may be too complicated and time-consuming
for blockchain. A new privacy standard, i.e., differential privacy [175] can be
considered here.
Trust [276, 277] is an intrinsic issue in blockchain and it focuses on how to reach an
agreement in a decentralized network. Several consensus mechanisms are proposed
to solve this problem. However, it does not address the trust towards miner (i.e.,
miner authentication) or the trust towards data (i.e., data utility).
Trust Towards Miner The first trust issue only exists in public blockchain, since
consortium and private blockchains have a stringent requirement for participation
approval. In public blockchain, anyone can register to the blockchain network
without using any identifiable information and become a legal miner. Since many
blockchain applications are enforced with additional functions to provide services,
e.g., Permacoin [278] and Filecoin [279], users are concerned about who are
performing the underlying computation and whether they are trustworthy?
A simple solution is to keep records of all miners or leverage conditional privacy
[280] to anonymously authenticate miners, but this is utterly contradictory to the
decentralized characteristics of blockchain. One way of easing the above concern
is to divert attention from miners to their data: as long as their data are usable and
reliable, people may not dwell on the trust towards miner. Based on this assumption,
mechanisms aiming at keep the miners rational can be designed. Here, being rational
signifies that miners will follow blockchain rules and work towards a common good.
Besides, penalty is an auxiliary method for misbehavior.
Trust Towards Data The second trust issue refers to the authenticity and utility of
each uploaded data from various users. One common problem of blockchain is the
transactions on blockchain are only a proof of existence with integrity checked, and
they do not guarantee that the information contained in the transactions is authentic
or useful [280].
Town Crier [281] strengthens the importance of trustworthy data feeds by
proposing an authenticated data feed system which bridges a blockchain network
with a trusted hardware to retrieve source-authenticated data from HTTPS-enabled
websites to relying smart contracts. Unfortunately, this kind of approach is only
effective if the server is trusted and the data from the server is authentic, which do
not solve the problem fundamentally bottom.
A feasible solution is to introduce truth discovery [282] (TD) into blockchain-
enabled IoT systems. Truth discovery is about seeking reliable information and
distilling the truth from a set of noisy data collected from different data reporters.
When combining TD with blockchain, we can iteratively assign different weights
to miners based on the quality of their computation results, which is analogous to
stakes, and then calculate a truth from the weighted average of all miners’ data until
the truth converges.
112 9 Exploring Topics in Blockchain-Enabled Internet of Things
Originally, blockchain is not designed for storage digital files, but business solutions
favor data sharing to a great degree. These digital files are of large size and various
types, and their amount is growing exponentially over time. Since most blockchain
systems utilize a key-value data model with limited storage space, bandwidth, and
transaction throughput, novel methods and approaches are called for supporting
multiple types of data and large digital files.
First of all, it is only a matter of time for blockchain to support multiple types
of data to store as a further integration of blockchain with IoT systems continues.
Because data types vary with different IoT systems, this will urge blockchain to
achieve a high level of compatibility during integration.
Intuitively, it is infeasible to store large files directly on blockchain. One possible
solution [258] is to first store a large file in a cloud server and then put its hash
and index on blockchain for quick verification and retrieval. However, this solution
requires a compact combination of blockchain and cloud server. Another solution is
to data slicing, i.e., slit a large file into pieces and store them on blockchain. This
solution has two technical aspects: how to slice a file in order to restore it later
and how to store it in a distributed blockchain network while guaranteeing storage
efficiency.
Blockchain is basically a transaction pool and the transactions are mainly related to
financial activities [283]. If data analysis [16, 284–288] is enabled on blockchain,
more internal patterns [289] can be acquired in IoT systems, such as electricity
consumption trend estimation in smart grid, road condition monitoring in vehicular
networks, and accident prevention in industrial networks.
One way to achieve this goal is to make use of a machine learning algorithm
[290] or a processing system (e.g., MapReduce [291]) running on blockchain data
directly. Users can implement programs to browse blockchain data and obtain a
result. If data analysis is integrated with mining process at miner end, it will be
more intriguing to see what blockchain can be transformed into. On the other hand,
blockchain data are usually encrypted or perturbed to protect confidentiality, thereby
presenting a challenging task for data analysis upon these processed data.
Apart from the abovementioned patterns, there are also some sensitive IoT
systems, such as military and food supply chain. Data analysis would be even more
critical to these blockchain-enabled IoT systems.
9.2 Future Research Directions 113
Blockchain-enabled IoT systems involve many confidential and sensitive data, such
as financial deals, treatment records, smart meter readings, which needs security and
privacy protection mechanisms.
Security Other than focusing on confidentiality, integrity, and authentication, the
study of access control [292] in blockchain is well worth efforts since many IoT
systems address the data access control problem. A user submits an access request
to an authorization entity in the form of a GetAccess transaction [293] and the entity
broadcasts the transaction and checks it according to access policies. If granted, the
transaction and the access history will be recorded on blockchain and the user can
access desired resources. Here, a consortium blockchain or private blockchain can
remove the verification part since all miners are mutually trusted and invited into
the blockchain network.
Given that transactions are broadcasted in blockchain networks, anyone can
receive a piece of desired information in an oblivious way by downloading and
screening all transactions. This feature is particularly suitable for secret commu-
nication. Meanwhile, to protect confidentiality, data are usually encrypted which
makes the data processing difficult on smart contracts [65].
Another promising security research topic is security analysis and enhancement
on smart contracts. Such contract is an automatically executed program running on
blockchain, and vulnerabilities [294] have been found on them constantly which can
cause a massive financial damage.
Privacy Privacy protection mechanisms stem from the awareness of users’ privacy
[302–304, 310] concerns. Especially, in finance involved blockchain networks, e.g.,
Bitcoin and Ethereum, a lot of work have been conducted to protect transaction
privacy to some extent. Still, there are not perfectly designed (e.g., identity privacy
are still facing linking attacks and locations are not well protected if the service
providers collect users’ data continuously) and more efforts need to be done before
privacy is further protect from de-anonymization attacks. Some new cryptographic
techniques, including succinct non-interactive zero-knowledge proof (zk-SNARK),
have been used in blockchain to support efficient privacy protection. Blockchain-
enabled IoT systems can use this dynamic combination as reference as well.
Blockchain data are likely to be analyzed in other platforms and data owners
should be able to request blockchain to remove their data from being put into data
analysis, especially when the date is sensitive. But this is not possible to guarantee
since blockchain records are immutable and kept forever. Some work mentioned
redactable blockchain [295], but this violates the essence of blockchain.
114 9 Exploring Topics in Blockchain-Enabled Internet of Things
9.3 Summary
Exercises
9.1 How to further integrate blockchain with IoT applications? Refer to Sect. 9.2.1.
9.2 What causes the trust issue in blockchain-enabled IoT systems? How to address
this issue? Refer to Sect. 9.2.2.
9.3 If an efficient and high-capacity data storage system can be built atop
blockchain, how will you design it? Refer to Sect. 9.2.3.
9.4 Since a huge amount of transactions are stored on blockchain, is it possible to
conduct some data analytics based on the data in transactions? Refer to
Sect. 9.2.4.
9.5 How to enhance security and privacy with the help of blockchain? Refer to
Sect. 9.2.5.
9.6 Say Alice is designing a new blockchain for her transportation company,
what issues other than efficiency and security should she address before
the implementation?
Appendix A
Setup for a Local Ethereum Platform
17. The generation of a Bitcoin block and an Ethereum block usually takes
and , respectively. (2 points)
18. 18. will be used in executing a transaction in Ethereum. (1 point)
19. Name four items in an Ethereum block: , ,
, and . (4 points)
20. In a transaction, the total value of inputs should the total value
of outputs.
21. What is the difference between soft fork and hard fork? (5 points)
22. What are the strategies of relaying transactions in Bitcoin blockchain? (5
points)
23. What is an uncle block? What are the benefits of introducing uncle blocks? (5
points)
24. What are the basic components in vehicular networks? And what are pertinent
security and privacy issues? (5 points)
25. How to store data with IoT blockchain and what are the side effects? (5 points)
26. How to choose consensus algorithms for different IoT applications? (5 points)
27. Please give two examples for each classification of blockchain and explain how
does blockchain fit in these scenarios. (10 points)
28. What are the principles of combining blockchain with IoT applications? (10
points)
29. What are the common techniques to protect security in IoT? (10 points)
30. What is privacy? And please give three examples in IoT and how to protect
them. (10 points)
Appendix C
Project 1: Blockchain for Supply Chain
Now consider an application that needs to monitor details of all the food in a supply
chain with a shared, trustworthy, secure record. Please design a blockchain-enabled
supply chain system. Specific requirements are as follows:
• Including entities: food sources, transporters, factories, retailers, and customers.
• What needs to be recorded: the status of food, the location and flow of
food, sender and receiver of food flow, the environmental conditions of food
preservation and transportation.
• Designing a blockchain: construct a proper blockchain for the supply chain
system.
• Protecting security and privacy: name a few security and privacy aspects
that need to be protected, explain why, and enforce corresponding protection
methods.
• Guaranteeing efficiency: achieve light-weight operations and blockchain mainte-
nance for all entities in supply chain.
Now consider a group of collaborative companies that need to share and record
trade information (e.g., tea, liquor) among them in an internal ledger. Please design
a blockchain-enabled data sharing system. Specific requirements are as follows:
• Including entities: three companies.
• What needs to be recorded: the type of data, timestamp of each transaction,
sender and receiver of each transaction.
• Designing a blockchain: construct a proper blockchain for the data sharing
system.
• Protecting security and privacy: name a few security and privacy aspects
that need to be protected, explain why, and enforce corresponding protection
methods.
• Guaranteeing efficiency: achieve light-weight operations and blockchain mainte-
nance for the three companies.
15. K. Gai, M. Qiu, L.-C. Chen, M. Liu, Electronic health record error prevention approach using
ontology in big data, in IEEE 17th International Conference on High Performance Computing
and Communications (HPCC) (IEEE, Piscataway, 2015), pp. 752–757
16. K. Gai, M. Qiu, S. Jayaraman, L. Tao, Ontology-based knowledge representation for secure
self-diagnosis in patient-centered teleheath with cloud systems, in 2015 IEEE 2nd Interna-
tional Conference on Cyber Security and Cloud Computing (CSCloud) (IEEE, Piscataway,
2015), pp. 98–103
17. K. Thakur, M.L. Ali, K. Gai, M. Qiu, Information security policy for e-commerce in
Saudi Arabia, in IEEE 2nd International Conference on Big Data Security on Cloud
(BigDataSecurity) (IEEE, Piscataway, 2016), pp. 187–190
18. M. Sette, L. Tao, K. Gai, N. Jiang, A semantic approach to intelligent and personal tutoring
system, in 2016 IEEE 3rd International Conference on Cyber Security and Cloud Computing
(CSCloud) (IEEE, Piscataway, 2016), pp. 261–266
19. L. Qiu, K. Gai, M. Qiu, Optimal big data sharing approach for tele-health in cloud computing,
in IEEE International Conference on Smart Cloud (SmartCloud) (IEEE, Piscataway, 2016),
pp. 184–189
20. J. Bonneau, A. Miller, J. Clark, A. Narayanan, J.A. Kroll, E.W. Felten, SoK: research
perspectives and challenges for bitcoin and cryptocurrencies, in Proceedings of the IEEE
Symposium on Security and Privacy (S&P) (2015), pp. 104–121
21. A. Narayanan, J. Bonneau, E. Felten, A. Miller, S. Goldfeder, Bitcoin and cryptocur-
rency technologies. Available: http://www.freetechbooks.com/bitcoin-and-cryptocurrency-
technologies-t938.html (2016), pp. 1–308
22. Z. Zhang, S. Xie, H. Dai, X. Chen, H. Wang, Blockchain challenges and opportunities: a
survey. Int. J. Web Grid Serv. 14(4), 352 (2017)
23. M.E. Peck, Blockchains how they work and why they’ll change the world (2017).
Available: https://spectrum.ieee.org/computing/networks/blockchains-how-they-work-and-
why-theyll-change-the-world
24. T.T.A. Dinh, R. Liu, M. Zhang, G. Chen, B.C. Ooi, J. Wang, Untangling blockchain a data
processing view of blockchain systems. IEEE Trans. Knowl. Data Eng. 30(7), 1366–1385
(2018)
25. M. Li, L. Zhu, X. Lin, Efficient and privacy-preserving carpooling using blockchain-assisted
vehicular fog computing. IEEE Internet Things J. PP(99), 1–13 (2018)
26. Z. Yang, K. Yang, L. Lei, K. Zheng, V.M. Leung, Blockchain-based decentralized trust
management in vehicular networks. IEEE Internet Things J. 6(2), 1495–1505 (2019)
27. D. Tse, B. Zhang, Y. Yang, C. Cheng, H. Mu, Blockchain application in food supply
information security, in Proceedings of the IEEE International Conference on Industrial
Engineering and Engineering Management (IEEM) (2017), pp. 1357–1360
28. Q. Xia, E.B. Sifah, K.O. Asamoah, J. Gao, X. Du, M. Guizani, MeDShare: trust-less medical
data sharing among cloud service providers via blockchain. IEEE Access 5, 14757–14767
(2017)
29. E. Androulaki et al., Hyperledger fabric: a distributed operating system for permissioned
blockchains, in Proceedings of the 13th European Conference on Computer Systems
(EuroSys) (2018), pp. 1–15
30. Corda (2019). Available: http://www.corda.net
31. Z. Li, J. Kang, R. Yu, D. Ye, Q. Deng, Y. Zhang, Consortium blockchain for secure energy
trading in industrial Internet of Things. IEEE Trans. Ind. Inf. (TII) 14(8), 1690–1700 (2018)
32. C. Garman, M. Green, I. Miers, Accountable privacy for decentralized anonymous payments,
in International Conference on Financial Cryptography & Data Security (FC) (2016),
pp. 1–28
33. A. Kosba, A. Miller, E. Shi, Z. Wen, C. Papamanthou, Hawk: the blockchain model of
cryptography and privacy-preserving smart contracts, in Proceedings of the IEEE 37th
Symposium on Security and Privacy (S&P) (2016), pp. 839–858
34. A. Dorri, M. Steger, S.S. Kanhere, R. Jurdak, BlockChain: a distributed solution to automotive
security and privacy. IEEE Commun. Mag. 15(12), 119–125 (2017)
References 131
35. S. Hu, C. Cai, Q. Wang, C. Wang, X. Luo, K. Ren, Searching an encrypted cloud meets
blockchain: a decentralized, reliable and fair realization, in Proceedings of the 37th IEEE
Conference on Computer Communications (INFOCOM) (2018), pp. 1–9
36. K. Gai, M. Qiu, H. Zhao, J. Xiong, Privacy-aware adaptive data encryption strategy of big
data in cloud computing, in 2016 IEEE 3rd International Conference on Cyber Security and
Cloud Computing (CSCloud) (IEEE, Piscataway, 2016), pp. 273–278
37. M. Andrychowicz, S. Dziembowski, D. Malinowski, Ł. Mazurek, Secure multiparty compu-
tations on bitcoin, in 2014 IEEE Symposium on Security and Privacy (2014), pp. 443–458
38. A. Ouaddah, A.A. Elkalam, A.A. Ouahman, FairAccess: a new blockchain-based access
control framework for the Internet of Things. Secur. Commun. Netw. 9(18), 5943–5964
(2017)
39. L. Ma, L. Tao, Y. Zhong, K. Gai, RuleSN: research and application of social network
access control model, in IEEE 2nd International Conference on Big Data Security on Cloud
(BigDataSecurity) (IEEE, Piscataway, 2016), pp. 418–423
40. L. Ma, L. Tao, K. Gai, Y. Zhong, A novel social network access control model using logical
authorization language in cloud computing. Concurrency Comput Pract. Experience 29(14),
e3893 (2017)
41. S. Azouvi, M. Al-Bassam, S. Meiklejohn, Who am I? Secure identity registration on
distributed ledgers, in International Workshop on Data Privacy Management (2017),
pp. 373–389
42. L. Atzori, A. Iera, G. Morabito, The Internet of Things: a survey. Comput. Netw. 54(15),
2787–2805 (2010)
43. J. Gubbi, R. Buyya, S. Marusic, M. Palaniswami, Internet of Things (IoT): a vision,
architectural elements, and future directions. Futur. Gener. Comput. Syst. 29(7), 1645–1660
(2013)
44. E. Borgia, The Internet of Things vision: key features, applications and open issues. Comput.
Commun. 54, 1–31 (2014)
45. A. Al-Fuqaha, M. Guizani, M. Mohammadi, M. Aledhari, M. Ayyash, Internet of Things: a
survey on enabling technologies, protocols, and applications. IEEE Commun. Surv. Tutorials
17(4), 2347–2376 (2015)
46. K. Gai, M. Qiu, H. Zhao, L. Tao, Z. Zong, Dynamic energy-aware cloudlet-based mobile
cloud computing model for green computing. J. Netw. Comput. Appl. 59, 46–54 (2016)
47. K. Gai, S. Li, Towards cloud computing: a literature review on cloud computing and its
development trends, in 2012 Fourth International Conference on Multimedia Information
Networking and Security (MINES) (IEEE, Piscataway, 2012), pp. 142–146
48. K. Gai, M. Qiu, Z. Ming, H. Zhao, L. Qiu, Spoofing-jamming attack strategy using optimal
power distributions in wireless smart grid networks. IEEE Trans. Smart Grid 8(5), 2431–2439
(2017)
49. K. Gai, J. Pan, Human resource management: a case study of the air traffic controller strike
in 1981. China Manag. Informatization 12(15), 61–65 (2009)
50. K. Gai, M. Qiu, H. Zhao, W. Dai, Privacy-preserving adaptive multi-channel communications
under timing constraints, in IEEE International Conference on Smart Cloud (SmartCloud)
(IEEE, Piscataway, 2016), pp. 190–195
51. K. Gai, M. Qiu, H. Zhao, L. Qiu, Smart energy-aware data allocation for heterogeneous
memory, in IEEE 18th International Conference on High Performance Computing and
Communications (HPCC) (IEEE, Piscataway, 2016), pp. 136–143
52. K. Gai, A report about suggestions on developing e-learning in China, in 2010 International
Conference on E-Business and E-Government (ICEE) (IEEE, Piscataway, 2010), pp. 609–613
53. K. Gai, M. Qiu, H. Zhao, X. Sun, Resource management in sustainable cyber-physical
systems using heterogeneous cloud computing. IEEE Trans. Sustain. Comput. 3(2), 60–72
(2018)
54. Transactions (2019). Available: https://bitcoin.org/en/developer-guide#transactions
55. Ethereum (2019). Available: https://www.ethereum.org
132 References
56. Ethereum: a secure decentralised generalised transaction ledger byzantium version 69351d5
(2018). Available: https://ethereum.github.io/yellowpaper/paper.pdf
57. Block Height and Forking (2019). Available: https://bitcoin.org/en/developer-guide#block-
height-and-forking
58. Multichain (2019). Available: https://www.multichain.com/
59. eosio - The most powerful infrastructure for decentralized applications (2019). Available:
https://eos.io
60. BTM Blockchain (2019). Available: https://www.blockchaintmhub.io
61. GXChain - rebuild credit society with blockchain designed to build a trusted data internet of
value (2019). Available: https://www.gxb.io/en
62. A free and lightning fast peer-to-peer transactional network for digital assets (2019).
Available: https://mixin.one
63. Adaptable blockchain for enterprise solutions (2019). Available: https://nuls.io
64. Commercial blockchain platform anti-counterfeiting traceability application pioneer (2019).
Available: https://www.inchain.org
65. N. Szabo, Formalizing and securing relationships on public networks. First Monday 2(9)
(1997)
66. K. Christidis, M. Devetsikiotis, Blockchains and smart contracts for the Internet of Things.
IEEE Access 4, 2292–2303 (2016)
67. Empower my supply chain. Skuchain. Available: http://www.skuchain.com
68. Koinify Raises $1 Million for Smart Corporation Crowdfunding Platform. Available: https://
www.coindesk.com/koinify-1-million-smart-corporation-crowdfunding
69. A.K.R. Dermody, O. Slama, Counterparty announcement. Available: https://bitcointalk.org/
index.php?topic=395761.0
70. SpankChain loses $40K in hack due to smart contract bug. Available: https://www.coindesk.
com/spankchain-loses-40k-in-hack-due-to-smart-contract-bug
71. Researchers find 34,200 vulnerable ethereum smart contracts. Available: https://www.
bleepingcomputer.com/news/cryptocurrency/researchers-find-34-200-vulnerable-ethereum-
smart-contracts
72. L. Lamport, R. Shostak, M. Pease, The byzantine generals problem. ACM Trans. Program.
Lang. Syst. 4(3), 382–401 (1982)
73. Primecoin: a new type cryptocurrency which is Proof-of-Work based on searching for prime
numbers (2019). http://primecoin.io
74. I. Bentov, C. Lee, A. Mizrahi, M. Rosenfeld, Proof of activity: extending bitcoin’s proof of
work via proof of stake [extended abstract]. ACM SIGMETRICS Perform. Eval. Rev. 42(3),
34–37 (2014)
75. A. Kiayias, A. Russell, B. David, R. Oliynykov, Ouroboros: a provably secure proof-of-stake
blockchain protocol, in International Cryptology Conference (2017), pp. 357–388
76. V. Zamfir, Introducing Casper “the Friendly Ghost” (2015). Available: https://blog.ethereum.
org/2015/08/01/introducing-casper-friendly-ghost
77. M. Castro, B. Liskov, Practical Byzantine fault tolerance, in Proceedings of the 3rd Sympo-
sium on Operating Systems Design and Implementation (1999), pp. 1–14
78. B. Curran, What is Practical Byzantine Fault Tolerance? Complete Beginner’s Guide (2018).
Available: https://blockonomi.com/practical-byzantine-fault-tolerance
79. BITSHARE BLOCKCHAIN (2019). Available: https://bitshares.org
80. F. Tian, An agri-food supply chain traceability system for China based on RFID & blockchain
technology, in Proceedings of the 13th International Conference on Service Systems and
Service Management (ICSSSM) (2016), pp. 1–6
81. Fresh duck eggs found to contain Sudan Red in Fujian (2006). Available: http://www.china.
org.cn/english/health/189567.htm
82. Horsemeat scandal: the essential guide (2013). Available: https://www.theguardian.com/uk/
2013/feb/15/horsemeat-scandal-the-essential-guide
References 133
83. A supply chain traceability system for food safety based on HACCP, blockchain & Internet of
Things, in Proceedings of the 14th International Conference on Service Systems and Service
Management (ICSSSM) (2017), pp. 1–6
84. I. Allison, Meet BigchainDB - ‘the scalable blockchain database’ hitting one million
writes per second (2016). Available: https://www.ibtimes.co.uk/meet-bigchaindb-scalable-
blockchain-database-hitting-one-million-writes-per-second-1544918
85. H. Yin, K. Gai, An empirical study on preprocessing high-dimensional class-imbalanced data
for classification, in IEEE 17th International Conference on High Performance Computing
and Communications (HPCC) (IEEE, Piscataway, 2015), pp. 1314–1319
86. N. Koshizuka, K. Sakamura, Ubiquitous ID: standards for ubiquitous computing and the
Internet of Things. IEEE Pervasive Comput. 9(4), 98–101 (2010)
87. Belkin (2019). Available: https://www.belkin.com/us/Products/smarthome-iot/c/wemo
88. P. Levis, S. Madden, J. Polastre, R. Szewczyk, K. Whitehouse, A. Woo, D. Gay, J. Hill, M.
Welsh, E. Brewer, D. Culler, TinyOS: an operating system for sensor networks, in Ambient
Intelligence (Springer, Berlin, 2005), pp. 115–148
89. E. Baccelli, O. Hahm, M. Günes, M. Wählisch, T.C. Schmidt, RIOT OS: towards an OS for
the Internet of Things, in Proceedings of the IEEE Conference on Computer Communications
(INFOCOM) Workshops (2013), pp. 79–80
90. Y. Li, K. Gai, M. Qiu, W. Dai, M. Liu, Adaptive human detection approach using FPGA-based
parallel architecture in reconfigurable hardware. Concurrency Comput. Pract. Experience
29(14), e3923 (2017)
91. H. Chan, A. Perrig, D. Song, Secure hierarchical in-network aggregation for sensor networks,
in ACM Conference on Computer and Communications Security (CCS) (2006), pp. 1–10
92. L. Zhu, M. Li, DoS-resilient secure data aggregation in wireless sensor networks, in Poster of
the17th ACM Annual International Conference on Mobile Computing and Networking (ACM
MobiCom) (2011), pp. 1–2
93. An energy efficient and integrity-preserving aggregation protocol in wireless sensor networks,
in Proceedings of the IEEE International Performance Computing and Communications
Conference (IPCCC), December 2011, pp. 1–6
94. L. Zhu, Z. Yang, M. Li, D. Liu, An efficient data aggregation protocol concentrated on data
integrity in wireless sensor networks. Int. J. Distrib. Sens. Netw. 2013(7), 1–9 (2013)
95. L. Zhu, Z. Yang, M. Wang, M. Li, ID list forwarding free confidentiality preserving data
aggregation for wireless sensor networks. Int. J. Distrib. Sens. Netw. 2013(241261), 59–72
(2014)
96. K. Gai, M. Qiu, H. Zhao, M. Liu, Energy-aware optimal task assignment for mobile
heterogeneous embedded systems in cloud computing, in 2016 IEEE 3rd International
Conference on Cyber Security and Cloud Computing (CSCloud) (IEEE, Piscataway, 2016),
pp. 198–203
97. M. Qiu, D. Cao, H. Su, K. Gai, Data transfer minimization for financial derivative pricing
using Monte Carlo simulation with GPU in 5G, Int. J. Commun. Syst. 29(16), 2364–2374
(2016)
98. X. Xing, J. Wang, M. Li, Services and key technologies of the Internet of Things. ZTE
Commun. 2, 1–11 (2010)
99. M. Gigli, S. Koo, Internet of Things: services and applications categorization. Adv. Internet
Things 1(2), 27–31 (2011)
100. R. Khan, S.U. Khan, R. Zaheer, S. Khan, Future Internet: the Internet of Things architecture,
possible applications and key challenges, in Proceedings of the 10th International Conference
on Frontiers of Information Technology (2012), pp. 257–260
101. M. Qiu, Z. Ming, J. Li, K. Gai, Z. Zong, Phase-change memory optimization for green cloud
genetic algorithm. IEEE Trans. Comput. 64(12), 3528–3540 (2015)
102. H. Zhao, M. Chen, M. Qiu, K. Gai, M. Liu, A novel pre-cache schema for high performance
android system. Futur. Gener. Comput. Syst. 56, 766–772 (2016)
134 References
103. H. Zhao, M. Qiu, K. Gai, J. Li, X. He, Maintainable mobile model using pre-cache technology
for high performance android system, in 2015 IEEE 2nd International Conference on Cyber
Security and Cloud Computing (CSCloud) (IEEE, Piscataway, 2015), pp. 175–180
104. K. Gai, M. Qiu, H. Zhao, Cost-aware multimedia data allocation for heterogeneous memory
using genetic algorithm in cloud computing. IEEE Trans. Cloud Comput. (2016)
105. Y. Li, K. Gai, L. Qiu, M. Qiu, H. Zhao, Intelligent cryptography approach for secure
distributed big data storage in cloud computing. Inf. Sci. 387, 103–115 (2017)
106. K. Gai, M. Qiu, H. Zhao, Energy-aware task assignment for mobile cyber-enabled applica-
tions in heterogeneous cloud computing. J. Parallel Distrib. Comput. 111, 126–135 (2018)
107. K. Gai, L. Qiu, M. Chen, H. Zhao, M. Qiu, Sa-east: security-aware efficient data transmission
for its in mobile heterogeneous cloud computing. ACM Trans. Embed. Comput. Syst. 16(2),
60 (2017)
108. K. Gai, A. Steenkamp, Feasibility of a platform-as-a-service implementation using cloud
computing for a global service organization, in Proceedings of the Conference for Information
Systems Applied Research, vol. 2167 (2013), p. 1508
109. L. Chen, Y. Duan, M. Qiu, J. Xiong, K. Gai, Adaptive resource allocation optimization in
heterogeneous mobile cloud systems, in 2015 IEEE 2nd International Conference on Cyber
Security and Cloud Computing (CSCloud) (IEEE, Piscataway, 2015), pp. 19–24
110. K. Gai, A review of leveraging private cloud computing in financial service institutions: value
propositions and current performances. Int. J. Comput. Appl. 95(3), 40–44 (2014)
111. Propel research with big data and breakthrough insights (2019). Available: https://edu.google.
com/products/google-cloud-platform/?modal_active=none
112. Data Archive (2019). Available: https://aws.amazon.com/archive/?nc2=h_m2
113. F. Bonomi, R.A. Milito, J. Zhu, S. Addepalli, Fog computing and its role in the Internet
of Things, in Proceedings of the Workshop on Mobile Cloud Computing (MCC) (2012),
pp. 13–16
114. J. Shropshire, Extending the cloud with fog: security challenges and opportunities, in
Proceedings of Information System (2014), pp. 1–10
115. J. Ni, K. Zhang, X. Lin, X. Shen, Securing fog computing for Internet of Things applications:
challenges and solutions. IEEE Commun. Surv. Tutorials 20(1), 601–628 (2017)
116. C. Sheng, Y. Chang, J. Lin, M. Li, Z. Zhang, L. Zhu, A residential privacy mining scheme
based on smart meter readings, in Proceedings of the 3rd International Symposium on Privacy
Computing (PriCom), November 2017, pp. 1–6
117. C. Asamoah, L. Tao, K. Gai, N. Jiang, Powering filtration process of cyber security ecosystem
using knowledge graph, in 2016 IEEE 3rd International Conference on Cyber Security and
Cloud Computing (CSCloud) (IEEE, Piscataway, 2016), pp. 240–246
118. Z. Zhang, Z. Qin, L. Zhu, J. Weng, K. Ren, Cost-friendly differential privacy for smart meters:
exploiting the dual roles of the noise. IEEE Trans. Smart Grid 8(2), 619–626 (2017)
119. L. Zhu, M. Li, Z. Zhang, Q. Zhan, ASAP: an anonymous smart-parking and payment scheme
in vehicular networks. IEEE Trans. Dependable Secure Comput. PP(99), 1–12 (2018)
120. A. Butowsky, K. Gai, M. Coakley, M. Qiu, C.C. Tappert, City of white plains parking app:
case study of a smart city web application, in 2015 IEEE 2nd International Conference on
Cyber Security and Cloud Computing (CSCloud) (IEEE, Piscataway, 2015), pp. 278–282
121. L. Zhu, Y. Wu, K. Gai, K.K.R. Choo, Controllable and trustworthy blockchain-based cloud
data management. Futur. Gener. Comput. Syst. 91, 527–535 (2019)
122. S. Sicari, A. Rizzardi, L.A. Grieco, A. Coen-Porisini, Security, privacy and trust in Internet
of Things: the road ahead. Comput. Netw. 76, 146–164 (2015)
123. J. Ni, A. Zhang, X. Lin, X. Shen, Security, privacy, and fairness in fog-based vehicular
crowdsensing. IEEE Commun. Mag. 55(6), 146–152 (2017)
124. K. Gai, M. Qiu, L. Tao, Y. Zhu, Intrusion detection techniques for mobile cloud computing in
heterogeneous 5G. Secur. Commun. Netw. 9(16), 3049–3058 (2016)
125. K. Gai, M. Qiu, Blend arithmetic operations on tensor-based fully homomorphic encryption
over real numbers. IEEE Trans. Ind. Inf. 14(8), 3590–3598 (2018)
References 135
126. K. Gai, M. Qiu, H. Zhao, W. Dai, Anti-counterfeit scheme using Monte Carlo simulation for
e-commerce in cloud systems, in 2015 IEEE 2nd International Conference on Cyber Security
and Cloud Computing (CSCloud) (IEEE, Piscataway, 2015), pp. 74–79
127. H. Liang, K. Gai, Internet-based anti-counterfeiting pattern with using big data in China, in
IEEE 17th International Conference on High Performance Computing and Communications
(HPCC) (IEEE, Piscataway, 2015), pp. 1387–1392
128. L. Zhu, M. Li, L. Liao, Dynamic group signature scheme based integrity preserving event
report. Sens. Lett. 10(8), 1785–1791 (2012)
129. P. Su, N. Sun, L. Zhu, Y. Li, R. Bi, M. Li, Z. Zhang, A privacy-preserving and vessel
authentication scheme using automatic identification system, in Proceedings of the 5th
International Workshop on Security in Cloud Computing (SCC) in conjunction with the 12th
ACM Asia Conference on Computer and Communications Security (ASIACCS), April 2017,
pp. 1–8
130. L. Zhu, M. Li, Z. Zhang, C. Xu, R. Zhang, X. Du, N. Guizani, Privacy-preserving
authentication and data aggregation for fog-based smart grid. IEEE Commun. Mag. 57(6),
80–85 (2019)
131. S.A. Elnagdy, M. Qiu, K. Gai, Cyber incident classifications using ontology-based knowledge
representation for cybersecurity insurance in financial industry, in 2016 IEEE 3rd Interna-
tional Conference on Cyber Security and Cloud Computing (CSCloud) (IEEE, Piscataway,
2016), pp. 301–306
132. K. Thakur, M. Qiu, K. Gai, M.L. Ali, An investigation on cyber security threats and security
models, in 2015 IEEE 2nd International Conference on Cyber Security and Cloud Computing
(CSCloud) (IEEE, Piscataway, 2015), pp. 307–311
133. S.A. Elnagdy, M. Qiu, K. Gai, Understanding taxonomy of cyber risks for cybersecurity insur-
ance of financial industry in cloud computing, in 2016 IEEE 3rd International Conference on
Cyber Security and Cloud Computing (CSCloud) (IEEE, Piscataway, 2016), pp. 295–300
134. K. Gai, Y. Wu, L. Zhu, L. Xu, Y. Zhang, Permissioned blockchain and edge computing
empowered privacy-preserving smart grid networks. IEEE Internet Things J. PP(99), 1–12
(2019)
135. K. Gai, Y. Wu, L. Zhu, M. Qiu, M. Shen, Privacy-preserving energy trading using consortium
blockchain in smart grid. IEEE Trans. Ind. Inf. PP(99), 1–12 (2019)
136. K. Gai, K.K.R. Choo, L. Zhu, Blockchain-enabled reengineering of cloud datacenters. IEEE
Cloud Comput. 5(6), 21–25 (2018)
137. K. Gai, M. Qiu, Y. Li, X.-Y. Liu, Advanced fully homomorphic encryption scheme over
real numbers, in 2017 IEEE 4th International Conference on Cyber Security and Cloud
Computing (CSCloud) (IEEE, Piscataway, 2017), pp. 64–69
138. K. Gai, M. Qiu, An optimal fully homomorphic encryption scheme, in IEEE International
Conference on High Performance and Smart Computing (HPSC), and IEEE International
Conference on Intelligent Data and Security (IDS), 2017 IEEE 3rd International Conference
on Big Data Security on Cloud (BigDataSecurity) (IEEE, Piscataway, 2017), pp. 101–106
139. J. Katz, Y. Lindell, Introduction to Modern Cryptography, 2nd edn. (CRC Press, Boca Raton,
2015), pp. 1–576
140. L. Zhu, Z. Yang, M. Wang, M. Li, ID list forwarding free confidentiality preserving data
aggregation for wireless sensor networks. Int. J. Distrib. Sens. Netw. 2013, 1–14 (2013)
141. T. Feng, C. Wang, W. Zhang, L. Ruan, Confidentiality protection for distributed sensor
data aggregation, in Proceedings of the 27th IEEE International Conference on Computer
Communications (INFOCOM) (2008), pp. 68–76
142. J. Albath, S. Madria, Secure hierarchical data aggregation in wireless sensor networks, in
Proceedings of the IEEE Wireless Communications and Networking Conference (WCNC)
(2009), pp. 1–6
143. C. Castelluccia, A.C.F. Chan, E. Mykletun, G. Tsudik, Efficient and provably secure
aggregation of encrypted data in wireless sensor networks. ACM Trans. Sens. Netw. 5(3),
1–36 (2009)
136 References
144. R. Lu, X. Liang, X. Li, X. Lin, X. Shen, EPPA: an efficient and privacy-preserving aggregation
scheme for secure smart grid communications. IEEE Trans. Parallel Distrib. Syst. 23(9),
1621–1632 (2012)
145. K. Moslehi, R. Kumar, A reliability perspective of the smart grid. IEEE Trans. Smart Grid
1(1), 57–64 (2010)
146. Z.M. Fadlullah, M.M. Fouda, N. Kato, A. Takeuchi, N. Iwasaki, Y. Nozaki, Toward intelligent
machine-to-machine communications in smart grid. IEEE Commun. Mag. 49(4), 60–65
(2011)
147. D. Boneh, B. Lynn, H. Shacham, Short signatures from the Weil pairing. J. Cryptol. 17(4),
297–319 (2004)
148. M. Bellare, P. Rogaway, Random oracles are practical: a paradigm for designing efficient
protocols, in Proceedings of the ACM Conference on Computer and Communication Security
(1993), pp. 63–73
149. H. Lee, J. Lee, J. Han, The efficient security architecture for authentication and authorization
in the home network, in 3rd International Conference on Natural Computation (ICNC)
(2007), pp. 1–5
150. H. Nicanfar, P. Jokar, V.C.M. Leung, Efficient authentication and key management for the
home area network, in IEEE International Conference on Communications (ICC) (2012),
pp. 8780–882
151. Y.-P. Kim, S. Yoo, C. Yoo, DAoT: dynamic and energy-aware authentication for smart home
appliances in Internet of Things, in IEEE International Conference on Consumer Electronics
(ICCE) (2015), pp. 196–197
152. Voter Privacy: What You Need to Know About Your Digital Trail During the 2016
Election (2016). Available: https://www.eff.org/deeplinks/2016/02/voter-privacy-what-you-
need-know-about-your-digital-trail-during-2016-election
153. Privacy Protection in Billing and Health Insurance Communications (2016). Available:
https://journalofethics.ama-assn.org/article/privacy-protection-billing-and-health-insurance-
communications/2016-03
154. Privacy (2019). Available: https://blinddatewithabook.com/pages/privacy
155. E.D. Cristofaro, C. Soriente, Extended capabilities for a privacy-enhanced participatory
sensing infrastructure (PEPSI). IEEE Trans. Inf. Forensics Secur. 8(12), 2021–2033 (2013)
156. X. Wang, W. Cheng, P. Mohapatra, T. Abdelzaher, Enabling reputation and trust in privacy-
preserving mobile sensing. IEEE Trans. Mobile Comput. 13(12), 2777–2790 (2014)
157. S. Gisdakis, T. Giannetsos, P. Papadimitratos, SPPEAR: security & privacy-preserving
architecture for participatory-sensing applications, in Proceedings of the 7th ACM Conference
on Security and Privacy in Wireless and Mobile Networks (WiSec) (2014), pp. 39–50
158. D. Boneh, X. Boyen, H. Shacham, Short Group Signatures, in Proceedings of the 24th Annual
International Cryptology Conference (CRYPTO) (2004), pp. 41–55
159. R. Lu, X. Lin, T.H. Luan, X. Liang, X. Shen, Pseudonym changing at social spots: an effective
strategy for location privacy in VANETs. IEEE Trans. Veh. Technol. 61(1), 86–96 (2012)
160. M. Motani, V. Srinivasan, P.S. Nuggehalli, PeopleNet: engineering a wireless virtual social
network, in Proceedings of the 11th Annual International Conference on Mobile Computing
and Networking (MobiCom) (2005), pp. 243–257
161. P. Mohan, V.N. Padmanabhan, R. Ramjee, Nericell: rich monitoring of road and traffic
conditions using mobile smartphones, in Proceedings of the 6th ACM Conference on
Embedded Network Sensor Systems (SenSys) (2008), pp. 357–358
162. Y. Xiao, L. Xiong, Protecting locations with differential privacy under temporal correlations,
in Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications
Security (CCS) (2015), pp. 1298–1309
163. P. Zhang, C. Hu, D. Chen, H. Li, Q. Li, ShiftRoute: achieving location privacy for map
services on smartphones. IEEE Trans. Veh. Technol. 67(5), 4527–4538 (2018)
164. M. Gruteser, D. Grunwald, Anonymous usage of location-based services through spatial and
temporal cloaking, in Proceedings of the 1st International Conference on Mobile Systems,
Applications and Services (MobiSys) (2003), pp. 31–42
References 137
185. F. Berman, Got data?: a guide to data preservation in the information age. Commun. ACM
51(12), 50–56 (2008)
186. A. Miller, A. Juels, E. Shi, B. Parno, J. Katz, Permacoin: repurposing bitcoin work for data
preservation, in 2014 IEEE Symposium on Security and Privacy (2014), pp. 475–490
187. M. Swan, Blockchain: Blueprint for a New Economy (O’Reilly, Sebastopol, 2015)
188. D.A. Wijaya, Extending asset management system functionality in bitcoin platform, in 2016
International Conference on Computer, Control, Informatics and its Applications (IC3INA)
(2016), pp. 97–101
189. S. Nakamoto, Bitcoin: a peer-to-peer electronic cash system (2008). Available: https://www.
bitcoin.org/en/bitcoin-paper
190. S. Bengtsson, B. Solheim, Enforcement of data protection, privacy and security in medical
informatics. MEDINFO 92, 6–10 (1992)
191. J. He, Z. Zhang, M. Li, L. Zhu J. Hu, Provable data integrity of cloud storage service with
enhanced security in Internet of Things. IEEE Access 7, 6226–6239 (2018)
192. Barnaby Jack Could Hack Your Pacemaker and Make Your Heart Explode (2013). Avail-
able: https://www.vice.com/en_ca/article/avnx5j/i-worked-out-how-to-remotely-weaponise-
a-pacemaker
193. L.M. Arent, R.D. Brownstone, W.A. Fenwick, Ediscovery: preserving, requesting & produc-
ing electronic information. Santa Clara Comput. High Technol. Law J. 19, 131–140 (2002)
194. Example transaction cost. Available: http://ethdocs.org/en/latest/contracts-and-transactions/
account-types-gas-and-transactions.html#example-transaction-cost
195. ethereum/go-ethereum: official go implementation of the ethereum protocol (2019). Avail-
able: https://github.com/ethereum/go-ethereum
196. Bitcoin, Ethereum, and Litecoin price charts - Coinbase (2019). Available: https://www.
coinbase.com/charts
197. Myetherwallet.com (2019). Available: https://www.myetherwallet.com/helpers.html
198. S. Cha, J. Chen, C. Su, K. Yeh, A blockchain connected gateway for BLE-based devices in
the Internet of Things. IEEE Access 6, 24639–24649 (2018)
199. Z. Zhang, W. Cao, Z. Qin, L. Zhu, Z. Yu, K. Ren, When privacy meets economics: enabling
differentially-private battery-supported meter reporting in smart grid, in Proceedings of the
IEEE/ACM 25th International Symposium on Quality of Service (IWQoS) (2017), pp. 1–9
200. G. Liang, S. Weller, F. Luo, J. Zhao, Z. Dong, Distributed blockchain-based data protection
framework for modern power systems against cyber attacks. IEEE Trans. Smart Grid 12(3),
3162–3173 (2018)
201. X. Liu, W. Wang, D. Niyato, N. Zhao, P. Wang, Evolutionary game for mining pool selection
in blockchain networks. IEEE Wirel. Commun. Lett. 7(5), 760–763 (2018)
202. R. Chen, A traceability chain algorithm for artificial neural networks using T-S fuzzy
cognitive maps in blockchain. Futur. Gener. Comput. Syst. 80, 198–210 (2018)
203. X. Yue, H. Wang, D. Jin, M. Li, W. Jiang, Healthcare data gateways: found healthcare
intelligence on blockchain with novel privacy risk control. J. Med. Syst. 40(218), 1–8 (2016)
204. C. Esposito, A. De Santis, G. Tortora, H. Chang, K.K.R. Choo, Blockchain: a panacea for
healthcare cloud-based data security and privacy? IEEE Cloud Comput. 5(1), 31–37 (2018)
205. H. Zhao, M. Qiu, K. Gai, Empirical study of data allocation in heterogeneous memory, in
International Conference on Smart Computing and Communication (Springer, Berlin, 2017),
pp. 385–395
206. G. Zyskind, O. Nathan, Decentralizing privacy: using blockchain to protect personal data, in
Proceedings of the IEEE Security and Privacy Workshops (2015), pp. 180–184
207. E. Heilman, F. Baldimtsi, S. Goldberg, Blindly signed contracts: anonymous on-blockchain
and off-blockchain bitcoin transactions, in Proceedings of the International Conference on
Financial Cryptography and Data Security (FC) (2016), pp. 43–60
208. X. Li, P. Jiang, T. Chen, X. Luo, Q. Wen, A survey on the security of blockchain systems.
Futur. Gener. Comput. Syst. PP, 1–13 (2017)
209. L. Zhu, Y. Wu, K. Gai, K.-K.R. Choo, Controllable and trustworthy blockchain-based cloud
data management. Futur. Gener. Comput. Syst. 91, 527–535 (2019)
References 139
210. E. Sortomme et al., Optimal scheduling of vehicle-to-grid energy and ancillary services. IEEE
Trans. Smart Grid 3(1), 351–359 (2012)
211. Z.M. Fadlullah et al., GTES: an optimized game-theoretic demand-side management scheme
for smart grid. IEEE Syst. J. 8(2), 588–597 (2013)
212. Y. Wu et al., Optimal pricing and energy scheduling for hybrid energy trading market in future
smart grid. IEEE Trans. Ind. Inf. 11(6), 1585–1596 (2015)
213. Z. Yang et al., P2 : privacy-preserving communication and precise reward architecture for v2g
networks in smart grid. IEEE Trans. Smart Grid 2(4), 697–706 (2011)
214. H. Wang et al., TPP: traceable privacy-preserving communication and precise reward for
vehicle-to-grid networks in smart grids. IEEE Trans. Inf. Forensics Secur. 10(11), 2340–2351
(2015)
215. H.A. Man et al., A new payment system for enhancing location privacy of electric vehicles.
IEEE Trans. Veh. Technol. 63(1), 3–18 (2013)
216. S. Nakamoto, Bitcoin: a peer-to-peer electronic cash system (2009). Available: https://bitcoin.
org/bitcoin.pdf
217. Hyperledger/fabric-chaintool. https://github.com/hyperledger/fabric-chaintool
218. D. Zhang, T. He, Y. Liu, S. Lin, J.A. Stankvic, A carpooling recommendation system for
taxicab services. IEEE Trans. Emerg. Top. Comput. 2(3), 254–266 (2014)
219. I.B.-A. Hartman, D. Keren, A.A. Dbai, E. Cohen, L. Knapen, A.-U.-H. Yasar, D. Janssens,
Theory and practice in large carpooling problems. Procedia Comput. Sci. 32(1), 339–347
(2014)
220. B. Caulfield, Estimating the environmental benefits of ride-sharing: a case study of Dublin.
Transp. Res. Part D 14(7), 527–531 (2009)
221. uberPOOL (2019). Available: https://www.uber.com/en-SG/drive/singapore/resources/
uberpool
222. Didi Chuxing (2019). Available: https://www.didiglobal.com
223. Y. Zheng, M. Li, W. Lou, Y.T. Hou, Location based handshake and private proximity test with
location tags. IEEE Trans. Dependable Secure Comput. 14(4), 406–419 (2017)
224. R. Li, A.X. Liu, A.L. Wang, B. Bruhadeshwar, Fast range query processing with strong
privacy protection for cloud computing, in Proceedings of the 40th International Conference
on Very Large Data Base (2014), pp. 1953–1964
225. Hyperledger Whitepaper (2017). Available: https://www.yumpu.com/xx/document/view/
55615753\/hyperledger-whitepaper
226. The difference between public and private blockchain (2017). Available: https://www.ibm.
com/blogs/blockchain/2017/05/the-difference-between-public-and-private-blockchain
227. Y. Zhang, C. Xu, S. Yu, H. Li, X. Zhang, SCLPV: secure certificateless public verification for
cloud-based cyber-physical-social systems against malicious auditors. IEEE Trans. Comput.
Soc. Syst. 2(4), 159–170 (2015)
228. A.B.T. Sherif, K. Rabieh, M.M.E.A. Mahmoud, X. Liang, Privacy-preserving ride sharing
scheme for autonomous vehicles in big data era. IEEE Internet Things J. 4(2), 611–618 (2016)
229. W. He, X. Liu, M. Ren, Location cheating: a security challenge to location-based social
network services, in Proceedings of the 31st International Conference on Distributed
Computing Systems (2011), pp. 740–749
230. Drivers of Ride-Sharing Services Died after Being Attacked by Passengers (2017).
Available: http://lawyersfavorite.com/criminal-attorney/drivers-ride-sharing-services-died-
attacked-passengers
231. A. Pham, I. Dacosta, G. Endignoux, J.R. Troncoso-Pastoriza, K. Huguenin, J.-P. Hubaux,
ORide: a privacy-preserving yet accountable ride-hailing service, in Proceedings of the 26th
USENIX Security Symposium (2017), pp. 1235–1252
232. R. Lu, X. Lin, H.J. Zhu, P.H. Ho, X. Shen, ECPP: efficient conditional privacy preservation
protocol for secure vehicular communications, in Proceedings of the IEEE Conference on
Computer Communications (2008), pp. 1903–1911
233. J. Shao, X. Lin, R. Lu, C. Zuo, A threshold anonymous authentication protocol for VANETs.
IEEE Trans. Veh. Technol. 65(3), 1711–1720 (2015)
140 References
273. M. Qiu, W. Dai, K. Gai, Mobile Applications Development with Android: Technologies and
Algorithms (Chapman and Hall/CRC, Boca Raton, 2016)
274. Y. Li, K. Liang, X. Tang, K. Gai, Cloud-based adaptive particle swarm optimization for
waveband selection in big data. J. Signal Process. Syst. 90(8–9), 1105–1113 (2018)
275. A.L. Steenkamp, A. Alawdah, O. Almasri, K. Gai, N. Khattab, C. Swaby, R. Abaas, Teaching
case enterprise architecture specification case study. J. Inf. Syst. Educ. 24(2), 105 (2013)
276. R. DeStefano, L. Tao, K. Gai, Improving data governance in large organizations through
ontology and linked data, in 2016 IEEE 3rd International Conference on Cyber Security and
Cloud Computing (CSCloud) (IEEE, Piscataway, 2016), pp. 279–284
277. S. Khan, Z. Zhang, L. Zhu, M. Li, Q.G.K. Safi, X. Chen, Accountable and transparent TLS
certificate management: an alternate public-key infrastructure (PKI) with verifiable trusted
parties. Secur. Commun. Netw. 2018(8527010), 1–16 (2018)
278. A. Miller, A. Juels, E. Shi, B. Parno, J. Katz, Permacoin repurposing bitcoin work for data
preservation, in Proceedings of the IEEE Symposium on Security and Privacy (S&P) (2014),
pp. 475–490
279. A massive amount of storage sits unused in data centers and hard drives around the world
(2019). Available: https://filecoin.io
280. R. Lu, X. Lin, Z. Shi, X. Shen, A lightweight conditional privacy-preservation protocol for
vehicular traffic-monitoring systems. IEEE Intell. Syst. 28(3), 62–65 (2013)
281. M. Sharples, J. Domingue, The blockchain and kudos: a distributed system for educational
record, reputation and reward, in Proceedings of the European Conference on Technology
Enhanced Learning (2016), pp. 490–496
282. X. Tang, C. Wang, X. Yuan, Q. Wang, Non-interactive privacy-preserving truth discovery in
crowd sensing applications, in IEEE Conference on Computer Communications (INFOCOM)
(2018), pp. 1–9
283. K. Gai, Z. Du, M. Qiu, H. Zhao, Efficiency-aware workload optimizations of heterogeneous
cloud computing for capacity planning in financial industry, in 2015 IEEE 2nd International
Conference on Cyber Security and Cloud Computing (CSCloud) (IEEE, Piscataway, 2015),
pp. 1–6
284. K. Gai, M. Qiu, H. Hassan, Secure cyber incident analytics framework using Monte Carlo
simulations for financial cybersecurity insurance in cloud computing. Concurrency Comput.
Pract. Experience 29(7), e3856 (2017)
285. K. Gai, M. Qiu, M. Liu, Z. Xiong, In-memory big data analytics under space constraints using
dynamic programming. Futur. Gener. Comput. Syst. 83, 219–227 (2018)
286. H. Jean-Baptiste, M. Qiu, K. Gai, L. Tao, Meta meta-analytics for risk forecast using big data
meta-regression in financial industry, in 2015 IEEE 2nd International Conference on Cyber
Security and Cloud Computing (CSCloud) (IEEE, Piscataway, 2015), pp. 272–277
287. S. Jayaraman, L. Tao, K. Gai, N. Jiang, Drug side effects data representation and full spectrum
inferencing using knowledge graphs in intelligent telehealth, in 2016 IEEE 3rd International
Conference on Cyber Security and Cloud Computing (CSCloud) (IEEE, Piscataway, 2016),
pp. 289–294
288. H. Jean-Baptiste, M. Qiu, K. Gai, L. Tao, Model risk management systems-back-end,
middleware, front-end and analytics, in 2015 IEEE 2nd International Conference on Cyber
Security and Cloud Computing (CSCloud) (IEEE, Piscataway, 2015), pp. 312–316
289. X. Yu, T. Pei, K. Gai, L. Guo, Analysis on urban collective call behavior to earthquake, in
IEEE 17th International Conference on High Performance Computing and Communications
(HPCC) (IEEE, Piscataway, 2015), pp. 1302–1307
290. K. Gai, M. Qiu, M. Liu, H. Zhao, Smart resource allocation using reinforcement learning in
content-centric cyber-physical systems, in International Conference on Smart Computing and
Communication (Springer, Berlin, 2017), pp. 39–52
291. J. Dean, S. Ghemawat, MapReduce: simplified data processing on large clusters, in Pro-
ceedings of the 11th USENIX Symposium on Operating System Design and Implementation
(OSDI) (2004), pp. 1–13
References 143
292. M. Qiu, K. Gai, B. Thuraisingham, L. Tao, H. Zhao, Proactive user-centric secure data scheme
using attribute-based semantic access controls for mobile clouds in financial industry. Futur.
Gener. Comput. Syst. 80, 421–429, (2018)
293. A. Ouaddah, A.A. Elkalam, A.A. Ouahman, Towards a novel privacy-preserving access
control model based on blockchain technology in IoT, in Proceedings of the Europe and
MENA Cooperation Advances in Information and Communication Technologies (2017),
pp. 523–533
294. Ethereum Smart Contract Best Practices - Known Attacks (2016). Available: https://
consensys.github.io/smart-contract-best-practices/known_attacks
295. G. Ateniese, B. Magri, D. Venturi, E. Andrade, Redactable blockchain - or -rewriting history
in bitcoin and friends, in Proceedings of the 2nd IEEE European Symposium on Security and
Privacy (EuroS&P) (2017), pp. 1–9
296. ETHEREUM: a secure decentralised generalised transaction ledger EIP-150 revision. Avail-
able: https://gavwood.com/paper.pdf
297. Download Geth No Nick (v 1.8.19). Available: https://ethereum.github.io/go-ethereum/
downloads
298. Ethereum Wallet and Mist Beta 0.11.1 - windows hotfix. Available: https://github.com/
ethereum/mist/releases
299. K. Gai, M. Qiu, S.A. Elnagdy, A novel secure big data cyber incident analytics framework
for cloud-based cybersecurity insurance, in IEEE 2nd International Conference on Big Data
Security on Cloud (BigDataSecurity) (IEEE, Piscataway, 2016), pp. 171–176
300. G. Alipui, L. Tao, K. Gai, N. Jiang, Reducing complexity of diagnostic message pattern
specification and recognition on in-bound data using semantic techniques, in 2016 IEEE
3rd International Conference on Cyber Security and Cloud Computing (CSCloud) (IEEE,
Piscataway, 2016), pp. 267–272
301. H. Jean-Baptiste, L. Tao, M. Qiu, K. Gai, Understanding model risk management-model
rationalization in financial industry, in 2015 IEEE 2nd International Conference on Cyber
Security and Cloud Computing (CSCloud) (IEEE, Piscataway, 2015), pp. 301–306
302. C.A. Ardagna, M. Cremonini, E. Damiani, S.D.C. Di Vimercati, P. Samarati, Location privacy
protection through obfuscation-based techniques, in Proceedings of the 21st Annual IFIP WG
113 Working Conference on Data & Applications Security (2007), pp. 47–60
303. M. Duckham, L. Kulik, A formal model of obfuscation and negotiation for location
privacy, in Proceedings of the 3rd International Conference on Pervasive Computing (2005),
pp. 153–170
304. T. Zhao et al., An anonymous payment system to protect the privacy of electric vehicles,
in Proceedings of the Wireless Communications and Signal Processing (WCSP), Dec 2014,
pp. 1–6
305. M. Shen et al., Cloud-based approximate constrained shortest distance queries over encrypted
graphs with privacy protection. IEEE Trans. Inf. Forensics Secur. 13(4), 940–953 (2018)