## 3 Blockchain
### Benefits and Challenges  
By converging all the technologies and paradigms mentioned above, Blockchain ensures various security properties and benefits for network nodes. However, it does not come without its challenges and obstacles.  
Types of Blockchain  
There are three types of Blockchains: public, private, and consortium Blockchains, which are a combination of the first two.  
Public Blockchains are decentralized, immutable, preserve data non-repudiation (see Section 2.4.7), transparency, and traceability of transactions but have low scalability and flexibility. They do not require permission for access (_permissionless_), which means any node can enter and leave the network at any time.  
Private Blockchains are the opposite: centralized, mutable, might not preserve data non-repudiation, transparency, or traceability of transactions, but have high scalability and  
Figure 9: Smart contract lifecycle.  
flexibility. They require permissions before accessing the Blockchain (_permissioned_), which means nodes require permissions to access the network, call functions, or even see data.  
In the middle of both, there are Consortium Blockchains. These Blockchains are partially decentralized, partially immutable, partially refusable, and partially traceable while achieving somewhat good scalability and flexibility. They are permissioned as well.  
The usage of these three types of Blockchain depends on where and how they are deployed and implemented in the environment. For example, usually, private Blockchains are used in private networks.  
Given the information above, the following is deductible: Blockchain assures _Data authentication_ since every user has a pair of keys and their public key is identifiable. As such, it also ensures the property of _Data non-repudiation_, because since data is hashed with the user's keys, the data is connected to that user, and its actions cannot be denied. Each private and public key is unique, and since they are used to sign block hashes and transaction records, _Impersonation_ becomes almost impossible. _Privacy_ is maintained, but not completely, by making Blockchain addresses anonymous. However, the key management authority will always know what vehicle a key belongs to. _Data integrity_ is maintained since data blocks have hashes that are calculated once. If the data is tampered with, it will generate a new, different hash, which would be detected rapidly, as mentioned above. The usage of cryptography ensures the properties of _Data confidentiality_ and _Access control_ in exchanging messages and smart contracts. Finally, Blockchain can also assure _Availability_, by allowing communication in heterogeneous environments since it can be deployed in overlay P2P networks. These properties of the Blockchain cover most of the security requirements of IoV systems mentioned in Table 2.  
While having many benefits, typical Blockchains suffer from low throughput, specially PoW-based Blockchains like Ethereum [64]. The cryptographic functions can be way too computationally and energy-intensive for the resource-constrained devices that are now proliferating in new network paradigms such as IoV, especially when using consensus protocols like PoW. There is also the debate between assuring complete privacy and anonymity or having data traceability, since achieving complete privacy and anonymity does not allow the Certificate Authority (CA) (the entity that assigns keys to nodes) to trace malicious transactions to the dishonest nodes in the network. A Public Key Infrastructure (PKI) is used by CAs to achieve privacy while guaranteeing traceability, making it so there is no way that attackers can link public keys to real identities [7].