2327-4662 (c) 2018 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/JIOT.2018.2875542, IEEE Internet of
Things Journal
3
traffic-related information, and share their data stored in edge
nodes for getting rewards based on their contributions [16].
Each vehicle chooses its own role according to data demands
and driving plan.
2) Edge nodes: We consider RSUs at the edge of VECONs
are the edge devices (nodes). The RSUs are upgraded to have
computational capabilities and storage space for computing
and storage services. A certain number of RSUs in the same
area form a vehicular edge cluster. There are a local controller
and a storage pool in each vehicular edge cluster as shown in
Fig. 2. The local controller works as a data broker to manage
data requests from local data requestors. A storage pool stores
local data uploaded by vehicles. Each data requestor sends a
request about data demand to the nearest RSU after finding
the best local data provider by ISSC. The data providers will
make decisions about data sharing authorization. The RSUs
act as not only data aggregators in DSSC, but also miners in
ISSC.
3) Data storage smart contract for distributed data storage:
DSSC for distributed data storage mainly consists of the
following components.
• Raw data: Due to limited storage resource of data
providers, a variety of raw data, such as information about
ice on road, traffic conditions, parking lot occupancy, and
rating of a restaurant, are stored in edge nodes. These
data can be used for various types of researches, e.g.,
data analysis. For security and privacy protection, the
raw data should be anonymous, and should be encrypted
and attached with digital signatures of data providers.
The data providers use different pseudonyms to encrypt
different raw data for decreasing the relevance of raw data
generated by the same data provider [19], [20].
• Data blocks: As shown in Fig. 2, edge nodes (i.e., RSUs)
working as data aggregators will periodically integrate
received raw data into a data block, and broadcast the
data block to other edge nodes for verification. Before
a new data block is inserted into immutable vehicular
blockchain, a consensus should be reached among the
edge nodes through a mechanism named proof-of-storage
in DSSC. A local controller generates a storage address
list of raw data for each data provider. The data provider
searches and reads its raw data according to the corre-
sponding storage address list.
• Proof-of-storage about storage resource contributions:
The edge node with the most contribution on storage
space in every vehicular edge cluster is rewarded by
vehicle coins over a period of time, which is an incentive
to encourage edge nodes to provide enough storage space
for local storage. Here, the vehicle coin is a specific
crypto-currency for VECONs. The total amount of con-
tributed storage is recorded by a local controller, which
is the proof-of-storage for edge nodes about storage
resource contributions.
4) Information sharing smart contract for decentralized
data sharing: There are three components in ISSC as follows.
• Metadata: A data provider first generates an index of
its raw data as a metadata before uploading to vehicular
Storage pool
Local controller
Data aggregator
Vehicular edge computing and networks
Vi
RSU
Vj
Ĺ Data blocks generation
ĸ
Proof of work
Smart
contract
RSU
Fig. 2: Secure data storage and sharing using blockchain in
vehicular edge networks
blockchain using DSSC. The metadata generally contains
a pseudonym of the data provider, storage address of
raw data in vehicular edge clusters, data description (e.g.,
type, accuracy, size, sampling frequency, collection time,
and sharing permission, etc.), reputation opinions of vehi-
cles, and digital signature for verification. A data sharing
record includes entity information of data sharing, sharing
range and so on. The metadata and sharing records are
integrated into a block and uploaded to an edge node for
verification among edge nodes. More details are provided
in Section III-B and IV.
• Proof-of-work about data audit for edge nodes: Each edge
node collects and verifies local metadata in its coverage.
All edge nodes broadcast their local metadata to other
edge nodes in the vehicular blockchain. Every edge node
periodically structures newly received metadata into a
local data block, and competes to find an available hash
value based on parameters of the local data block. Similar
to traditional proof-of-work in Bitcoin [18], this hash
value should meet a preset difficulty controlled by the
whole blockchain system to adjust generation speed of
new data blocks. The fastest edge node adds its local
data block to the vehicular blockchain using DSSC after
verification by other edge nodes, and thus it gets a certain
amount of vehicle coins as rewards. Edge nodes can use
received vehicle coins to further upgrade their storage and
computation resources.
III. SECURE AND EFFICIENT DATA STORAGE AND
SHARING SCHEMES IN THE VEHICULAR BLOCKCHAIN
A. An Overview of Our Proposed Schemes
In this paper, smart contracts are exploited to achieve secure,
reliable, and efficient data sharing. A smart contract is a script
resided on blockchains to enable automation of multi-step
processes, which cannot be modified or interrupted because
of the distributed nature. For this reason, the usage of smart
contracts could improve the reliability, efficiency and security
of the vehicular blockchain. Two smart contracts, i.e., DSSC
and ISSC, are deployed on vehicular blockchain to enable
secure and decentralized data sharing.
Fig. 2 shows that vehicles driving along the road generate
and upload raw data and their corresponding metadata to