You are on page 1of 9

Journal of Parallel and Distributed Computing 141 (2020) 1–9

Contents lists available at ScienceDirect

J. Parallel Distrib. Comput.


journal homepage: www.elsevier.com/locate/jpdc

A blockchain based decentralized data security mechanism for the


Internet of Things

Chunpeng Ge, Zhe Liu , Liming Fang
College of Computer Science and Technology, Nanjing University of Aeronautics and Astronautics, Nanjing, China

article info a b s t r a c t

Article history: The Internet of Things (IoT) is the core infrastructure of the smart city information system. With the
Received 25 November 2019 explosive growth of IoT devices, how to securely maintain the important data generated by IoT devices
Received in revised form 13 February 2020 has become an important issue. In the conventional IoT-cloud based infrastructure, the sensitive IoT
Accepted 17 March 2020
data was stored in a third cloud service provider. However, in such a manner, the private IoT data
Available online 25 March 2020
may be disclosed by the cloud server since the cloud server knows all the data stored in it. This paper,
Keywords: for the first time, proposes a decentralized secure mechanism based on the blockchain technique to
IoT store the important data generated in the IoT system. This mechanism effectively solves the data
Blockchain reliability, security and privacy issues that may be encountered in the conventional IoT-cloud system.
UTXO Considering the defects of simplified payment verification used by light nodes in blockchain networks,
Accumulator
this paper proposes an Unspent Transaction Output (UTXO) verification mechanism based on the RSA
accumulator, which makes the computational complexity of light nodes to generate and verify the
UTXO proof to be constant. The proposed mechanism not only provides proof of inclusion but also
supports efficient proof of exclusion for a lightweight node. Our experiment results indicate that the
proposed scheme is practical and efficient.
© 2020 Elsevier Inc. All rights reserved.

1. Introduction scalability [16,29,34]. However, cloud storage also encounters


security issues. When the IoT data is stored in the cloud, the
Since the notion of the Internet of Things was proposed by data owner loses control of the data [25,28], which may lead to
the International Telecommunication Union in 2005, technologies security problems. For example, the cloud server may tamper or
such as sensor networks [15,27,40], cloud computing [5,45], and manipulate the stored data for some commercial purpose [19,25].
edge computing [11–13,23,33,46] have been developing and ma- At the meanwhile, the privacy of the data may also be problem-
turing, and the Internet of Things industry has been expanding atic. The cloud service provider may illegally access the data that
rapidly. With the development of Industry 4.0 [4,26], Vehicle the user places on the cloud storage server, and use the data for
Internet [3,48], Smart Home [9,18,35] and Smart City [10,17,24], data analysis and other behaviors that infringe the user’s privacy
more and more devices are connected to the network and realize rights. Moreover, if the cloud service provider’s fails, the entire
mutual communication. The Internet of things is leveraged to data will be lost, making the entire system unavailable.
connect the physical world with the digital world and begin to To solve the above problems, this paper proposes a decentral-
accelerate the era of ‘‘Internet of everything" [39,42,43]. Accord- ized storage mechanism based on blockchain for the IoT data. The
ing to the National Cable TV Association (NCTA), by 2020, the blockchain storage does not need to be managed by trusted third
number of installed base of the connected equipments is expected parties, while ensuring the security, reliability and privacy of IoT
to grow to more than 50 billion units, which is nearly five times of data [33,38,47]. In blockchain storage, since the whole ledger of
that in 2012. These IoT devices change people’s lives while always the blockchain is very large, data management nodes may only
generating huge amounts of data. By 2020, the Internet of Things store block headers. The simplified payment verification for the
will generate about 4.4ZB data. use of light nodes in blockchain storage can only provide proof of
The storage and maintenance of such a large amount of data inclusion of transactions, but does not provide effective proof of
need extra cost to data owners. The cloud storage is widely exclusion, while the computational complexity of the verification
adopted due to its convenience, cost effectiveness, and strong increases with logarithm. Hence, this paper also proposes a UTXO
verification scheme based on RSA accumulator, which makes
∗ Corresponding author. the computational complexity of the light node constant, and
E-mail addresses: gecp@nuaa.edu.cn (C. Ge), liuzhenuaa@gmail.com provides proof of inclusion and exclusion of the transaction. Here,
(Z. Liu), fangliming@nuaa.edu.cn (L. Fang). we list our contributions:

https://doi.org/10.1016/j.jpdc.2020.03.005
0743-7315/© 2020 Elsevier Inc. All rights reserved.
2 C. Ge, Z. Liu and L. Fang / Journal of Parallel and Distributed Computing 141 (2020) 1–9

The data layer, which is The lowest layer, encapsulates the


data structure of the data block, cryptography algorithm, times-
tamps, etc. The network layer consists of mechanisms for dis-
tributed P2P networking, data transmission and verification. The
core algorithm of blockchain — consensus mechanism is part of
the consensus layer. This determines how efficiently nodes can
agree on the validity of block data in decentralized system with
highly decentralized decision rights. This layer provides other
consensus algorithms of network nodes as well. For example, the
Proof of Work (PoW) [6], the Proof of Stake (PoS) [20] and Dele-
gated Proof of Stake (DPOS) [22]. The incentive layer takes care of
economic factors for blockchain. The contract layer supports pro-
grammable features such as smart contract. The application layer
is the layer for the actual application scenarios of blockchain, such
as applications built on the Ethereum.

2.2. Cryptographic accumulator

The accumulator is defined as a one-way hash function with


quasi-exchange properties [2]. That is, if for all x ∈ X and all
y1 , y2 ∈ Y , the one-way hash function h : X × Y → X satisfies the
Fig. 1. The infrastructure of the blockchain.
quasi-exchange property:

h (h (x, y1 ) , y2 ) = h (h (x, y2 ) , y1 ) (1)


• We propose a decentralized storage mechanism based on The accumulator scheme allows all elements xj in the finite set
the blockchain technology, that is, blockchain storage to X = x1 , . . . , xn to be accumulated into a compact value accX , accX
store important IoT data. The proposed storage method is does not depend on the accumulation of xj order. Select g ∈ G as
decentralized and does not require third party management. the base and the accumulator is defined as:
This blockchain storage has advantages in terms of data
security, privacy, and reliability. accX = h(. . . h(g , x1 ), . . . , xn ) (2)
• We propose a model of RSA dynamic universal accumula- By calculating the witness w itxi of each element xi ∈ X , verify
tor and design a UTXO verification scheme based on RSA h(w itxi , xi ) = acc X , and prove the membership of xi in accX . Due to
accumulator, which provides proof of inclusion and exclu- the collision resistant property, it is computationally impossible
sion for light nodes, and greatly improves the efficiency of to find a witness for any non-accumulated value y ∈ / X . The
transaction verification to a constant time. dynamic accumulator allows user to add/remove values to a given
accumulator and update existing witnesses (without recalculating
1.1. Roadmap these values each time the cumulative set changes). Moreover,
in order to provide member witnesses, the accumulator should
also need to provide non-member witnesses for y ∈ / X , which re-
Section two introduces the related work we have done. Section
sults in a generic accumulator. Again, collision resistant property
three of this paper proposes a model based on blockchain storage
ensures it is not possible to create non-membership witnesses
and the advantages and defects of this storage method. Section
for values xi ∈ X . Moreover, an accumulator should provide
four proposes an UTXO verification mechanism based on RSA ac-
the undeniable and indistinguishable properties. The undeniable
cumulator. Section five gives the security proof of our mechanism. property indicates that it should not be computationally feasible
Section six analyzes the performance of our proposed scheme. to compute two contradicting witnesses for z ∈ X and z ∈ / X . The
Finally, the text concludes in section seven. indistinguishable property describes that the accumulated set X
should not be leaked by the accumulator or the witnesses.
2. Related work The accumulator was initially used as a timestamp to capture
the existence of a value at a particular time. As time goes, the
2.1. Blockchain roles of accumulators have been extended to include membership
testing, reliable certificate management and so on. An accumula-
tor scheme that allows witnesses to have undisclosed value in
The notion of blockchain was first introduced by Satoshi
zero knowledge is now widely used to revoke group signatures
Nakamoto [31]. Blockchain combines data blocks in a chain struc-
and anonymous credentials [36]. The accumulator is also used
ture in chronological order and uses cryptographic methods to
for zero coins, which is an anonymous extension of the bitcoin
guarantee imtamperability and unforgeability decentralized dis- cryptocurrency [30].
tributed ledgers. Blockchain forms a network through P2P pro-
tocol. Unlike the centralized network, the computers on each 3. Proposed blockchain-based storage system
node of the blockchain network have equal status. Each node
provides network services together. Each node discovers and 3.1. System model
maintains connections with its neighbor nodes, propagates and
verifies transactions, and synchronizes data blocks. There are six In this subsection, we propose a decentralized storage mecha-
layers in The blockchain system. And from bottom to top, they nism based on blockchain to store IoT data. Thousands of entities
are: data layer, network layer, consensus layer, incentive layer, and individuals in the world have huge unused storage space,
contract layer, and application layer. The infrastructure model of from large enterprises to small family businesses, to large hard
the blockchain is demonstrated in Fig. 1. disk shelves and everyone’s laptops with small hard drives. We
C. Ge, Z. Liu and L. Fang / Journal of Parallel and Distributed Computing 141 (2020) 1–9 3

miners will add the block to their blockchain after verification.


At the same time, the smart contract in the blockchain will audit
the node in the blockchain network and remove dishonest nodes.

3.2. Blockchain storage advantage and defect

Blockchain storage is a decentralized and distributed storage


method. Data is shard and stored on tens of millions of nodes
globally through P2P networks, and more copies are generated
by redundant algorithms. Therefore, the blockchain storage tech-
nology makes the data not to be stored in a single server, which
effectively avoids the negative impact of a single point of failure, e
The stored data is divided into small blocks, which are encrypted
and stored in a large number of nodes. This can avoid the central-
ized risk of centralized storage. Even if the data loss of a node will
not have an impact. Even if a piece of data is leaked, the specific
contents cannot be identified. The storage address of shard data,
the hash of the file, and the amount of the transaction are stored
in the blockchain, which makes the data cannot be tampered with
and greatly ensures the security of the data. In a word, blockchain
Fig. 2. Decentralized blockchain storage model.
storage does not need to be managed by a trusted third party,
which guarantees the security, reliability and privacy of Internet
of things data.
use the incentive mechanism of blockchain to pool these storage Blockchain network is a P2P network composed of several
nodes around the world and build a very huge storage pool, so nodes for broadcasting transaction information and data blocks.
that users who provide storage are rewarded with virtual tokens, A node that hold the complete blockchain data are called full
and users who use storage need to pay virtual tokens. In our node. However, with the continuous mining of blockchain, the
proposed model, it is mainly composed of the following entities, complete blockchain data is also increasing. For example, the
as shown in Fig. 2: size of the Bitcoin blockchain has risen to nearly 250 GB, which
increases by about 12 GB every quarter. For a node to save such
• Internet of Things Devices: With the development of 5G a large amount of data is a huge cost, and the hard disk space
technology and the development of the Internet of Things, of the node in the blockchain storage is equivalent to the asset,
the number of IoT devices has increased rapidly [21,32,41]. so most nodes will not store the complete blockchain data. Most
As a result, we need to store a large amount of data gener- data management nodes and storage nodes of the blockchain only
ated by the devices. In our model, the device collects the store the block headers of all the blocks, and do not download the
data and transmits it to the data management node for specific transaction information contained in the block, thereby
processing. generating a blockchain without transaction information. These
• Data management Node: The data management node first nodes are added as light nodes to the blockchain network.
encrypts and shards the data collected by all its IoT devices When data management nodes store data in distributed stor-
and stores them in each node of the distributed network. age nodes, a transaction is issued in the network. Most storage
Then the transaction information, including the hash of data, nodes cannot perform transaction verification on the transaction
the address where the sharded file is stored, and the pay- because they do not store a complete blockchain. Transaction ver-
ment, are stored in the blockchain, protecting the file’s ification is performed by the full node of the blockchain. It mainly
routing path from tampering. involves verifying whether there is enough UTXO, whether there
• Storage Node: Users can rent out their unused hard disk is a double flower, and judging the unlock script. The verification
space. These free hard disk space becomes the storage node method used by the light node is simplified payment verification
of the decentralized network. The storage node obtains (SPV), which can only determine whether the transaction is in-
the corresponding reward by storing the data sent by the cluded in the blockchain and has several confirmations. However,
the simplified payment verification used by light node can only
data management node. At the same time, the blockchain
provide inclusion proof for transactions, but cannot provide an ef-
rewards legitimate storage nodes and removes dishonest
ficient exclusion proof. Meanwhile, the computational complexity
nodes through incentives in smart contracts.
of the light node verification increases in logarithm.
In this system, IoT devices collect data and transmit it to To solve the above problems, we design a UTXO verifica-
the data management node [8,44]. The data management node tion scheme based on the RSA accumulator for light node. This
shards the data and encrypts each data block using asymmetric scheme enables the light node to use UTXO for verification, pro-
encryption technology. This ensures the privacy of the user data. viding proof of inclusion and efficient proof of exclusion. The
Even if the data is leaked, the other party cannot know the computational complexity of the new verification method is con-
specific content of the data. The data management node obtains stant, which greatly improves the efficiency of the light node
verification transaction.
more fragments by redundant algorithms, such as copying copies
or erasure code encoding, and then stores the fragments into 4. UTXO Verification scheme based on the RSA accumulator
distributed storage nodes. This effectively avoids the negative
effects of a single point of failure, even if a node loses data, it 4.1. Strong RSA assumption
will not affect the integrity of the data. The data management
node generates a hash value for the encrypted file, and then gen- Given an RSA modulus N and a random number z ∈ ZN∗ , the
erates a transaction sent to the blockchain P2P network, which strong RSA problem is to find r and y, where r > 1, y ∈ ZN∗ such
includes the data hash, the address of the shard data storage, that yr = z. We assume that the problem is difficult to solve. The
and the amount paid. Once the transaction is confirmed, it will only way to break these two assumptions is to solve the integer
be packaged in the block and broadcast to other miners. Other factorization problem.
4 C. Ge, Z. Liu and L. Fang / Journal of Parallel and Distributed Computing 141 (2020) 1–9

4.2. The RSA dynamic universal accumulator model 4.3.1. Setup phase
In blockchain, the data stored in the full node is mainly divided
A secure RSA dynamic universal accumulator is a tuple (Xk , Fk ), into two parts: On the one hand, all transaction data is stored
where Xk is the input domain of the accumulated elements in the in the blockchain; on the other hand, the UTXO set is extracted
accumulator; Fk is a family of functions such that each f ∈ Fk is and stored in the local on-disk database. Today’s banks, credit
defined as f : Uf × Xf → Uf , and Uf is the input domain of this cards and securities trading systems all based on account-based
function f . Furthermore, the RSA dynamic universal accumulator designs, supported by relational databases. The blockchain stor-
needs to satisfy the following properties: age is based on the transaction ledger mode. In the proposed
blockchain, there is no concept of an account. The blockchain
• Efficient generation: There exists an efficient probabilistic ledger records one transaction after another. Each transaction
polynomial time (PPT) algorithm Gen that, on input a security has several transaction inputs and several transaction outputs.
parameter 1k , outputs a random function f of Fk . The al- Generally speaking, each transaction takes one or more inputs,
gorithm simultaneously outputs auxiliary information about producing one or more outputs. The UTXO is backtracked from
the function f , which is expressed by auxf . the block file. While a full node downloads these blocks, the node
• Efficient evaluation: Every f ∈ Fk is a PPT function, on input traverses the block files to find all Unspent Transaction Outputs
(g , x) ∈ Uf × Xf , outputs a value acc ∈ Uf , where g is the and constructs an UTXO set locally. A new block is mined at
base of the accumulator, and we call acc the accumulator every time of ten minutes. All the full nodes in the blockchain
value and x was accumulated into acc. network update the UTXO set according to the new block, delete
• Quasi-commutativity: For all f ∈ Fk , g ∈ Uf , and x1 , x2 ∈ the UTXOs that have been spent, and add new UTXOs.
Xk : f (f (g , x1 ), x2 ) = f (f (g , x2 ), x1 ). If X = x1 , . . . , xn ⊂ Xk , There are two reasons why the light node cannot use UTXO
according to quasi-commutativity, the result of value f (f (i · to verify a transaction: First, the light node only saves the block
(g , x1 ), i·), xn ) does not depend on the order of the elements. headers of all the blocks without saving all the specific transac-
Hence, we can denote it by f (g , X ). tion information, so the light node cannot build its own UTXO.
• Membership witness: For every f ∈ Fk , let acc ∈ Uf and Second, all the full nodes build their own UTXO set locally. When
x ∈ X ⊂ Xk . There exists a PPT algorithm that can generate the light node randomly requests the full node for the UTXO proof
a proof of membership wit for the accumulated elements of the transaction that needs to be verified, the full node cannot
x ∈ X in the accumulator. There is a membership verification provide the proof for the light node that the transaction is not
spent.
function ϕ : if ϕ1 (w it , acc , x) = 1, the value wit is called a
In summary, if the light node wants to use UTXO to verify
membership witness.
the received transaction, then it first needs to maintain a unique
• Non-membership witness: For every f ∈ Fk , let acc ∈ Uf
UTXO set on the Bitcoin blockchain, and secondly need to pro-
and x ∈ / X ⊂ Xk . There exists a PPT algorithm that can
vide efficient proof for the elements in the collection. In our
generate a proof of non-membership w it for the elements
proposed scheme, we use RSA dynamic universal accumulator to
x∈ / X in the accumulator that is not accumulated. There is
implement these functions. Since the input domain of the RSA
a membership verification function ϕ : if ϕ2 (w it , acc , x) = 1,
accumulator is limited to prime numbers, the full nodes in the
the value w it is called a non-membership witness.
blockchain need to process the elements in the UTXO set to map
• Efficient update of accumulator: There is an efficient PPT to the collision-resistant prime numbers. In this paper, we design
algorithm H. For the accumulator value calculated by the set a simple prime generation algorithm Hprime to map the elements
X i.e. acc = f (g , X ). If a value x̂ ∈ / X is added to the accu- in the UTXO set to prime numbers: To begin with this, a collision-
mulator, the algorithm H updates the original ⋃ accumulator resistant hash function H is used to hash the element UTXOi in the
H(acc , x̂) = (acc) ˆ such that acc ˆ = f (g , X x̂); if a value UTXO set, so as to get xi = H(UTXOi ), if xi is a prime number, this
x̂ ∈ X is deleted from the accumulator, the algorithm H algorithm outputs the prime represent xi of the element; if xi is
updates the original accumulator H(auxf , acc , x̂) = acc ˆ such not a prime number, this algorithm continues to iterate over this
ˆ = f (g , X \ {x̂}).
that acc value, such that xi = H(xi ), until xi is prime, finally output xi .
• Efficient update of membership witness: From the above, The RSA accumulator is designed based on the strong RSA
acc and acc ˆ are the original and updated accumulatori ’s assumption. Before using RSA accumulator to maintain a unique
value, and x̂ is the added or deleted element. There is an UTXO set on the blockchain, the proposed scheme needs to com-
efficient PPT algorithm P1 , on input w it, acc, acc, ˆ x, x̂, where plete the initialization of RSA accumulator: The first step is to
x ̸ = x̂, x ∈ / X and ϕ1 (wit , acc , x) = 1, outputs the updated generate a random modulus N of length k, where N must be a safe
membership witness w ˆit such that ϕ1 (w ˆit , acc
ˆ , x) = 1. prime. The value of modulus N is calculated by formula N = pq,
• Efficient update of non-membership witness: From the where p = 2p′ + 1, q = 2q′ + 1, the lengths of p and q are equal,
above, acc and acc ˆ are the original and updated p, q, p′ , q′ are all prime numbers. Then, select a random value
accumulatori ’s value, and x̂ is the added or deleted element. g from QRN , where QRN denotes the group of quadratic residues
There is an efficient PPT algorithm P2 , on input w it, acc, modulo N, and g is the base of the RSA accumulator. Finally,
acc,
ˆ x, x̂, where x ̸= x̂, x ∈ / X and ϕ1 (wit , acc , x) = 1, auf = (N , g) is sent to the blockchain as a public parameter, so
outputs the updated membership witness w ˆit such that that the parameter is visible to all nodes.
A block in our scheme contains a block header and body. The
ϕ1 (wit , acc
ˆ ˆ , x) = 1.
block header contains parent hash, version, nonce, timestamp,
difficulty target and Merkle root. The number of transactions in
4.3. Our scheme the block and all related transaction data generated during are
saved in the block body. The blockchain network can dynamically
Our proposed construction consists of three phases: setup adjust the difficulty target of the PoW consensus process. The
(executed only once), the request and proof generation phase, miners who first find the correct Nonce and pass the verification
and the verification phase. In Section 4.3.3, we illustrate the of all the miners will obtain the accounting right of the current
approach the proposed scheme used to effectively update the block. Our scheme adds a new byte UTXO commitment in the
UTXO commitment. block header, i.e. the cumulative value accUTXO of the UTXO set and
C. Ge, Z. Liu and L. Fang / Journal of Parallel and Distributed Computing 141 (2020) 1–9 5

uses it as one of the steps for the entire miner to verify that the node to download all the block headers, so that the blockchain
newly dug block is legal. The specific process is shown in Fig. 3: size is only 1/1000 of the complete blockchain. However, using
First, the mining node uses the prime generation algorithm Hprime scheme designed by us, the light node only needs to save the
to process the locally stored UTXO set and maps the elements block header of the newly generated block, which further reduces
into prime numbers. Then, by using the RSA accumulator, the the block size that the light node needs to save.
processed UTXO set is accumulated to generate an accumulated In our scheme, light node receives a transaction, and light
value accUTXO , and the this value is added to the block header node has downloaded the latest block header, light node verifies
as an UTXO commitment, finally, the mining nodes calculate the whether the transaction is packaged into the blockchain. The light
block header hash value including the UTXO commitment [37]. node extracts the newly generated unspent transaction output
The mining node that finds the block whose hash value is less UTXOj from the received transaction, and randomly sends the ex-
than the difficulty target and has been verified by all the nodes tracted UTXOj as a challenge to the entire node in the blockchain
will obtain the accounting right of the current block. network, to ask whether the extracted UTXOj exists in the local
In the blockchain network, the full nodes verify the new block, UTXO set of the full node.
the verification process includes verifying the UTXO commitment After receiving the challenge from the light node, the random
in the block header. The full node calculates the accumulated full node traverses the local UTXO set to determine whether the
value accUTXO through the locally stored UTXO set and compares it received UTXOj exists in the set. According to the RSA accumu-
with the UTXO commitment in the block header. Since the cryp- lator’s property to provide membership witnesses for elements
tographic accumulator has the property of quasi-commutativity, in an accumulative set, as well as it’s property to support non-
that is, h(h(g , x1 ), x2 ) = h(h(g , x2 ), x1 ), the accumulated value membership witnesses for elements in a non-accumulative set,
accUTXO will not change due to the different order of the elements the full node can provide corresponding proof by determining
stored in the local UTXO collection for different full nodes. In this whether the received UTXOj exists in the local UTXO set. The
way, all the full nodes can verify the UTXO set stored locally, so full node first maps the received UTXOj to prime xj by the prime
as to maintain a unique UTXO set on the blockchain network. generating algorithm Hprime , such that xj = Hprime (UTXOj ). If UTXOj
The setup phase mainly consists of the following algorithms: exists in the UTXO set, that is, xj ∈ U2 , then the full node
calculates its inclusion proof through the public parameter ∏n auf =
Hprime (H , UTXOi ) → (xi ): The algorithm inputs the collision-
(N , g) in the blockchain network: w itxj = g (Πi=1 xi )/xj = g i=1,i̸=j i .
n x
resistant hash function H and the elements UTXOi in the UTXO
If UTXOj does not exist in the UTXO set, that is, xj ∈ / U, then
set, such that xi = H(UTXOi ), where i is the index of the element
the full node calculates its exclusion proof, i.e. non-membership
in the UTXO collection, i = (1, . . . , n): witness. For xj ∈ / (U2 ,∏since )xj , x1 , . . . , xn are ∏
obviously prime
n n
• If xi is a prime, the algorithm outputs xi ; numbers, then gcd xj , i=1 xi = 1. Let u = i=1 xi , by using
• If xi is not a prime, then the algorithm continues to iterate Euclidean algorithm a and b can be found, for a, b ∈ Z, such that
over xi , such that xi = H(xi ), until xi is prime, and finally au + bxj = 1. Then the full node calculates d = g (−b) through
outputs xi . the public parameters auf = (N , g) in the blockchain network,
so the exclusion proof of xj , that is, the ( non-membership witness
Gen(1k ) → (auf ): On input the security parameter k, the
can be expressed as w it xj = (a, d) = a, g −b . The full node sends
)
generation algorithm calculates a random modulus N of
the calculated proof and the received unspent transaction output
length k, N is a safe prime number, such that N = pq,
UTXOj mapped prime number xj , that is, w itxj or w it xj , xj as proof
where p = 2p′ + 1, q = 2q′ + 1, the lengths of p and q are
to the light node.
equal, and p, q, p′ , q′ are all prime numbers. The algorithm
The request and proof generation phase mainly consist of the
also randomly selects a value g from QRN , which is the base
following algorithms:
of the RSA accumulator, where QRN denotes the quadratic
residual group of the modulus N. Finally, it outputs the Etx(txj ) → (UTXOj ): On input the transaction txj , the algorithm
public parameters auf = (N , g) to the blockchain network extracts the newly generated unspent transaction output UTXOj
so that all nodes are visible. from the received transaction, it outputs UTXOj .
Map(Hprime , U1 ) → (U2 ): On input the prime number gener- Req(UTXOj ): On input the unspent transaction output UTXOj , this
ation algorithm Hprime and the UTXO set U1 = UTXO1 , . . . , algorithm causes the light node to send UTXOj as a challenge
UTXOn . The algorithm maps the elements in the UTXO set request to random full nodes in the blockchain network.
to prime numbers, i.e. xi = Hprime (UTXOi ), such that U2 = Map(Hprime , UTXOj ) → (xj ): On input the unspent transaction
x1 , . . . , xn . Then, it outputs the prime set U2 . output UTXOj and the prime generation algorithm Hprime , this
AccVal(auf , U2 ) → (accUTXO ): On input the public parameters algorithm maps the received UTXOj through the prime gener-
auf = (N , g) and the set of prime numbers U2 = x1 , . . . , xn . ation algorithm Hprime to the prime number xj , that is, xj =
The algorithm uses the RSA accumulator to calculate the Hprime (UTXOj ), outputs prime number xj .
accumulated value accUTXO of the set: accUTXO = g x1 ···xn =
n WitCreat(auf , U2 , xj ) → (w itxj or w it xj ): On input prime number xj ,
g Π1=1 xi . Finally, this algorithm outputs accUTXO .
the set of prime numbers U2 = x1 , ·, xn , and the public parameters
AddVal(accUTXO ): On input accumulated value accUTXO , the auf = (N , g). This algorithm traverses the set of prime numbers
algorithm adds the accumulated value accUTXO as an UTXO U2 and determines whether the received UTXOj exists in the UTXO
commitment to the block header. set:

4.3.2. Request and proof generation phase


• If UTXOj exists in the UTXO set, that is, xj ∈ U2 , the al-
gorithm calculates it’s inclusion witness through the public
In the previous section, we maintained a unique UTXO set
parameters auf = (N , g) in the blockchain network:
on the blockchain network by accumulating the UTXO set using
witxj = g (Πi=1 xi )/xj = g
n
∏n
the RSA accumulator and adding the accumulated value as an i=1,i̸ =j xi (3)
UTXO commitment to the block header. Therefore, the light node
can use UTXO to verify the received transaction. The simplified / U∏
• If UTXOj does not exist in the UTXO set, that is, xj ∈ 2 . Since
n
payment verification used by the light node requires the light xj , x1 , ·, xn are obviously prime numbers, let u = i=1 xi ,
6 C. Ge, Z. Liu and L. Fang / Journal of Parallel and Distributed Computing 141 (2020) 1–9

Fig. 3. Addition of UTXO commitment in the blockchain.

gcd(xj , u) = 1. a and b can be found using the Euclidean U5 = {xh , xh+1 , . . . ., xh+L } and U6 = {x1 , x2 , . . . , xM }, then returns
algorithm, for a, b ∈ Z , such that au + bxj = 1. This U5 and U6 .
algorithm calculates d = g (−b) from the public parameters
UpdAcc(U5 , U6 , auf , accUTXO ) → (accUTXO
′′
): On input the public
auf = (N , g). Its exclusion proof, that is, non-membership
parameters auf = (N , g), the UTXO commitment accUTXO , U5 and
witness can be defined as:
U6 , this algorithm updates the UTXO commitment in the block
wit xj = (a, d) = a, g −b
( )
(4) header:
• First, the elements in U5 = {xh , xh+1 , . . . ., xh+L } are deleted
Rep((w itxj or w it xj , xj )): On input the proof (w itxj or w it xj , xj ), this from the set U2 , and the accumulated values in the set are
algorithm sends the proof (w itxj or w it xj , xj ) as a reply back to the then recalculated:
corresponding light node. ′ Πx∈U2 \U5 xi
accUTXO =g N (5)
4.3.3. Update of the UTXO commitment
• Then, add the elements in U6 = {x1 , x2 , . . . .., xM } to U2 ,
In the blockchain, the mining node digs up a new block each
accumulated value updates can be performed in batches.
time, the UTXO set is updated, the UTXO that has been spent
The elements
∏M in the set U6 are aggregated and defined as
is deleted, and the newly generated UTXO is added. Hence, ev-
x∗ = i=1 xi , the update of UTXO commitment can be
ery new block is dug up, the UTXO commitment in the block
calculated as:
header requires an efficient update. Since the RSA dynamic uni-
x∗
versal accumulator proposed in this paper allows to dynamic acc′′UTXO = acc′UTXO N (6)
addition/deletion of values to/from a given accumulator and cor-
responding update of accumulated values, so the UTXO commit- Finally, this algorithm outputs the updated UTXO commitment
′′
ment can get efficient update. accUTXO .
In the proposed scheme, when the mining node performs the
mining of the new block, it first traverses the transaction to be 5. Security proof
put into the new block to generate two UTXO sets, that is, the
UTXO set U3 = {UTXOh , UTXOh+1 , . . . , 5.1. Correctness of the proposed scheme
UTXOh+L } that has been spent and the newly generated unspent
UTXO set U4 = {UTXO1 , UTXO2 , . . . , UTXOM }. Next, the mining Theorem 1. The scheme achieves the correctness property under
node uses the prime generation algorithm Hprime to map the the strong RSA assumption, i.e. for ( any
) probabilistic polynomial-time
elements in the two UTXO sets to prime numbers: xi = H(UTXOi ), algorithm A, (f , N , g) ← Gen 1k , (x, w it , U2 ) ← A(f , N , g) and
such that U5 = {UTXOh , UTXOh+1 , . . . , (x, w it , U2 ) ← A(f , N , g), the following equations hold:
UTXOh+L } and U4 = {UTXO1 , UTXO2 , . . . , UTXOM }. The mining
x ∈ U2 , accUTXO = f (N , g , U2 ) ,
[ ]
node first deletes the UTXO that has been spent in the locally Pr = 1;
v erify (x, wit , accUTXO ) = 1
saved UTXO set, and then recalculates the accumulated value . (7)
= g Πx∈U2 \U5 xi , where accUTXO / U2 , (accUTXO = f (N), g , U2 ) ,
′ ∗
[ ]
of the UTXO set: accUTXO is the x∈
Pr = 1;
accumulated value after deleting the UTXO that has been spent. v erify x, wit , accUTXO = 2
When these new unspent UTXOs are added to the UTXO set,
the accumulated value update can be performed in batches. ∏M The Proof. Let modulus N is a safe prime, such that N = pq, and
elements in the set U6 are aggregated and defined as x∗ = i=1 xi . g is randomly selected from QRN , where p = 2p′ + 1, q =
The addition of the accumulated value in the newly generated 2q′ + 1, the lengths of p and q are equal, and p, q, p′ , q′ are
′′ ′ x∗
block can be calculated as accUTXO = accUTXO , the accumulated ll prime numbers, QRN denotes the quadratic residual group of
′′
value accUTXO is the updated UTXO commitment. the modulus N. Suppose there is a polynomial-time adversary A,
The update of the UTXO commitment mainly consists of the which on input N and g ∈ QRN , outputs an element x∗ , a witness
following algorithms: wit ∗ corresponding to the element, and a set of prime numbers
UsGen(tx) → (U3 , U4 ): On input all transactions txi that will be U2 = x1 , . . . , xn .
put into the new block, this algorithm generates two sets, that Assume x ∈ U2 , the polynomial-time adversary A can calculate
is, the set U3 = {UTXOh , UTXOh+1 , . . . . . . , UTXOh+L } that has been u, the UTXO commitment accUTXO , and the membership witness
spent and the newly generated UTXO set U4 = {UTXO1 , UTXO2 , n
wit, where u = ni=1 xi , accUTXO = g Πi=1 xi = g u , and wit = g u/x .

. . . . . . , UTXOM }. Then, it outputs U3 and U4 . x
Then verify the membership witness: w it x = g (u/x) = g u =
Map(Hprime , U3 , U4 ) → (U5 , U6 ): On input the prime generation accUTXO .
algorithm Hprime , U3 , and U4 . The algorithm maps
( elements
) in Assume x ∈/ U2 , the polynomial-time adversary A can calcu-
two UTXO sets to prime numbers: xi = Hprime UTXOj , such that late u, the UTXO commitment accUTXO , and the non-membership
C. Ge, Z. Liu and L. Fang / Journal of Parallel and Distributed Computing 141 (2020) 1–9 7

Πin=1 xi
witness w it, where accUTXO = g = g u . Since x, x1 , . . . , xn are If the second equation of (8) holds, A outputs a value x∗i ∈
obviously prime numbers, gcd(x, u) = 1. a and b can be found

U2 , a non-membership witness w it x∗ = (a, d) = (a, g −b ), and
using the Euclidean algorithm, for a, b ∈ Z , such that au + bx = 1. i
an UTXO set of prime numbers U2 = x1 , . . . , xn , such that
The non-membership witness defines as: w it = (a, d) = (a, g −b ). ∗
v erify(N , g , x∗i , wit x∗ , accUTXO ) = 2, that is, accUTXO
a
= g ua =
a
Then verify the non-membership witness: accUTXO = g ua = ∗ ∗
i
∗ ∗
g 1−bx −bx x
= g g = d g. g 1−bxi = g −bxi g = d(xi ) g holds. S invokes A with output x∗i , w it x∗ ,
i
x∗
and accUTXO , such that g ua−1 = d i . Since gcd(au − 1, x∗i ) = 1, a′
5.2. The collision resistant property of the proposed scheme and b′ can be found using the Euclidean algorithm, for a′ , b′ ∈ Z,
such that a′ (au − 1) = 1 + b′ x∗i , then S can efficiently compute y =
Theorem 2. The proposed scheme is collision-resistant under the ′ ′ ∗ ′ ′ ∗ ′ ∗ ′ ∗ a′ ′ ∗
da g −b , such that yxi = (da g −b )xi = da xi g −b xi = g ua−1 g −b xi =
strong RSA assumption i.e. for any probabilistic polynomial-time al- ′ ′ ∗
g a (au−1)−b xi = g. S solves the strong RSA problem.
gorithm A, (f , N , g) ← Gen(1k ), O = {OA , OW , OU }, (x∗i , w itx∗∗ , U2 )
i

← AO (f , N , g), (x∗i , wit x∗ , U2 ) ← AO (f , N , g), the following 5.3. Undeniability of the proposed scheme
i
equations hold:
Theorem 3. The proposed scheme is undeniable under the strong
/ U2 , accUTXO = f (N , g , U2 ) ;
x∗i ∈
[ ]
Pr ≤ ϵ; RSA assumption, t. For any probabilistic polynomial-time algorithm
v erify(x∗i , witx∗∗ accUTXO ) = 1 ∗
A, (f , N , g) ← Gen(1k ), O = {OA , OW , OU } and (x∗i , w itx∗∗ , w it x∗ )
i
(8) i i
x∗i ∈ U2 , accUTXO = f (N , g , U2 ) ; ← AO (f , N , g), the following equation holds:
[ ]
Pr ∗ ≤ ϵ;
v erify(x∗i , w it x∗ , accUTXO ) = 2
accUTXO = f (N , g , U2 )∧
⎡ ⎤
i

Pr ⎣ v erify(xi , w itx∗i , accUTXO ) = 1∧ ⎦ ≤ ϵ


∗ ∗
where ϵ is a negligible function, O is defined as O = OA , OW , OU , (9)

where OA , OW and OU respectively represent the oracles of the v erify(x∗i , wit x∗ , accUTXO ) = 2
i
algorithms AccVal, WitCreat, and UpdAcc. These oracles allow an
adversary to query at any number of times.
Proof. Suppose there exists a polynomial-time adversary A, we
show how to construct a probabilistic polynomial-time adversary
Proof. The strong RSA assumption suggests that, given an RSA
S that solves the strong RSA problem by invoking A. Let modulus
modulus N and a random value g selected from QRN , g ∈ QRN ,
N is a safe prime, g is randomly selected from QRN . S is given
where QRN denotes the quadratic residual group of the modulus
modulus N and g ∈ QRN as input, and then start the game. S
N, find r and y is computationally infeasible, such that yr = g,
simulates all oracles for A as shown in the previous section.
where r > 1, y ∈ ZN∗ .
If the equation holds, A outputs a value x∗i , a non-membership
Suppose there exists a polynomial-time adversary A, we show ∗
witness w it x∗ = (a, d) = (a, g −b ), and a membership witness
how to construct a probabilistic polynomial-time adversary S i
that solves the strong RSA problem by invoking A. Note that, all witx∗ , such that v erify(N ,

i
∗ ∗
arithmetic operations in the proof are modulo N. g , x∗i , w it x∗ , accUTXO ) = 2 and v erify(N , g , x∗i , w it x∗ , accUTXO ) =
i i

Let modulus N is a safe prime, such that N = pq, and g is 2, that is, w itx∗∗ xi a
= accUTXO = g u and accUTXO = g ua =
randomly selected from QRN . S is given modulus N and g ∈ QRN ∗ ∗i ∗
g 1−bxi = g −bxi g = dxi g holds. S invokes A with output x∗i ,
as input, and then start the game by setting the public parameters ∗ ∗ ∗ ∗
auf = (N , g). S simulates the oracles for A as follows:
wit(x∗ ∗ ) , w it (x∗ ) , and accUTXO , such that witx∗∗ axi = dxi g = g 1−bxi .
i i i
OA : For a given the public parameters auf = (N , g), an Since gcd(ax∗i , 1 − bx∗i ) = 1, a′ and b′ can be found using the
UTXO set of prime numbers U2 = x1 , . . . , xn , A calls algorithm Euclidean algorithm, for a′ , b′ ∈ Z , such that a′ ax∗i = 1 +
′ ′
AccVal(auf , U2 ) → (accUTXO ) and return the UTXO commitment b′ (1 − bx∗i ), then S can efficiently compute y = w itx∗∗ a g −b ,
i
accUTXO . ∗ ′ ∗ ′ ∗ ′ ∗
such that y1−bxi = (g ′ w itx∗∗ −b )1−bxi = g a (1−bxi ) w itx∗∗ −b (1−bxi ) =
OU : For a given the public parameters auf = (N , g), the ∗ ′ ′ ∗
i
′ ∗ ′ ∗
i

UTXO commitment accUTXO , element xm deleted to the UTXO set (w itx∗∗ axi )a w itx∗∗ −b (1−bxi ) = w itx∗∗ a axi −b (1−bxi ) = w itx∗∗ . S can solve
i i i i
U2 element xh added to the UTXO set U2 , A calls algorithm the strong RSA problem.
UpdAcc(xi , xh , auf , accUTXO ) → (accUTXO
′′
) and updates the UTXO
′′
commitment. Then it returns accUTXO . 6. Implementation and evaluation
OW : For a given the public parameters auf = (N , g), an UTXO
set of prime numbers U2 = x1 , . . . , xn , and element xi , A judges The blockchain light node transaction verification scheme
the element xi . If xi ∈ U2 , calls algorithm WitCreat(auf , U2 , xi ) → based on the RSA accumulator is written and implemented in the
(w it(xi ) ) and generates membership witnesses w itxi ; if xi ∈ / U2 , C++ language. In the proposed scheme, we use the open source
calls algorithm WitCreat(auf , U2 , xi ) → (w it xi ) and generates C library FLINT for number theory computations, that is, the
non-membership witnesses w it xi . Then it returns w itxi or w it xi . modulo operations performed in the RSA accumulator [14]. Our
If the first equation of (8) holds, A outputs a value x∗i ∈ / U2 , a proposed scheme uses the digest generation algorithm SHA-256
membership witness w itx∗∗ , and an UTXO set of prime numbers to design a prime generation algorithm Hprime that maps elements
i
U2 = x1 , . . . , xn , such that v erify(N , g , x∗i , w itx∗∗ , accUTXO ) = 1, in the UTXO set to collision-resistant prime numbers [7]. The

i security level of our scheme depends on the number of bits of
that is, w itx∗∗ xi = accUTXO = g u holds. S invokes A with output the modulus N in the RSA accumulator. We use 3072-bit RSA
i
x∗i , w itx∗∗ , and accUTXO . Let u = Πin=1 xi , since x∗i , x1 , . . . , xn are modulus equivalent to the 128-bit security level according to
i
obviously prime numbers, gcd(x∗i , u) = 1. a and b can be found NIST definition [1]. The specific test for the experiment was run
using the Euclidean algorithm, for a, b ∈ Z , such that ax∗i = 1 + bu, on a computer with an Intel Core i7 64-bit 3.4 GHz cpu and 16
then S can efficiently compute y = g a w itx∗∗ −b , such that yu = GB RAM. We vary the number of transactions from 500 to 3000
∗ i
∗ step by 500 and record the relevant verification time. We execute
(g a w itx∗∗ −b )u = g ua w itx∗∗ −bu = (w itx∗∗ xi )a w itx∗∗ −bu = w itx∗∗ axi −bu = each experiment 100 times to get the average time. Their specific
i i i i i
witx∗∗ . S solves the strong RSA problem. performance is shown in Fig. 4.
i
8 C. Ge, Z. Liu and L. Fang / Journal of Parallel and Distributed Computing 141 (2020) 1–9

[5] G. Chunpeng, Z. Liu, J. Xia, F. Liming, Revocable identity-based broadcast


proxy re-encryption for data sharing in clouds, IEEE Trans. Dependable
Secure Comput. (2019) 1–1. http://dx.doi.org/10.1109/TDSC.2019.2899300.
[6] C. Dwork, M. Naor, Pricing via processing or combatting junk mail, in:
Annual International Cryptology Conference, Springer, 1992, pp. 139–147.
[7] M.J. Dworkin, SHA-3 StandArd: Permutation-Based Hash and Extendable-
Output Functions, Tech. Rep., 2015.
[8] H. El-Sayed, S. Sankar, M. Prasad, D. Puthal, A. Gupta, M. Mohanty, C.-T.
Lin, Edge of things: The big picture on the integration of edge, iot and
the cloud in a distributed computing environment, IEEE Access 6 (2017)
1706–1717.
[9] E. Fernandes, J. Jung, A. Prakash, Security analysis of emerging smart home
applications, in: Security and Privacy, 2016.
[10] K. Gai, Y. Wu, L. Zhu, M. Qiu, M. Shen, Privacy-preserving energy trading
using consortium blockchain in smart grid, IEEE Trans. Ind. Inf. 15 (6)
(2019) 3548–3558.
[11] 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. 6 (5) (2019) 7992–8004.
[12] K. Gai, Y. Wu, L. Zhu, Z. Zhang, M. Qiu, Differential privacy-based
Fig. 4. Computational complexity of transaction verification. blockchain for industrial Internet of Things, IEEE Trans. Ind. Inf. (2019).
[13] A. Gouglidis, N. Shirazi, A. Farshad, D. Hutchison, A. Gouglidis, N. Shirazi, A.
Farshad, D. Hutchison, The extended cloud: Review and analysis of mobile
edge computing and fog from a security and resilience perspective, IEEE
7. Conclusions J. Sel. Areas Commun. (2016).
[14] W.B. Hart, Fast library for number theory: an introduction, in: International
Congress on Mathematical Software, Springer, 2010, pp. 88–91.
How to secure the storage of data generated by IoT nodes [15] S. He, K. Xie, K. Xie, Z. Li, C. Xu, Interference-aware multi-source
has become an important issue. This paper, for the first time, transmission, in: Trustcombigdatasei.spa, 2017.
proposes a decentralized storage mechanism based on blockchain [16] G. Jia, G. Han, J. Jiang, S. Chan, Y. Liu, Dynamic cloud resource management
to store IoT data. This mechanism effectively solves the data for efficient media applications in mobile computing environments, Pers.
reliability, security and privacy issues that may be encountered Ubiquitous Comput. 22 (3) (2018) 561–573.
[17] G. Jia, G. Han, H. Rao, L. Shu, Edge computing-based intelligent manhole
when Internet of things data are stored. According to the different cover management system for smart cities, IEEE Internet Things J. 5 (3)
verification transaction modes of full nodes and light nodes in the (2018) 1648–1656, http://dx.doi.org/10.1109/JIOT.2017.2786349.
blockchain network, this paper also proposes an UTXO verifica- [18] A. Jose, R. Malekian, Improving smart home security; integrating logical
tion mechanism based on the RSA accumulator, which makes the sensing into smart home, IEEE Sens. J. 17 (13) (2017) 4269–4286.
verification computational complexity of the light node constant [19] W.I. Khedr, H.M. Khater, E.R. Mohamed, Cryptographic accumulator-based
scheme for critical data integrity verification in cloud storage, IEEE Access
to be constant. Moreover, the proposed scheme provides both 7 (2019) 65635–65651.
inclusion proof and exclusion proof light nodes. [20] S. King, S. Nadal, Ppcoin: Peer-to-peer crypto-currency with proof-of-stake,
2012, self-published paper, August 19.
Declaration of competing interest [21] R.K. Kodali, V. Jain, S. Bose, L. Boppana, IoT Based smart security and
home automation system, in: 2016 International Conference on Computing,
Communication and Automation (ICCCA), IEEE, 2016, pp. 1286–1289.
The authors declare that they have no known competing finan- [22] D. Larimer, Delegated proof-of-stake, 2014.
cial interests or personal relationships that could have appeared [23] W. Li, Z. Chen, X. Gao, W. Liu, J. Wang, Multi-model framework for indoor
to influence the work reported in this paper. localization under mobile edge computing environment, IEEE Internet
Things J. (2018).
CRediT authorship contribution statement [24] X. Li, R. Lu, X. Liang, X. Shen, J. Chen, X. Lin, Smart community: an
internet of things application, IEEE Commun. Mag. 49 (11) (2011) 68–75,
http://dx.doi.org/10.1109/MCOM.2011.6069711.
Chunpeng Ge: Conceptualization, Methodology. Zhe Liu: Con- [25] Z. Li, C. Ma, D. Wang, Towards multi-hop homomorphic identity-
ceptualization, Funding acquisition. Liming Fang: Formal analy- based proxy re-encryption via branching program, IEEE Access 5 (2017)
sis, Data curation. 16214–16228.
[26] X. Li, J. Peng, J. Niu, F. Wu, J. Liao, K.R. Choo, A robust and energy
efficient authentication protocol for industrial internet of things, IEEE
Acknowledgments Internet Things J. 5 (3) (2018) 1606–1615, http://dx.doi.org/10.1109/JIOT.
2017.2787800.
This work was supported by the National Natural Science [27] L. Li, G. Xu, L. Jiao, X. Li, H. Wang, J. Hu, H. Xian, W. Lian, et al., A
Foundation of China (Grant No. 61702236, 61872181) and the secure random key distribution scheme against node replication attacks
in industrial wireless sensor systems, IEEE Trans. Ind. Inf. (2019).
National Science Foundation for Post-doctoral Scientists of China
[28] C. Lin, D. He, N. Kumar, X. Huang, P. Vijaykumar, K.-K.R. Choo, HomeChain:
(No.2019M651826). A blockchain-based secure mutual authentication system for smart homes,
IEEE Internet Things J. (2019).
References [29] Y. Liu, Y. Ren, C. Ge, J. Xia, Q. Wang, A CCA-secure multi-conditional proxy
broadcast re-encryption scheme for cloud storage system, J. Inf. Secur.
[1] E. Barker, W. Barker, W. Burr, W. Polk, M. Smid, Recommendation for key Appl. 47 (2019) 125–131.
management part 1: General (revision 3), NIST Spec. Publ. 800 (57) (2012) [30] I. Miers, C. Garman, M. Green, A.D. Rubin, Zerocoin: Anonymous distributed
1–147. e-cash from bitcoin, in: 2013 IEEE Symposium on Security and Privacy,
[2] J. Benaloh, M. De Mare, One-way accumulators: A decentralized alternative IEEE, 2013, pp. 397–411.
to digital signatures, in: Workshop on the Theory and Application of [31] S. Nakamoto, et al., Bitcoin: A peer-to-peer electronic cash system, 2008.
Cryptographic Techniques, Springer, 1993, pp. 274–285. [32] J. Pan, J. McElhannon, Future edge cloud and edge computing for internet
[3] D. Cao, B. Zheng, B. Ji, Z. Lei, C. Feng, A robust distance-based relay of things applications, IEEE Internet Things J. 5 (1) (2017) 439–449.
selection for message dissemination in vehicular network, Wirel. Netw. [33] Y. Ren, Y. Leng, Y. Cheng, J. Wang, Secure data storage based on blockchain
(2018) http://dx.doi.org/10.1007/s11276-018-1863-4. and coding in edge computing, Math. Biosci. Eng 16 (2019) 1874–1892.
[4] K.R. Choo, S. Gritzalis, J.H. Park, Cryptographic solutions for industrial [34] Y. Ren, Y. Liu, C. Qian, Digital continuity guarantee based on data consis-
Internet-of-Things: Research challenges and opportunities, IEEE Trans. Ind. tency in cloud storage, in: International Conference on Cloud Computing
Inf. 14 (8) (2018) 3567–3569, http://dx.doi.org/10.1109/TII.2018.2841049. and Security, Springer, 2018, pp. 3–11.
C. Ge, Z. Liu and L. Fang / Journal of Parallel and Distributed Computing 141 (2020) 1–9 9

[35] V. Sivaraman, H.H. Gharakheili, A. Vishwanath, R. Boreli, O. Mehani, Chunpeng Ge (M’16) received the Ph.D. degree in
Network-level security and privacy control for smart-home iot devices, Computer Science from Nanjing University of Aeronau-
in: IEEE International Conference on Wireless Mobile Computing, 2015. tics and Astronautics in 2016. He is now a research
[36] A. Sudarsono, T. Nakanishi, N. Funabiki, Efficient proofs of attributes fellow of Singapore University of Technology and
in pairing-based anonymous credential system, in: International Sympo- Design. His current research interests include cryp-
sium on Privacy Enhancing Technologies Symposium, Springer, 2011, pp. tography, information security and privacy preserving
246–263. for blockchain. His recent work has focused on the
[37] P. Todd, Making UTXO set growth irrelevant with low-latency delayed txo topics of public key encryption with keyword search,
commitments, 2016. proxy re-encryption, identity-based encryption, and
[38] J. Wang, Y. Gao, W. Liu, A.K. Sangaiah, H.-J. Kim, An intelligent data gather- techniques for resistance to CCA attacks.
ing schema with data fusion supported for mobile sink in wireless sensor
networks, Int. J. Distrib. Sens. Netw. 15 (3) (2019) 1550147719839581.
[39] J. Wang, Y. Gao, W. Liu, W. Wu, S.-J. Lim, An asynchronous clustering
Zhe Liu received the B.S. and M.S. degrees in Shan-
and mobile data gathering schema based on timer mechanism in wireless
dong University in 2008 and 2011, respectively. He
sensor networks, Comput. Mater. Contin. 58 (2019) 711–725.
is a professor in College of Computer Science and
[40] J. Wang, Y. Gao, X. Yin, F. Li, H.J. Kim, An enhanced PEGASIS algorithm
Technology, Nanjing University of Aeronautics and As-
with mobile sink support for wireless sensor networks, Wirel. Commun.
tronautics (NUAA), China. Before joining NUAA, he
Mob. Comput. 2018 (8) (2018) 1–9.
was a researcher in SnT, University of Luxembourg,
[41] J. Wang, C. Ju, Y. Gao, A.K. Sangaiah, G.-j. Kim, A PSO based energy efficient
Luxembourg. He received his Ph.D. degree Laboratory
coverage control algorithm for wireless sensor networks, Comput. Mater.
of Algorithmics, Cryptology and Security (LACS), Uni-
Contin. 56 (2018) 433–446.
versity of Luxembourg, Luxembourg in 2015. His Ph.D.
[42] B. Yin, X. Wei, Communication-efficient data aggregation tree construction
thesis has received the prestigious FNR Awards 2016 —
for complex queries in IoT applications, IEEE Internet Things J. 6 (2) (2018)
Outstanding Ph.D. Thesis Award for his contributions
3352–3363.
in cryptographic engineering on IoT devices. His research interests include
[43] C. Yin, J. Xi, R. Sun, J. Wang, Location privacy protection based on
computer arithmetic and information security. He has co-authored more than
differential privacy strategy for big data in industrial internet of things,
70 research peer-reviewed journal and conference papers.
IEEE Trans. Ind. Inf. 14 (8) (2018) 3628–3636, http://dx.doi.org/10.1109/
TII.2017.2773646.
[44] B. Yin, S. Zhou, S. Zhang, K. Gu, F. Yu, On efficient processing of continuous
reverse skyline queries in wireless sensor networks, TIIS 11 (4) (2017) Liming Fang received the Ph.D. degree in Computer
1931–1953. Science from Nanjing University of Aeronautics and
[45] F. Zafar, A. Khan, S.U.R. Malik, M. Ahmed, A. Anjum, M.I. Khan, N. Javed, Astronautics in 2012, and has been a postdoctor in
M. Alam, F. Jamil, A survey of cloud computing data integrity schemes, the information security from City University of Hong
Comput. Secur. 65 (C) (2017) 29–49. Kong. He is the associate professor at the School of
[46] X. Zeng, G. Xu, X. Zheng, Y. Xiang, W. Zhou, E-AUA: An efficient anonymous Computer Science, Nanjing University of Aeronautics
user authentication protocol for mobile IoT, IEEE Internet Things J. 6 (2) and Astronautics. Now, he is a visiting scholar of the
(2018) 1506–1519. Department of Electrical and Computer Engineering
[47] Y. Zhang, D. He, K.-K.R. Choo, BaDS: Blockchain-based architecture for data New Jersey Institute of Technology. His current re-
sharing with ABS and CP-ABE in IoT, Wirel. Commun. Mob. Comput. (2018). search interests include cryptography and information
[48] L. Zhou, Q. Liu, Y. Wang, H. Li, Secure group information exchange scheme security. His recent work has focused on the topics of
for vehicular ad hoc networks, Pers. Ubiquitous Comput. 21 (5) (2017) public key encryption with keyword search, proxy re-encryption, identity-based
903–910. encryption, and techniques for resistance to CCA attacks.

You might also like