1. Introduction
Thanks to the increasing adoption of Internet of Things (IoT) devices into today’s vehicles, the acquisition of road traffic-related data has become easier. In addition to sharing these data, vehicles have also become capable of interconnecting and requesting services, on-the-fly, from third parties (e.g., insurance companies) as well as from roadside infrastructure (e.g., road traffic signs) for safer and more efficient commutes. To leverage these capabilities, intensive efforts, particularly from car industries, are being spent to ultimately create autonomous connected vehicles, which represent a key concept in the next generation of Intelligent Transportation Systems (ITS) [
1]. Vehicles are, therefore, evolving toward becoming cyber–physical systems that create Vehicular Ad-hoc NETworks (VANET) through which relevant information is timely-provided to a wide range of stakeholders (including drivers, road traffic authorities, manufactures, maintenance companies, and insurance companies) for various applications [
2]. Collecting and disseminating information on life-threatening traffic events with VANET have, particularly, become of utmost importance [
3]. However, due to the current processing and communication restrictions of onboard IoT devices, enabling secure communications while fulfilling the latency requirements between vehicles is yet a major concern [
1]. Indeed, these communications are still prone to various types of attacks, including Sybil, Denial-of-Service (DoS) attack, jamming, and fabrication [
2]. In addition to preventing vehicles from conveying secure messages, these attacks are increasing privacy concerns in VANETs, such as reliability, anonymity, and traceability [
4].
Blockchain has recently arisen as a promising technology for sharing and protecting vulnerable data in distributed and decentralized systems [
5,
6]. Blockchain essentially uses public-key cryptography to sign transactions among various parties. Transactions are afterward stored in a distributed ledger. The ledger comprises cryptographically-linked data blocks (i.e., transactions), which are practically impossible to alter or remove. Thanks to its unique values of trust, immutability, transparency, and disintermediation, Blockchain is being increasingly used by governmental, industrial, and academic entities in a wide range of application domains, including banking, healthcare, logistics, and transportation [
2].
In the particular field of transportation, various Blockchain-based solutions have been proposed, for example, for interconnected smart vehicles (e.g., [
7]), ITS (e.g., [
8]), forensic applications (e.g., [
9]), secure key management (e.g., [
10]), data collection and sharing (e.g., [
7,
11,
12]), and vehicle communications (e.g., [
1,
3,
5,
8,
13,
14]). In spite of the relevant approaches that have addressed vehicular communications, Blockchain solutions are still computationally expensive. Indeed, accepting new vehicles in the Blockchain and/or carrying out transactions yet require intensive exchanges with endorsing peers. As road traffic data are increasingly voluminous, these endorsing peers are becoming practically unable to verify transactions and deliver their verdicts within reasonable timeframes.
The entire Blockchain is consequently slow in updating, synchronizing, and distributing new copies of the data blocks. This slowness is significantly hindering the scalability of any Blockchain-based solution. In the specific context of a vehicular network, current Blockchain mechanisms include a higher number of endorsing peers, unless they are thoroughly adapted to fit the available limited resources or replaced with revolutionary approaches. To address these shortcomings, we argue that vehicles must be capable of selecting the right endorsing peers for the right transactions they want to perform in order to reduce their communication overheads. As VANET is by nature highly dynamic and opportunistic, we argue that vehicles must be aware of their surrounding contexts and rely on the minimum number of peers to carry out their transactions. To reach these goals, we propose in this paper to model the participant vehicles in the Blockchain according to a Belief–Desire–Intension (BDI) architecture. This architecture has been intensively and successfully used in the Multi-Agent System paradigm to intelligently model human behaviors and interactions [
15]. Our contributions in this paper are summarized as follows: (1) a BDI architecture that endows vehicles with intelligent mechanisms to optimize communications via a selective endorsement approach; (2) a new approach that relies on collecting minimum endorsing scores to carry out transactions through multiple endorsing levels; (3) an approach to promote vehicles to higher endorsing levels based on the history and impact of their transactions; and (4) a new approach for collaborative endorsement.
In the remainder of this paper,
Section 2 highlights the current literature on using Blockchain in vehicular networks. A special attention is given to optimizing and securing communications among vehicles.
Section 3 outlines the system model of our solution. It also explains our concept of multi-endorsing levels to manage and optimize communications in the vehicular network.
Section 4 presents our approach for admitting new vehicles in the Blockchain.
Section 5 is dedicated to our solution for empowering vehicle communications with intelligence. This section particularly focuses on our proposed BDI architecture to model the vehicle participating in the Blockchain. It also focuses on our approaches for selective communication, collaborative endorsement, and promoting endorsers to higher levels.
Section 6 reports and assesses the results of our simulations.
Section 7 presents a brief discussion of the results obtained. Finally,
Section 8 concludes the paper and outlines future works.
2. Related Work
Several studies (e.g., [
5,
6]) have reported that Blockchain is a promising alternative to solve the recurrent issues of data privacy, protection, and ownership, particularly thanks to its peer-to-peer structure, the mechanisms it offers to increase anonymity, transparency, and protection as well as to the absence of a trusted central authority [
12]. Within the specific realm of vehicular networks, various related architectures have been proposed. In this regard, [
16] described an architecture of a model Block-Vehicular Network (VN) in the context of smart cities. The architecture could be used as a basis for the implementation of large-scale vehicular networks where resources are shared more effectively. In the proposed architecture, nodes can decide from whom they would request services based on a rating list. Ref. [
17] have presented a trust-based architecture that uses Blockchain technology to increase the privacy of users in the VANET. The architecture also aims to improve security against MAC layer attacks, including DoS attacks, Sybil attacks, and fabrication. The solution uses hashing techniques and timestamps to preserve the freshness of messages delivered. It also uses message rating and a credibility approach (i.e., vehicles that convey fake messages will have low credibility) to manage trust among vehicles during information exchange. Ref. [
6] have presented a Blockchain-based vehicle network architecture called Block-VN. Block-VN operates in a distributed way to create a distributed transport management system within the context of smart city.
Furthermore, several Blockchain-based solutions for vehicular networks have been proposed for secure key management (e.g., [
10]), data collection and sharing (e.g., [
4,
7,
9,
11,
12]), as well as vehicle communications (e.g., [
1,
3,
5,
8,
13,
14,
18]). With respect to key management, [
10] have designed a framework to manage security keys within an heterogeneous vehicular network. The framework includes security managers that capture relevant vehicle information, encapsulate block to transport keys, and perform rekeying to vehicles inside the same security domain. The framework is based on a decentralized structure where Blockchain is used to simplify distributed key management. With respect to data collection and sharing, [
9] have proposed a permissioned Blockchain framework for the management of information collected through vehicle on-board sensors. The framework includes a fragmented ledger to store this information as well as additional relevant data (including reports on car diagnosis and the history of car maintenance). The authors have included Vehicular Public Key Management (VPKI) into the Blockchain to enable vehicles to join the proposed system as members while ensuring their privacy. Ref. [
4] have presented a privacy-preserving incentive announcement network that enables several users to anonymously send messages within a non-fully trusted environment. To this end, the network, called CreditCoin, is using Blockchain to ensure privacy, trace malicious users’ identities, incentivize users to share traffic information, and implement tamper-resistant transactions. Ref. [
7] have investigated how the joint use of Blockchain and interconnected vehicles can solve the security issues related information management. In this regard, the authors have proposed a Blockchain solution using an overlay network. The nodes of the network are divided into clusters. The heads of the clusters are responsible for the management and the operation of the Blockchain functions. [
11] have proposed a Blockchain solution that includes an incentive-based approach to identify road conditions, detect road accidents, and encourage the use of less congested roads. The solution uses beacons mounted on roadside sections to detect approaching vehicles, get their destinations, and estimate the conditions of roads accordingly. Ref. [
12] have recommended the joint use of IoT and Blockchain technologies to manage road hazards. The authors have used the hashgraph technology (which is a distributed ledger technology) to create communication networks between vehicles as well as other components of the vehicular network. They have also suggested to use hashgraph to schedule requests based on their priorities and ensure better Quality of Service (QoS) accordingly.
With respect to communication within the vehicular network, [
1] have proposed the use of a ring-signature based scheme to check the identity of vehicles that are requesting to join the network. The authors have also used a Blockchain solution to verify and secure the exchange of information among the successfully identified vehicles. To this end, they have created secure communication channels using multi-party smart contracts. The proposed solution is capable of enabling the members of the vehicular network to exchange almost instantaneous messages anonymously by means of cryptographic primitives. Ref. [
13] have presented a Blockchain solution to secure communications among intelligent vehicles by using acoustic side channels and visible light communications. To solve the critical issue of message dissemination in VANET, [
3] have created a local Blockchain for the exchange of real-world event messages between vehicles within the same country. They have also presented a public Blockchain to store the trustworthiness of messages and nodes in a distributed ledger. This ledger is then used to ensure appropriate secure message dissemination. Ref. [
14] have used Blockchain technology for a secure distributed message passing. The proposed framework does not rely on a centralized server. It also rates the credibility of a message and then forwards it through designated short-range communication. Ref. [
5] have used Blockchain technology to implement an Intelligent Vehicle-Trust Point (IV-TP) solution for secure and reliable communications among intelligent vehicles. The solution assesses the trustworthiness of vehicles and identifies their legal and illegal actions. It also uses a reward-based system to motivate sharing information between vehicles. Ref. [
8] have developed a trust-extended decentralized authentication mechanism (TEAM) for decentralized communications between vehicles. TEAM implements a mechanism for transitive trust relations to improve the performance of authenticating vehicles within the Blockchain. Ref. [
18] have developed an encryption system based on Blockchain to enable the management of trust during vehicle communications as well as during real-time cloud-based video monitoring.
The aforementioned works have proposed relevant Blockchain-based solutions for vehicular networks. However, we argue that the use of intelligent approaches is still insufficient, particularly to address issues related to vehicle communications. In this respect, we argue that the extensive literature in the artificial intelligence domain will definitively enable more flexible, secure, context-aware, privacy-aware, and resource-aware communications among vehicles.
3. System Model
Let us consider in this paper a Blockchain consisting of V connected vehicles (
) and E endorsing peers (
),
, and
. Every vehicle uses the Blockchain by submitting transactions as requests for services of individual interest (e.g., car maintenance) or by sharing information of common interest (e.g., road traffic accident). These transactions will be examined by the endorsing peers and then written along with their validity in a distributed ledger. We assume that data stored in the Blockchain are classified into
p categories, based on several parameters, such as sensitivity. Without loss of generality, we assume that the
p categories are predefined and are known by all the vehicles which are members of the Blockchain network (
Figure 1). We also assume that the Blockchain includes a node called Ordering Service that is responsible for adding the transactions (after their validations) to the Blockchain Block and sharing them with the members of the network. The Block could be written as follows:
where refers to the transaction j of data category i.
In our model, we classify the endorsing peers into
q levels (
Figure 2). The higher the level of the endorsing peer, the higher the categories of data the peer has access to as well as the higher the categories of data it can share. For example, an endorsing peer with level 1 will have access to and can share data of categories 1 and 2 only, whereas an endorsing peer with level 3 will have access to and share data of categories 1, 2, 3, 4, and 5. Endorsing levels are earned over time. The Ordering Service will keep track of the number, veracity, and impact of transactions carried out by each endorser and generate a h-index accordingly (the h-index summarizes the value of the contributions of the vehicle in the Blockchain as well as its trust and its endorsing levels). The endorsing level of the endorser (i.e., the vehicle) will then be issued regularly (for example after a given number of transactions or after a specific period) based on this h-index. In
Figure 2, we explain how vehicles can join the different levels of our endorsing structure. In fact, when a new vehicle wants to join the Blockchain, it must collect a prerequisite minimum score (also called consensus) from endorsing peers (as recommendation scores). We say in this case that the vehicle is joining a consensus level. Vehicles that are already members of the Blockchain have two options: (1) join a higher endorsing level temporarily (in this case they need a minimum consensus score); or (2) join a higher level officially (in this case they need a minimum endorsing score. The endorsing score is higher than the consensus score, particularly since being part of an endorsing level is an official commitment from the vehicle). Vehicles can also be promoted to the next levels, either automatically based on their h-indexes (calculated by the Ordering Service) or by collecting the necessary remaining scores for their promotions. We assume in this paper that the consensus scores as well as the endorsement scores are predefined. We also assume that endorsers have weights depending on their levels. These weights are also predefined.
4. Admission Control in the Blockchain
During the registration phase, a new vehicle willing to join the Blockchain has the choice to join a consensus level (see
Figure 2) temporarily (i.e., without being an endorser) or officially (i.e., the vehicle will be an endorser). To this end, the vehicle must collect the minimum score for the selected level. This score will be obtained based on recommendations from neighboring vehicles at the moment of submitting the request to join the Blockchain. Since the vehicular network is by nature highly dynamic, the endorsing peers in the vicinity of the vehicle will vary over time. The vehicle may be capable of collecting the required score easily. The vehicle may also find difficulties to reach its aim. In this case, it may consider waiting until better options for obtaining the required score are available. Waiting could be the best option for the vehicle. Indeed, if the vehicle decides to join the Blockchain officially, it will be registered in the level for which it obtained the necessary score. To go for higher levels, the vehicle will need to increase its contributions to the Blockchain and carry out trusted transactions with high impact. To do so, the vehicle must be endowed with intelligent mechanisms to make the appropriate decisions at the right time, based on the available contextual data as well as the data of the vehicle itself. In this paper, we calculate the score S of a given vehicle
as follows:
where
denotes the weight of the endorser of level
i,
,
j is the score given to V by the neighbor vehicle j which is an endorsing peer in the Blockchain of level i. We assume here that scores are received only from the neighbors who accepted the request to score V. For example, in the scenario of
Figure 3, the vehicle V (represented with a black circle) has 7 neighbors of level 2. However, only 4 of them accepted giving scores (represented in
Figure 3 as circles with bold boundaries). According to the configuration of
Figure 3, the score of the vehicle V is calculated as follows:
6. Performance Evaluation
To assess the performance of our solution, we used the Hyperledger Caliper software tool [
19]. This tool can produce reports containing various performance indicators, including resource utilization, transactions per second, and transaction latency. We mainly focused on analyzing the transactions’ execution times. To this end, we ran our simulations within two scenarios: (1) by varying the number of vehicles in the Blockchain network; and (2) by varying the number of transactions while maintaining a fixed number of vehicles (
Table 1). We ran our simulations for 80 s on a 2 km-long four-lane road section (two lanes in each direction).
In the first scenario, the number of vehicles ranged from 50 to 250. We considered the scenario of sharing data about road traffic. The execution time was mainly spent on processing transactions, peer-to-peer communications, and updating the Blockchain ledger accordingly. According to our obtained results (reported in
Figure 6), an average time of about 50 ms was needed to read one transaction in the Blockchain. This time was shorter than what was reported in several studies (e.g., [
20]). We can particularly remark that the number of vehicles had limited effects on the processing time of transactions. Indeed, in contrast with the existing approaches where the vehicle should be endorsed by a number of peers that increases with the number of vehicles in the simulations, our solution keeps the number of endorsing entities limited as long as a minimum endorsing score is obtained. This is mainly enabled by our BDI agents that intelligently identify and communicate with the right peers to process the transactions. In the second scenario of our simulations, we report in
Figure 7 the total execution times to process a varying number of transactions while fixing the number of vehicles to 250. As expected, processing more transactions increased the execution time. However, if we consider individual transactions, we can remark that the average execution time with our solution decreased. Indeed, when the number of transactions is equal to 50, the total time to process all the transactions is 4 s. The average time to process one transaction is, therefore, 0.08 s. However, for 250 transactions, the total execution time is 14 s and, hence, each transaction needs an average of 0.056 s to be executed. We explain this performance by the fact that the BDI agents did not need to repeat the same process of identifying and contacting peers to endorse their transactions. They, indeed, examined the transactions and followed the same procedures to carry out transactions involving similar data categories and requiring similar endorsing scores.
7. Discussions
We have implemented a new Blockchain-based solution using the Blockchain open-source platform: Hyperledger Fabric [
21]. This platform has been reported as one of the most suitable platforms for the vehicular network [
22]. It particularly allowed us to manage huge amounts data collected thanks on-board vehicle devices.
Thanks to their on-board devices, vehicles are now capable of acquiring huge amounts of data. To make the best use of these data, vehicles must be capable of exchanging them securely and anonymously. However, sharing large volumes of data over the Blockchain will make it slower and more cumbersome. In order to address this issue, our solution includes intelligent mechanisms for selective communications. In fact, if an important change happens in the vehicle (e.g., engine crash), the agent will need to identify the required score to submit an urgent transaction to the Blockchain. If the vehicle is able to obtain this score thanks to its endorsement level then the transaction is submitted right away to the Blockchain. In the opposite case, the agent must identify and contact the appropriate group of endorsers that will help collect the expected score. The vehicle may have varying neighbors in time and space with various levels in the Blockchain. The agent must reuse its previous experience to make an optimum selection of the endorsers. It is sufficient for the agent to secure the bare minimum number of endorsers to collect the required score. Nevertheless, the agent would seek higher scores in the hope to obtain a higher priority for the processing of its transaction and/or to upgrade its level in the Blockchain (see
Section 5.2). Upgrading this level is necessary and would motivate agents to share data through the Blockchain. Indeed, it may happen that the agent is attempting to carry out a transaction that includes sensitive data for which it does not have the required sharing rights (for example, a private vehicle may cross a criminal accident. It comes only to the police, but not to private cars, to announce that the driver is armed and dangerous). Three options are possible for the agent. In the first option, the agent will seek to collect the necessary consensus score to temporarily join the endorsing level that will allow for performing the transaction. In this case, the agent will run the same admission control process described in
Section 3. In the second option, the agent will carry out a collaborative endorsement process (see
Section 5.2). To execute the transaction with the first or the second options, we propose to allow the agent to record its mutual trust with the agents with whom it is dealing. This trust will particularly allow the agent to focus on exchanging with the right endorsing peers for the right transaction (e.g., the endorsing peers that will accept scoring requests). Communications with the Blockchain could, therefore, be reduced and response time for data sharing could be shortened. In the third option, the agent will submit the transaction to the Blockchain. The transaction will then be scheduled and processed based on the level of the agent as well as the priorities of any other transactions submitted to the Blockchain. In this case, the transaction may be delayed and the vehicle would not obtain the requested service at a convenient time.