## 3 The Proposed Method and Scenarios
### Overview of the System
#### 3.1.3 Main Parts of the Kerberos-Blockchain VANET System  
This research includes two main parts: the authentication part and the blockchain part, as shown in Figure 3. The authentication part uses Kerberos authentication. The Kerberos server has two sub-servers that have different functions. The Authentication Server (AS) has the function of checking the vehicle's credentials and generating a TGT as the vehicle's credential to be able to obtain service tickets from the Ticket Granting Server (TGS). The TGS will also generate an authentication message as the credential in the handover process that needs re-authentication for every vehicle that enters the new RSU communication range. That authentication message will be uploaded to the blockchain.  
The blockchain part includes smart contract creation to upload and access that authentication messages. The agreements that we used to write down the solidity codes are entity name, entity ID, and network name. The entities include vehicles, RSU, and TAS. Within these solidity codes, we created four smart contract functions, including the deployment function, the entity registration, the authentication message uploading and, the authentication message uploading function. The deployment function is a function at the beginning to initialize the system. Entity registration is a function to register every entity in the system. Authentication message uploading is a function for uploading the authentication messages, and authentication message accessing is a function to access the authentication messages. In the authentication message uploading and accessing function, we need to know the entity name, which we create as a unique parameter. Based on this parameter, we set the entities that are able to upload the authentication messages as only the TAS. Then, the entity that can access the authentication messages is the RSU. After entering the input parameter, it will be verified by all the other parties in the network. After reaching a consensus, the transaction will be added as a new block in the blockchain.  
Figure 2: Resume of initial authentication phase and handover process.  
To implement the system, we use Ethereum blockchain. Blockchain is particularly suitable for VANETs (Vehicular Ad-Hoc networks) for several reasons, primarily due to its robust and well-proven characteristics. There are several existing Distributed Ledger Technologies (DLTs) besides blockchain, such as Directed Acyclic Graph (DAG), Holochain, and Hashgraph [22]. While each of these DLTs offers innovative features, they come with disadvantages that make them less suitable in VANETs compared to blockchain. DAG is relatively newer and has shown vulnerabilities, such as potential attacks exploiting low transaction fees and double-spending. These are significant risks in a critical environment like VANETs. Holochain, Radix, and Corda are newer technologies and do not have the same level of standardization, while many blockchain platforms, especially Ethereum, have established standards and protocols that can be leveraged for VANET applications. While Corda supports smart contracts, it is more businesses-oriented, focusing on enterprise use cases rather than the real-time, high mobility of VANETs. The support for smart contracts in blockchain, especially in Ethereum, allows the creation of automated services such as vehicle coordination and cooperative agreements, fitting well with the VANET's requirements. The ethereum use the standard version f3553 dd [23]. There are several platforms of blockchain that have already been established and have maturet standardization, such as Ethereum and Hyperledger [24]. This system utilizes the Ethereum blockchain rather than Hyperledger. Although it supports smart contracts, Hyperledger emphasizes chain code, which has limited flexibility compared to Ethereum's smart contracts, which have robust and flexible capabilities. It enables more complex vehicle interactions and autonomous services, essential in VANET systems.