High penetration of distributed generation and renewable energy sources in power systems has created control challenges in the network, which requires the coordinated management of these resources. Using virtual power plants (VPPs) on a large scale has solved these challenges to a significant extent. VPPs can be considered systems consisting of distributed generations, energy storage, controllable loads, electric vehicles (EVs), and other types of resources to provide energy and ancillary services. VPPs face various challenges such as energy management, operation, resource uncertainty, participation in electricity markets, etc. This paper discusses an overview of the basic challenges of VPPs, including control and communication issues, electricity markets, its different models, and energy management issues. The main purpose is to investigate the performance of VPP in different markets, energy management of VPP in different operating conditions and strategies, and compare different planning methods for VPP. Note that the application of blockchain to control and improve VPP performance has been investigated, taking into account the different layers of this technology.