The efficiency of cooperative communication protocols to increase the reliability and range of transmission for Vehicular Ad hoc Network (VANET) is proven, but identity verification and communication security are required to be ensured. Though it is difficult to maintain strong network connections between vehicles because of there high mobility, with the help of cooperative communication, it is possible to increase the communication efficiency, minimise delay, packet loss, and Packet Dropping Rate (PDR). However, cooperating with unknown or unauthorized vehicles could result in information theft, privacy leakage, vulnerable to different security attacks, etc. In this paper, a blockchain based secure and privacy preserving authentication protocol is proposed for the Internet of Vehicles (IoV). Blockchain is utilized to store and manage the authentication information in a distributed and decentralized environment and developed on the Ethereum platform that uses a digital signature algorithm to ensure confidentiality, non-repudiation, integrity, and preserving the privacy of the IoVs. For optimized communication, transmitted services are categorized into emergency and optional services. Similarly, to optimize the performance of the authentication process, IoVs are categorized as emergency and general IoVs. The proposed cooperative protocol is validated by numerical analyses which show that the protocol successfully increases the system throughput and decreases PDR and delay. On the other hand, the authentication protocol requires minimum storage as well as generates low computational overhead that is suitable for the IoVs with limited computer resources.