## 5 System Construction
### System Setup
[PERSON]\({}_{\text{j}}\), once receiving the signature, instead of opening it, sends an authentication check message to nearby RSU. RSU would check the authentication status of [PERSON]\({}_{\text{i}}\) either with data stored with itself, or by transferring the check request to the blockchain. Once RSU receives the check results, it sends a 'True/False' message to the requesting vehicle V\({}_{\text{j}}\). If the status is 'True', [PERSON]\({}_{\text{j}}\) starts communication with [PERSON]\({}_{\text{i}}\) and rejects messages from it altogether. The acceptance of the message from [PERSON]\({}_{\text{i}}\) is responded to by [PERSON]\({}_{\text{j}}\) using a signature of \(\sigma_{\text{j}}=(\pi\mid\mid\text{SK}_{\text{j}}\mid\mid\text{T})^{\text{PKj}}\). ## 6 Performance Analysis

In this section, security on privacy preservation, resistance against a single point of failure, and DDoS is analyzed in addition to the simulation of the proposed system. We evaluate the performance of the proposed system and compare it with the related architectures proposed in the literature in terms of the average packet delay, average packet loss, average packet delivery in the presence of DDoS attack, and also with/without an Eclipse attack on the blockchain. The configuration of the parameter settings is presented in Table 2. A local Ethereum blockchain network is implemented based on PoA on a Lenovo Laptop with the following parameters: Intel Celeron CPU N2840 @ 2.16 GHz, 2 GB RAM). Parity nodes being implemented to connect to RSUs in NS2. zk-SNARK are run where the proof is generated by the vehicle/RSU (Prover) and is verified by CA (verifier). A Zokrates toolbox is used to implement Equations (1)-(3) and sha256 for hashing using MIMC. The Proof generation time is almost 5 s and proof verification time is 3 milliseconds. ### Privacy Preserving

Anonymity and Unlinkability: Anonymity and unlinkability have been successfully achieved in the proposed system through anonymous credentials using zk-SNARK. The real identities of vehicles are masked so that not even RSU can relate a vehicle to a particular identification that satisfies the first design goal. Secondly, with the use of the updated nullifier 'nu', a vehicle's driving trajectory/history is hard to be traced since CA rejects all requests from those who try to forge the proof generated by another vehicle using its 'nu' in order to trace the driving aptitude and location of a specific vehicle. If a registered vehicle/RSU behaves maliciously, it is easy for the CA to locate its identity and ban it from the proposed system. The interesting thing about this proposed system is that proof is generated only once by every vehicle/RSU during its registration and authentication phase, which reduces the computational cost of computing the zk-SNARK proof and makes the system quite lightweight and quick in terms of proof generation/verification. \begin{table}
\begin{tabular}{c c} \hline \hline
**Parameters** & **Settings** \\ \hline Simulation Time & 30 min \\ No. of nodes & 500 \\ Max speed of nodes & 20 m/s \\ Node Mobility & Random \\ Area size & 1000 m \(\ast\) 2500 m \\ Traffic & Constant Bit Rate (CBR) \\ Distance between nodes (average) & 2.5 m \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Configuration Parameters. ### Security against SPoF and DDoS/Eclipse Attacks

With the blockchain, the problem of single point of failure (SPoF) is omitted altogether. Blockchain is a decentralized architecture composed of different nodes such as RSUs, so it becomes very easy for vehicles within the network to access the network if even a single RSU is working honestly within the network. Single point of failure is effectively omitted through the proposed system by using blockchain and hence satisfies the second design goal. The second design goal is the major intention of this study. RSUs and vehicles registered within the blockchain network remove the illusion of DDoS and Eclipse attacks from adversaries in the shape of a malicious RSU or vehicle.