The fast-growing penetration of distributed energy resources (DERs), such as distributed renewables, energy storage, electric vehicles, and controllable loads, poses significant challenges to the centralized power systems with unidirectional power flow. Successful integration of heterogeneous DERs calls for a paradigm shift to a decentralized power system with bidirectional power flow. As such, virtual power plants (VPPs) attract considerable research attention as a promising paradigm to manage DERs. In the modern smart grid, the VPP aggregates the capacity of the heterogeneous DERs to form a cloud-based distributed power plant to provide grid services (e.g., feed-in energy, demand response, and ancillary service), as well as energy trading. Therefore, the VPP can replace the conventional power plant to achieve higher efficiency and better flexibility.
Currently, the operation of a VPP is often managed by a central coordinator who remotely controls all the VPP users. By this method, the coordinator collects a wide range of information from all the VPP users and processes them to generate the optimal energy schedule; then, the coordinator commands all the users to execute the optimal energy schedule in their VPP operation. However, as the number of VPP users increases, the conventional VPP energy management method faces three critical challenges. First, the operation of the VPP coordinator is a “black box” that cannot be verified and trusted by the VPP users. Second, the centralized VPP energy management collects all the users’ private energy usage information, thus incurs privacy leakage concerns. Third, there is still a gap between the theory and the implementation of the VPP energy management method in practice.
1.1 Related works
A large body of literature has focused on the energy management and scheduling of various DERs in VPPs. For example, a service-centric virtual power plant was studied in Koraki and Strunz (2017) to integrate solar and wind energy generations into the electricity market by enabling the cooperation between the VPP and the distribution system operator. A similar work Kasaei et al. (2017) proposed to aggregate distributed generators, energy storage systems, and controllable loads in a VPP to mitigate the impact of the variable generations and uncertainties caused by wind and solar energy generations. The day-ahead scheduling of a renewable energy based virtual power plant was studied in Zamani et al. (2016) considering the uncertainties of market prices, electrical demand, and intermittent renewable power generation. A new VPP model was proposed in Naval et al. (2020) to integrate all available full-scale distributed renewable generations as a single plant and maximize its profit in the wholesale electricity market. In addition to renewable energy resources in VPPs, many studies developed scheduling strategies for other energy resources, such as flexible demand and energy storage. For example, the authors in Thavlov and Bindner (2014) developed a method to use flexible demand in a building to defer power consumption from electric space heating controlled by an operational virtual power plant. The authors in Royapoor et al. (2020) demonstrated that deferrable loads, such as heat pumps, air handling units, lifts, lighting, circulating pumps, and dry air coolers, can be used to illustrate DR capability for a building VPP. In Giuntoli and Poli (2013), the authors proposed a new algorithm to optimize the day-ahead thermal and electrical scheduling of a VPP, including small-scale prosumers and energy storage. A joint bidding strategy was proposed in Tang and Yang (2019) to schedule energy storage systems, demand response, and renewable energy sources in VPPs for the maximum benefits in the energy market. A stochastic framework was developed in Rashidizadeh-Kermani et al. (2020) for short-term scheduling of electric vehicle parking lots in a virtual power plant. Most of the above studies focused on energy management and scheduling in the energy market.
More recent research explored various types of services that VPPs can provide and participate in the energy market. For example, in Dabbagh and Sheikh-El-Eslami (2015); Mashhour and Moghaddas-Tafreshi (2010); Zhou et al. (2019), VPPs participated in a joint market of energy and reserve service, achieving higher profits. Energy trading as an emerging service was explored in Nguyen et al. (2018); Alam et al. (2019) In Nguyen et al. (2018), an optimization model was presented to maximize the economic benefits for PV-battery distributed generations in a peer-to-peer (P2P) energy trading scenario. In Alam et al. (2019), the authors developed an algorithm to optimize the energy cost for smart homes under P2P energy trading and evaluated the impact of energy trading in a microgrid. However, all the above studies adopted a centralized solution to the energy management and scheduling of VPPs, which is often not practical as DERs are often not owned by the VPP operator.
Recent studies developed game-theoretic models Wang et al. (2015); Hua et al. (2018); Yin et al. (2020) or decentralized solution methods to formulate more realistic scenarios for the operation of VPPs. For example, in Wang et al. (2015)
, the market competition was modeled using game theory to determine the bidding strategy of VPPs, consisting of various distributed generations and battery storage devices. A Stackelberg game-theoretic model was developed inHua et al. (2018) to capture the interaction between the operator and VPPs. In Yin et al. (2020), a robust Stackelberg game was proposed to manage aggregated prosumers in the form of VPP and participate in the day-ahead energy market. However, these game-theoretic models cannot be used to manage VPPs in real-world scenarios without an implementable algorithm. Therefore, implementable algorithms have been developed in a decentralized or distributed manner for energy management and scheduling of VPPs. Distributed algorithms based on the alternating direction method of multipliers (ADMM) were developed to facilitate energy trading among smart homes with heating, ventilation, and air conditioning (HVAC) Yang and Wang (2020) and interconnected microgrids Wang and Huang (2016), consisting of renewables, flexible loads, and energy storage. A decentralized optimization algorithm was proposed in Li et al. (2016) to optimize the demand response of electric vehicles in a VPP. A fully distributed algorithm was proposed in Chen and Li (2018) using ADMM and consensus optimization for a VPP. Similarly, the study in Dou et al. (2021) proposed a decentralized aggregation strategy for multi-energy resources based on bi-level transactions of VPP. The above studies showed the great efforts made toward the distributed and decentralized energy management of distributed energy resources in VPPs. However, these method confronts two hurdles in practical implementation: first, the ADMM-based method still relies on a trusted central coordinator that incurs the risk of single-point failure; second, the process of the optimization method requires a trusted and verifiable computing environment that is hard to realize.
The word “Blockchain” first appears in the whitepaper of Bitcoin Nakamoto (2008), but its concept roots in the research area of distributed system Natoli et al. (2019). The blockchain can be regarded as a distributed ledger that records the states of all the blockchain nodes (Dinh et al., 2018). For example, in Bitcoin, the state of a node is the bitcoin balance of the node, and the Bitcoin blockchain is a global ledger that stores the balances of all the nodes. The global state of the decentralized ledger is maintained by and synchronized among all the nodes using the consensus protocol Swan (2015). As a disruptive technology, blockchain prompts a paradigm shift in both academic and industrial areas of smart energy systems recently Hassan et al. (2019). LO3 Energy 3 deployed a blockchain-based P2P energy trading platform named Exergy in the Brooklyn microgrid to facilitate online payments Mengelkamp et al. (2018). Exergy employed the blockchain technology only as a convenient payment tool for the users, but did not improve the efficiency of the trading system. In this work, we adopt the blockchain as a trustable computing machine to implement our energy management algorithm and also as a secure communication and payment tool.
Furthermore, the latest blockchain systems can execute smart contracts, e.g., Solidity on Ethereum Wood (2019), allowing the users to implement generic programs on blockchain. Sabounchi et al. Sabounchi and Wei (2017) used the Ethereum smart contract to implement a transactive energy trading algorithm based on auction theory. Wang et al. proposed a P2P (peer-to-peer) energy crowdsourcing algorithm based on the Hyperledger smart contract in Wang et al. (2019). In both Wang et al. (2019) and Sabounchi and Wei (2017), the users’ private information, including power consumption records and trading prices, are disclosed on the blockchain. By contrast, we design a decentralized energy management algorithm using the primal-dual method that preserves the users’ privacy. To address the privacy issue, Li et al. Li et al. (2017) designed a blockchain-based credit system to guarantee the privacy and security of the proposed transactive energy trading platform. The study in Yang and Wang (2021b) proposed the idea of using blockchain for the coordination of DERs, and Yang and Wang (2021a) developed a blockchain-based transactive energy system to enable trustable energy trading among prosumers. However, [R6] relies on a centralized credit bank to manage the user’s identity and credit information. Different from Sabounchi and Wei (2017); Wang et al. (2019); Li et al. (2017), our work considers a comprehensive decentralized VPP energy management platform without a central node, and we aim to implement the platform on practical smart meters. Different from Yang and Wang (2021a), our work considered both energy trading among DERs and grid services provided by DERs through the interaction between the DER aggregator and the grid.
1.2 Novelty and contribution
In this work, we present a novel blockchain-based VPP energy management platform to address the above challenges. Blockchain is an open and verifiable distributed database that supports various cryptocurrency and decentralized applications (DApps). Furthermore, the blockchain is also a trustable computing machine that enables us to execute our energy management algorithm with the smart contract. By integrating blockchain technology, this work aims to develop an efficient, trustable, and privacy-preserving decentralized VPP energy management platform. The main contributions of this work are as follows.
To the authors’ best knowledge, this is the first work developing a trustable decentralized VPP energy management platform based on the blockchain technology that achieves correct and verifiable energy schedule.
We consider a comprehensive set of transactive energy activities (such as energy trading and network services) for users and develop a distributed algorithm to optimize system efficiency and preserve the users’ privacy.
We elaborate on the design and implementation of the blockchain-based VPP energy management platform and build a prototype system to validate its effectiveness.
Outline of the manuscript: Section 2 introduces the system model of the blockchain-based VPP energy management platform. Section 3 formulates the VPP energy management into mathematical problems. Section 4 elaborates on the design of the blockchian and the decentralized energy management algorithm for VPP. Section 5 implements a prototype system to evaluate the proposed platform with extensive experiments and Section 6 concludes our work.
2 System Model
This section describes the system model of the blockchain-based virtual power plant and the principle of the decentralized energy management. First, we present the model of the smart house with renewable energy generators, batteries, and different loads. Second, we introduce the virtual power plant that provides various services, including energy trading, demand response, feed-in tariff, and ancillary service. Third, we discuss the design and principle of the blockchain-based decentralized energy management system.
2.1 The smart house
With the growing penetration of renewable energy into the conventional power grid, the smart house becomes the prosumer that can not only consumes but also produces electricity. As shown in the right part of Fig. 1, the smart house is equipped with renewable energy generators such as solar panels and wind turbines. It also supports various appliances (e.g., air conditioner, washer, lighting) to satisfy the user. Additionally, a battery energy storage system is installed in the smart house for storing extra electrical energy. Finally, these aforementioned components are managed and scheduled by the smart meter, which also connects the smart house to the local grid.
To aggregate the distributed energy resources (DER), a cluster of smart houses form a VPP via the existing power line as illustrated in Fig. 1. We denote the smart house users that join the VPP by a set , where is the total number of the VPP users. Without loss of generality, we assume the VPP schedules its service on the basis of a one-hour time slot. In this work, we adopt the day-ahead scheduling model as in (Nan et al., 2018), therefore the operational horizon is for the VPP system.
2.1.1 The power supply
The smart house user in the VPP can acquire electricity energy in several ways. First, the user can generate green energy using its renewable generators. Second, the user can buy electricity from the grid in the conventional way. Third, the user can also buy electricity from other VPP users via P2P energy trading. We next model the three sources of power supply, respectively.
Let denotes the amount of renewable energy generated by user at the time slot . The green energy is generated by the solar panel and wind turbine that varies with the natural environment such as the sunshine condition and wind speed; therefore, the renewable energy is upper-bounded by
where is the amount of energy that user ’s renewable generator can produce during the time slot . To emulate real-world green energy, we collect the power data from practical solar and wind generators installed at Hong Kong.
Since the users can always buy electricity from the grid, let denotes the amount of electricity that user consumes from the grid in the -th time slot. The grid power is limited by the electric fuse of the smart house, hence the following constraint applies
where is the maximal input power allowed by the fuse system of user . To improve peak shaving, the two-part tariff (TPT) pricing scheme is used by the grid operator to charge the grid users. Hence the user’s payment to the grid operator is
where is the normal electricity price and is the peak electricity price set by the grid operator. The peak price is higher than the normal price so that the users are encouraged to shave their peak loads.
To make full use of renewable energy, the user can trade electricity with other users of the VPP via P2P energy trading as proposed by (Alam et al., 2019; Nguyen et al., 2018). By allowing free energy trading, the users can effectively utilize the renewable energy and reduce their energy cost. Therefore, P2P energy trading is an important source of power supply for the VPP users. As shown in Fig. 2, let denotes the amount of energy that user purchased from user at the -th time slot. Note here a positive means user buys energy from user , and a negative means sells energy to user . Therefore, the following constraints are established for energy trading
Note that Eq. (4) guarantees that the energy trading market is balanced at each time slot, and Eq. (5) avoids the invalid case in which the user trades with itself. The price of the P2P energy trading is set by the VPP operator to a fixed value that is lower than the normal price of the grid. Let denote the price of the P2P energy trading, then user ’s payment (or revenue) during the operational horizon is
where a positive means user ’s overall payment to other users, and a negative means user ’s overall revenue from other users in the energy trading. The users can make payment conveniently using the token provided by the underlying blockchain system.
2.1.2 The electric appliances
As shown in the right part of Fig. 1, various appliances are supported in the smart house. We categorize these appliances into three types: adjustable appliance, time-shiftable flexible appliance, and inflexible appliance. The adjustable appliance can be adjusted according to the smart house user’s preference. For example, the air conditioner is a typical adjustable load because its power consumption depends on user’s preferred temperature. The time-shiftable flexible appliance is the kind of loads that can be scheduled and shifted in any time slot of the operational horizon, such as the washer and dryer. Inflexible appliance (e.g., the house lighting and refrigerator) cannot be adjusted nor shifted in time.
In this work, we take the air conditioner as a typical example of the adjustable appliance. The function of the air conditioner is to keep the indoor temperature to the preferred value set by the user. Let denote the indoor temperature of user ’s smart house at time , and the preferred indoor temperature of user . The indoor temperature depends on the power consumption of the air conditioner, denoted by , as well as the environmental temperature . Based on the dynamic model of air conditioner proposed in (Cui et al., 2019; Lu, 2012), the indoor temperature of user is
where the coefficients and denotes respectively the equivalent heat capacity and thermal resistance of the air conditioner. The parameter is the working mode and efficiency of user ’s air conditioner where a positive value indicates heating and a negative value indicates cooling.
We model the user ’s cost by the user’s discomfort to the indoor temperature, which is defined as the deviation of the indoor temperature to the user’s preferred temperature . Hence the user’s discomfort cost is modeled by
In Eq. (8), we assign a weight coefficient to indicate the user’s sensitivity to the discomfort term. In practice, the value of the indoor temperature should be in a reasonable range, therefore we have
where and are the upper and lower bounds of the indoor temperature that can be achieved by the air conditioner.
We denote user ’s load of flexible appliance in time slot by . The flexible appliance can be scheduled to any time slot in the operational horizon but should also follow two constraints. First, the gross sum of the flexible appliance should equate to the user’s demand . Second, the amount of flexible appliance per time slot should also be bounded in a reasonable range . Therefore, we obtain the following constraints for the flexible appliance
Usually the user has its preferred schedule of the flexible appliance, which is denoted by . The preferred schedule reflects the user’s most comfortable schedule of its flexible appliance, hence the deviation to the preferred schedule incurs a discomfort cost defined by
where the coefficient indicates the user’s sensitivity on the discomfort cost of the flexible appliance.
On the other hand, the inflexible appliances have regular (e.g., house lighting) or constant (e.g., refrigerators) power consumption that cannot be shifted over time. We denote the user ’s load of the inflexible appliances in the time slot by a sequence . Unlike the air conditioner and the flexible appliance, the inflexible appliance must be supported but cannot be scheduled by the user.
2.1.3 The battery energy storage system
With the increasing penetration of renewable energy resources, the in-house battery energy storage system (BESS), e.g., the Tesla Powerwall, becomes popular in smart houses. The BESS can store the extra renewable energy in its high-capacity rechargeable battery and feed in energy to support appliances when needed. By aggregating the users’ battery storage, the VPP can provide ancillary service to the grid.
We let denote the energy charge level of user ’s battery in the -th time slot. The amount of energy that is charged into and discharged from the battery at time slot are denoted by and , respectively. Therefore, the charge level of the BESS is
where the coefficient indicates the charging/discharging efficiency of the battery. The capacity and maximal power of the users’ batteries are also bounded by their available resources and technical parameters, hence we obtain the following constraints
where is the capacity of the battery. The maximal charging and discharging power of user ’s battery are denoted by and , respectively. The actual value of these parameters can be found in the specification of the BESS (e.g., , , and in kWh for the Tesla Powerwall 2 (36)).
Since charging and discharging degrade the lifespan of the battery, we model the user ’s cost on the BESS by
where is the coefficient that indicates the user’s sensitivity to the battery cost.
2.2 The virtual power plant
In this work, we consider three grid services provided by the VPP: feed-in tariff (FIT), demand response (DR), and ancillary service (AS). The smart house users participate in the VPP by connecting their smart meters to the decentralized VPP management system, which is discussed in Section 4. Unlike the conventional centralized VPP where the operator fully controls the users’ appliances, the proposed decentralized VPP only requires the users to share their trading decisions and lets the users schedule their appliances by themselves in a decentralized manner.
2.2.1 The feed-in tariff
The FIT service allows the VPP users to sell their renewable energy to the grid and receive the feed-in tariff as the monetary reward. The FIT mechanism accelerates the deployment of renewable generation by benefiting both the renewable energy producers and the grid. Without loss of generality, we assume the grid set a fixed FIT price denoted by to the VPP users. Let denote the amount of user ’s FIT electricity at time slot , then the user’s reward is
The FIT is also bounded by the available renewable energy generation of the user, therefore we have the following constraints
where the right hand side is the user’s remaining energy that can be used as FIT.
2.2.2 The demand response
The demand response mechanism motivates the VPP users to adjust their power consumption demand to match the grid supply with certain rewards. The grid operator can send the DR request to signal the users to reduce their power consumption during the peak hours (usually in late afternoon and evening). To respond the DR signal, the user can reduce their electricity supply from the grid by adjusting its schedule of the adjustable appliances and flexible appliances. Let denote the user ’s reduction of the grid electricity usage in the th time slot. Then the user can receive the DR reward from the grid operator such that
where is the DR price set by the grid operator. Note here the operator can set different DR prices for different operational time slots, e.g., a higher DR price for peak hours to achieve peak shaving. Also, the user’s amount of DR response is bounded by its scheduled grid electricity usage ; hence we have the following constraint
2.2.3 The ancillary service
The VPP provides ancillary service to the grid by utilizing the users’ battery storage capability. The VPP pay the users with the AS rewards to incentivize them to reserve some energy in their BESS for load regulation or spinning reserves. The reserved energy can be immediately dispatched from the VPP to the grid to maintain the grid stability or help the grid recover (Melo et al., 2016). Let denotes the amount of energy reserved by user in its BESS at the -th time slot for the AS. Then the total reward this user can earn is
where is the unit price of AS at the -th time slot. The grid operator can set this price according to the forecasted grid demand to ensure a stable operation. On the other hand, the amount of user’s AS is bounded by its battery energy level . Therefore, we have the following constraint
2.3 The blockchain system for the VPP energy management
In this work, we employ the blockchain technology to support the implementation of the VPP energy management platform to achieve three goals. First, we build an open and verifiable energy management platform for the VPP. Unlike the conventional centralized VPP management method, the blockchain is a trusted computing machine that can run the energy management algorithm, thus removes the need for a central coordinator. Second, the blockchain provides a secure and robust communication network. Third, the blockchain’s digital currency provides a useful payment tool for the energy trading and rewards of network services.
We let the users’ smart meters join the blockchain network as the blockchain nodes, as shown in Fig. 3. Current smart meters are embedded smart devices that can deal with complicated computing tasks (Weranga et al., 2014). Running the blockchain node on the smart meter makes use of the existing smart meters. In Fig. 3, the smart meters connect to the grid by the powerline and connect to the blockchain network by the communication link such as LoRa and 5G Narrowband IoT. These connected smart meters form a peer-to-peer network to transmit blockchain messages via the gossip protocol.
The consensus protocol is used by the blockchain nodes to synchronize their local state with other nodes in the network. The consensus protocol is a crucial component that affects the overall performance of the blockchain system. In this work, we adopt the proof-of-authority (PoA) consensus protocol rather than the popular proof-of-work (PoW) because PoW consumes too much computational resource that a smart meter cannot afford. For example, running a Bitcoin full-nodes requires at least 200GB disk space, 2GB memory, 200Kbps network bandwidth, and a CPU that can support a recent version of the operating system 31.
By contrast, the computational complexity of PoA consensus protocol is low, so that it is feasible on smart meters. Furthermore, PoA has a much shorter transaction confirmation time, which is important for network services through the VPP. In the PoA consensus protocol, a group of PoA nodes is selected as the PoA committee to participate in the consensus protocol and generate blocks. Other smart meters are normal nodes that can send transactions but do not generate the block. The PoA nodes are responsible for receiving the transactions, executing them, and packaging them into a new block. The PoA node can also propose to add a new node into or remove an exiting PoA node from the committee, and let other PoA nodes vote on its proposal. If more than half of the PoA nodes agree on the proposal, then the proposal get executed and the members of the PoA committee change accordingly. This democratic voting mechanism guarantees the decentralization of the PoA-based blockchain.
To support VPP energy management, the blockchain offers three types of transactions. The first type is the network service transaction that carries the FIT information , DR information , and AS information . This type of transaction is made between the VPP users and the grid. The second type is the P2P energy trading transaction that carries the trading information . This type of transaction is made by VPP users to interact with the VPP energy management platform. The third type is the token transfer transaction, since the blockchain provides the token as a digital currency (like Bitcoin) to ease the online payment. The token transfer transaction allows the users to pay for P2P energy trading and the VPP operator to pay the rewards. The detailed implementation of the blockchain system will be elaborated later in Section 4.3.
3 Problem Formulation of the Virtual Power Plant
This section formulates the working principle of VPP into mathematical problems. We first consider a benchmark VPP platform where the users work in a standalone mode that each user individually schedules its usage of appliances to provide network services. We then consider the proposed VPP system where the users work in a cooperative mode that the users can trade electricity and exchange their trading information to increase the profit of the VPP.
3.1 The standalone (SA) mode VPP
In the conventional centralized VPP, each user individually schedules their energy usage and interacts independently with the grid to provide the network services. Therefore, in this mode each user tries to maximize its local reward by managing its power supplies (from both grid and renewable generators), electric appliances (adjustable, flexible, and inflexible appliances), battery, and network services (FIT, DR, and AS).
During the VPP management, the power supply and consumption shall always be balanced in each user’s smart house; therefore, the following constraint must be satisfied during the operational horizon
where the L.H.S. sums up all the power consumed by the adjustable appliance , the flexible appliance , inflexible appliances , battery charging , and demand response . The R.H.S. of (24) sums up all the power supplies including the renewable energy , energy from the grid , and battery discharging .
|User ’s adjustable appliance|
|User ’s flexible appliance|
|User ’s inflexible appliance|
|User ’s renewable generation|
|Energy trading between user and|
|User ’s grid usage|
|User ’s battery charging|
|User ’s battery discharging|
|User ’s demand response|
|User ’s feed-in energy|
|User ’s auxiliary service|
The definitions of the vector variables.
User ’s operational cost in the standalone mode VPP is its overall payment minus its overall rewards, then
where denotes user ’s operational cost in the standalone mode. Each VPP user tries to minimize by scheduling its power supplies (grid supply , renewable generation ), electric appliances (adjustable appliance , flexible appliance ), battery system ( charging and discharging ), and network services (feed-in tariff , demand response , and ancillary service ). Therefore, the energy management problem of the VPP can be formulated into the following optimization problem
where the solution represents the user ’s optimal energy schedule in the SA mode. Because the optimization objective function is convex as shown in (26), the user can locally solve the optimization problem of (27) with standard convex optimization tools. Therefore, we omit the solution of the above optimization problem, and let its solution be the benchmark result to compare with the cooperative mode VPP discussed in the next section.
3.2 The cooperative (CO) mode VPP
In the this mode, the users cooperatively schedule their in-house appliances and network services by exchanging surplus energy with each other. In this mode, the energy trading must be considered in the constraint, so the original constraint in Eq. (25) is updated to
where the new term represents the total electricity that user purchases from other VPP users via the P2P energy trading as described in Section 2.1.1. In the cooperative mode, the users’ payments of the energy trading are also included in their operational costs, hence user ’s operational cost is
Accordingly, the user ’s energy management is to obtain the optimal energy schedule that solves the following optimization problem:
where is user ’s optimal energy schedule for its VPP operation. In the cooperative mode, the user ’s energy management solution includes that represents the optimal energy trading decisions with other users. Therefore, the user cannot locally solve the optimization problem in (30) because the solution involves other users’ energy usage schedules. In the next section, we will elaborate our design and implementation of the energy management algorithm to solve this problem.
4 The Decentralized Energy Management Algorithm for Virtual Power Plant
In the conventional VPP system, a authorized coordinator collects all the users’ energy management information and globally minimizes their operational costs in a centralized manner. Specifically, the coordinator solves the following optimization problem:
where the solution represents the optimal energy management schedules for all the VPP users.
However, the above conventional VPP management method has two drawbacks. First, this method incurs great privacy concerns because the users have to reveal all of their energy management information to the coordinator. The revealed information is actually the user’s privacy that includes its preference on the indoor temperature () and flexible appliance (), renewable energy generation capability (), the battery information (), and all of the user’s energy usage schedule. Second, the solution is computed by the coordinator; thus the users cannot verify and trust the result because the operation of the coordinator is a ”black box” to the users. Hence, the conventional VPP management method relies on a trustable coordinator and requires established trust between the users and the coordinator. Therefore, the centralized design is vulnerable to single-point failure and incurs higher operational investment.
To address these drawbacks, we design a decentralized VPP energy management algorithm that preserves the users’ privacy and also achieves the optimal energy management for all the users. Our method only requires the users to share their energy trading decisions without disclosing any other private information including grid usage, renewable energy usage, appliance loads, battery operations, DR, FIT, and AS. Furthermore, by implementing the proposed energy management algorithm in the smart contract on the blockchain, we remove the need for a centralized coordinator in the VPP system.
4.1 The augmented Lagrangian method
We employ the primal-dual method (Jakovetić et al., 2020) to solve the optimization problem (31). According to the alternating direction method of multipliers (ADMM) method Boyd et al. (2011), we first derive the augmented Lagrangian for Problem (31) as
where the term is the auxiliary variable of the user ’s energy trading decision at time slot , and is the dual variable of . The coefficient denotes the penalty sensitivity of the auxiliary variables. We aim to develop a distributed optimization strategy for the energy management problem of the VPP in (31), and the coupling constraints in Eq. (4) and Eq. (5) are the barrier to the distributed optimization. Thus, we introduce auxiliary variables to replicate energy trading decisions , denoted as . Following the short notations in Tab. 1, we also define the vector form for and as below
4.2 The primal-dual decomposition
Based on the augmented Lagrangian in Eq. (32), we decompose the original optimization problem into a primal problem and a dual problem. The primal problem is solved locally by each user; specifically, each user individually computes the following optimization problem
Since the objective function in Problem (37) is convex, the users can use standard convex optimization tool to solve the primal problem. In the primal problem, the values of the auxiliary variable and the dual variable are calculated by the dual problem that is defined as
where the value of the users’ trading decisions are updated by the primal problem. We derive the optimal solution of the dual problem as follows
and the dual variable is updated by
The primal-dual method works in an iterative manner. The primal problem updates the users’ energy schedule decisions including the energy trading decisions . The dual problem uses the value of to update the auxiliary variable and the dual variable , which are used by the primal problem in the next iteration. We define the sum of the Euclidean distance between the auxiliary variable and its original variable as one of the convergence criteria. We also have the difference between the dual variables over iterations and , i.e., , as the other convergence criterion, where . The solution of the primal and dual problems will converge to the optimal solution of the original optimization problem in (31) when the convergence error is small enough, so we have the following convergence conditions
where and are the convergence thresholds, which are usually set as small values.
4.3 Algorithm implementation
As discussed in the previous section, the proposed decentralized VPP energy management algorithm consists of a primal problem and a dual problem. We let the VPP users solve the primal problem in (37) locally on their smart meters. Since the users’ primal problems are decoupled with each other, they can solve the primal problems in parallel. The solution to the dual problem is implemented on the blockchain using the smart contract.
The decentralized energy management algorithm preserves the users’ privacy by minimizing the amount of information that the user needs to reveal to other parties. The user’s private information includes its grid usage (), renewable energy usage (), appliance loads (, ), battery operations (charging , discharging ), demand response (), feed-in energy (), and auxiliary service (). As described in Algorithm 1, the users’ private information is only required to solve the primal problem; therefore, the private information is well preserved because it is locally used by the smart meter and not revealed to anyone else. The only information that the users reveal is their energy trading decisions , which is sent to the smart contract in each iteration.
The whole process of the energy management algorithm is shown in Fig. 4. The algorithm iterates between the primal problem (on users’ smart meters) and the dual problem (on smart contract) until it converges. In each iteration, each user solves the primal problem to obtain their own energy scheduling decisions, including the energy trading decision , and then update this value to the smart contract. Upon receiving the trading decision from all the users, the smart contract automatically solves the dual problem to obtain the auxiliary variables and , then update them to the users to begin the next iteration. The iteration ends when the convergence error defined in (41) is below the threshold, and each user obtains its optimal energy schedule . Finally, all the users execute the optimal energy schedule during the VPP operation.
The primal problem is solved on the user’s smart meter, which is an embedded device with limited computing resources. We numerically solve the primal problem using the quadratic programming package from the GNU Octave (10) on the Ubuntu Core operating system. The hardware specification and its performance will be discussed later in the next section.
The dual problem is solved in the smart contract that is deployed by the VPP operator on the blockchain. This smart contract is implemented in Solidity and consists of three core functions: 1) Function 1 is to solve the dual optimization problem by implementing the numerical computation of Eq. (39) and Eq. (40); 2) Function 2 is to set new values to the variables that store the users’ energy trading decisions . The users can call this function to update their local trading decisions in each iteration; 3) Function 3 is to reveal the values of the dual variables and the auxiliary variables computed by the first function. The users can call this function to read the latest values of and in each iteration.
Specifically, Function 2 and 3 are simple memory access operations, which are implemented by pure Solidity programming. However, Function 1 cannot be implemented in Solidity, because the Solidity language does not support floating-point number operation, which is needed to compute Eq. (39) and Eq. (40). Therefore, we implement Function 1 as a pre-compiled contract written in Go language. We integrate the code of the pre-compiled contract into the source code of the blockchain; hence, they become built-in functions of the EVM (Etherum virtual machine) that can be called in Solidity. In each iteration of the algorithm, the users interact with the smart contract by calling the three functions as described in Fig. 4.
Algorithm 1 describes the working process of the proposed decentralized VPP energy management method. According to the analysis in Boyd et al. (2011), this algorithm converges to the optimal solution of the centralized optimization problem in (31). In this algorithm, the user’s private energy schedule (including grid usage, renewable energy usage, appliance loads, DR, FIT, and AS) is processed locally by the user’s smart meter; thus the user’s private information is well preserved and not revealed to anyone else. The only information that the users need to reveal is their energy trading decisions , which is needed by the smart contract to solve the dual problem. Furthermore, the smart contract runs on the blockchain, which is a trustable computing platform, therefore removes the need for a trusted coordinator and ensures the correctness of the optimization result.
5 System Implementation and Evaluation
In this section, we will present our developed blockchain-based VPP energy management platform and the simulation results for validating our algorithm and system.
5.1 Blockchain-based VPP energy management platform
We present the blockchain-Based VPP energy management platform, including the setup of the experiment, blockchain system, and the algorithm implementation.
5.1.1 Experiment setup
To evaluate the feasibility and performance of the proposed blockchain-based VPP energy management platform, we build a proof-of-concept network of smart meters as shown in Fig. 5b. Because we cannot access the operating system of a real smart meter, we use the NanoPi Neo2 (24) to emulate the hardware of the smart meter. The NanoPi Neo2 is a low-power embedded ARM board with an ARM-A53 (quad-core 1.5GHz) CPU and 1GB memory. We package the board with a metal housing, a 16GB SD card, and an OLED screen to display the device information as shown in Fig. 5a. We use an Ethernet router to connect the 15 NanoPis to form a small-scale private network for our experiment. All the NanoPis run the Ubuntu Core 16.04 as the operating system.
5.1.2 The blockchain system
We adopt the Ethereum (Wood, 2019) as the underlying blockchain system in this work based on the following considerations. First, Ethereum is a mature and well-verified blockchain system that has been applied in many areas. Second, Ethereum supports the smart contract that is needed to implement the Algorithm 1
. Third, Ethereum is an open-source project written in Go Language so that we can modify its source code to tailor the blockchain to our application scenario.
To run the Ethereum blockchain on the smart meter, we modified the consensus protocol from PoW (proof of work) to PoA (proof of authority). The original Ethereum uses the PoW consensus protocol that is computation-intensive and memory-intensive. In our test, running a PoW node on the NanoPi consumes 100% of the quad-core CPU time and all of its memory, which heavily slows down the operating system. By contrast, the PoA consensus protocol consumes much fewer hardware resources, thus is more suitable for smart meters. In our test, we observed that a PoA node consumes about 1.2% CPU time, 565MB memory, and 157MB storage (when block height is 33846) as shown in Fig. 5c; and a normal node consumes about 0.7% CPU time, 390MB memory, and 23MB storage in Fig. 5d. We also found that the memory consumption of the blockchain node can be further reduced by decreasing the number of concurrent TCP links. These hardware requirements can be satisfied by inexpensive embedded devices and modern smart meters (Sargologos, 2011).
To build a test network of the blockchain system, we let five NanoPis be the PoA nodes and let the other ten NanoPis be the normal nodes (Fig. 5b). We use the wireless router to limit the network bandwidth of the NanoPis to 250Kbps, which is close to the network condition of the practical smart meter network. In the experiments, the measured average throughput of the blockchain is about 200 TPS (transactions per second), and the observed peak throughput is 780 TPS. The smart contract (in Solidity) is also supported by the Ethereum virtual machine (EVM) module. A simple web-based front end is built to show the status of the blockchain in Fig. 5f. The experimental result shows that the underlying blockchain is sufficient to execute the proposed decentralized VPP energy management algorithm.
5.1.3 The implementation of Algorithm 1
To verify the feasibility of the proposed method, we implement the solution of the primal problem on the NanoPi using GNU Octave. After solving the local primal problem, the NanoPi sends transactions to interact with the smart contract as described in Section 4.3. Fig. 5e illustrates the execution result of the smart contract. In the test, we set the value of the convergence threshold to . Our Algorithm 1 converges within iterations with the testing data, which shows that the proposed method is feasible in practice.
5.2 Performance evaluation
To evaluate the performance of the proposed Algorithm 1, we collect some energy usage data from real-world smart grid system (Wang and Huang, 2015; Pecan Street, 2019), including solar/wind power generations shown in Fig. 6, in-house energy consumption records (Pecan Street, 2019), and outdoor temperature shown in Fig. 7. The users’ battery capacities are randomly generated in the range from 10kWh to 15kWh in the simulation. Note that, in Fig. 6, the solar power generation is mainly active during the daytime, and the wind power generation lasts longer and is more stable. We use these data as the inputs of Algorithm 1 (described in Section 4) to determine the optimal day-ahead VPP energy schedule.
5.2.1 Power supply scheduling in decentralized VPP
We then implement the decentralized VPP energy management method (Algorithm 1) in Matlab and using the previously described simulation data to evaluate its performance. The algorithm’s outputs are the users’ optimal VPP energy schedules for the next day, as the day-ahead energy scheduling method is used in this work. Our simulation window is one week (168 hours based on simulation data during September 6-12), and the user’s energy schedules include the usage of (adjustable and flexible) appliances, power supplies (from grid and renewable), P2P energy trading, and network services (such as feed-in tariff, demand response, and ancillary service).
Fig. 8 shows the optimal energy schedule of all the ten users’ power supply, including the grid supply in Fig. 8(a) and the renewable energy supply in Fig. 8(b). From the grid supply usage in Fig. 8(a), we observe that the grid supply and the renewable energy are well complemented, which shows the proposed VPP energy management algorithm reduces the users’ dependence on the grid. Furthermore, the flat plateaus in Fig. 8(a) show that the two-part tariff pricing scheme of the grid effectively achieves peak-shaving on the users’ grid power usage. Comparing Fig. 8(b) with Fig. 6, we see that the users’ renewable energy is well utilized by the distributed management algorithm.
5.2.2 Electrical appliance scheduling
Fig. 9 shows the optimal scheduling of users’ appliance load, including adjustable appliance load in Fig. 9(a) and flexible appliance load in Fig. 9(b). We see that users’ adjustable appliance loads all follow the trend of the outdoor temperature shown in Fig. 7 but exhibit differences as a result of different preferred indoor temperature settings. The flexible appliance loads show very devise patterns. Because each user has its own local renewable generations and preference for energy trading and network services, leading to uniquely best scheduling of its flexible appliance load.
5.2.3 Network services
Network services aggregate users’ energy resources and provide multiple revenues to users. Fig. 10 illustrates the optimized network services that users determine to provide, including feed-in energy in Fig. 10(a), ancillary service in Fig. 10(b), and demand response in Fig. 10(c). We see from Fig. 10(a) that users sell extra renewable generations to the grid when their demand is low. In Fig. 10(b), users provide reserve services using idle capacities of batteries when they do not need to charge and discharge, especially during the afternoon they have charged enough from the renewable but do not have a high demand until the evening. Users also perform demand response in Fig. 10(c) when they are called to lower the consumption from their adjustable appliances during peak hours in the evening.
5.2.4 P2P energy trading
Fig. 11 depicts the optimal energy trading profiles of three typical users over one week. We see that the energy trading profiles of three users (user 3, user 6, and user 8) are complementary. User 3 often needs to buy energy in the daytime but sells extra energy at night. User 6 and user 8 exhibit opposite energy-trading patterns, in which user 6 always needs to buy energy while user 8 has a lot of extra energy to sell. Our developed blockchain-based energy management platform provides opportunities for users to interact with each other to exploit their diverse generation and load profiles and thus gain benefits, such as reduce their costs.
5.2.5 Cost reduction and payment
The comparison of users’ total costs is depicted in Fig. 12, showing the costs under both SA mode and CO mode. In the SA mode, all the users independently schedule their energy usage without energy trading, and thus the costs are higher. In the CO mode, users can interact with each other to trade energy following Algorithm 1, and thus their costs are reduced. By employing the distributed energy management algorithm, the cost reduction of user 1 to 10 are listed in Table 2, and the sum cost of all the users are reduced by 11.2%.
|User||Total Cost (HK Dollar)||Reduction (%)|
|SA mode||CO mode|
6 Conclusion and future work
This paper developed a blockchain-based virtual power plant energy management platform, including distributed energy trading algorithm design and blockchain system implementation. Specifically, we modeled energy trading and network services for residential users with various loads, energy storage, and local renewables. The users can interact with each other to trade energy and choose to provide network services aggregated through the VPP. Given users’ independence, we designed a distributed optimization algorithm to manage the energy schedules, energy trading, and network services of users. We also developed a prototype blockchain system for VPP energy management and implemented our algorithm on the blockchain system. We validated our blockchain-based VPP energy management platform through extensive experiments and simulations using real-world data. The simulation results showed that our designed algorithm effectively manages the users’ energy schedules, energy trading, and network services in the VPP and also demonstrated the effectiveness of our blockchain system.
For our future work, we will further improve the energy management platform by removing any centralized communication and computation to make the VPP more decentralized and flat. We will also consider and test a larger system with hundreds or thousands of users in the VPP by designing more efficient distributed algorithms.
This work is in part supported by the National Natural Science Foundation of China (project 61901280) and the FIT Academic Staff Funding of Monash University.
- Peer-to-peer energy trading among smart homes. Applied energy 238, pp. 1434–1443. Cited by: §1.1, §2.1.1.
- Distributed optimization and statistical learning via the alternating direction method of multipliers. Found. Trends Mach. Learn. 3 (1), pp. 1–122. Cited by: §4.1, §4.3.
-  (2017) Building a robust value mechanism to facilitate transactive energy. LO3 Energy. Note: Technical Whitepaper External Links: Cited by: §1.1.
- A fully distributed admm-based dispatch approach for virtual power plant problems. Applied Mathematical Modelling 58, pp. 300–312. Cited by: §1.1.
- Peer-to-peer energy sharing among smart energy buildings by distributed transaction. IEEE Trans. Smart Grid 10 (6), pp. 6491–6501. Cited by: §2.1.2.
- Risk assessment of virtual power plants offering in energy and reserve markets. IEEE Transactions on Power Systems 31 (5), pp. 3572–3582. Cited by: §1.1.
- Untangling blockchain: a data processing view of blockchain systems. IEEE Trans. Knowl. Data Eng. 30 (7), pp. 1366–1385. Cited by: §1.1.
- A decentralized multi-energy resources aggregation strategy based on bi-level interactive transactions of virtual energy plant. International Journal of Electrical Power & Energy Systems 124, pp. 106356. Cited by: §1.1.
- Optimized thermal and electrical scheduling of a large scale virtual power plant in the presence of energy storages. IEEE Transactions on Smart Grid 4 (2), pp. 942–955. Cited by: §1.1.
-  (accessed on 1 Oct. 2020) GNU octave: scientific programming language. Octave. Note: WebsiteRelease v4.0.1 External Links: Cited by: §4.3.
- Blockchain technologies for smart energy systems: fundamentals, challenges, and solutions. IEEE Industrial Electronics Magazine 13 (4), pp. 106–118. Cited by: §1.1.
- Stackelberg game-theoretic strategies for virtual power plant and associated market scheduling under smart grid communication environment. In 2018 IEEE International Conference on Communications, Control, and Computing Technologies for Smart Grids (SmartGridComm), pp. 1–6. Cited by: §1.1.
- Primal–dual methods for large-scale and distributed convex optimization and data analytics. Proceedings of the IEEE 108 (11), pp. 1923–1938. Cited by: §4.1.
- Optimal management of renewable energy sources by virtual power plant. Renewable energy 114, pp. 1180–1188. Cited by: §1.1.
- Wind and solar power integration in electricity markets and distribution networks through service-centric virtual power plants. IEEE Transactions on Power Systems 33 (1), pp. 473–485. Cited by: §1.1.
- ADMM-based decentralized demand response method in electric vehicle virtual power plant. In 2016 IEEE Power and Energy Society General Meeting (PESGM), pp. 1–5. Cited by: §1.1.
- Consortium blockchain for secure energy trading in industrial internet of things. IEEE Trans. Ind. Informat. 14 (8), pp. 3690–3700. Cited by: §1.1.
- An evaluation of the hvac load potential for providing load balancing service. IEEE Transactions on Smart Grid 3 (3), pp. 1263–1270. Cited by: §2.1.2.
- Bidding strategy of virtual power plant for participating in energy and spinning reserve markets—part i: problem formulation. IEEE Transactions on Power Systems 26 (2), pp. 949–956. Cited by: §1.1.
- Robust electric vehicle aggregation for ancillary service provision considering battery aging. IEEE Transactions on Smart Grid 9 (3), pp. 1728–1738. Cited by: §2.2.3.
- Designing microgrid energy markets: a case study: the Brooklyn microgrid. Elsevier Appl. Energy 210, pp. 870–880. Cited by: §1.1.
- Bitcoin: a peer-to-peer electronic cash system. Bitcoin. Note: White Paper External Links: Cited by: §1.1.
- Optimal residential community demand response scheduling in smart grid. Applied Energy 210, pp. 1280–1289. Cited by: §2.1.
-  (accessed on 1 Oct. 2020) NanoPi neo2. Friendly Elec. Note: Website External Links: Cited by: §5.1.1.
- Deconstructing blockchains: a comprehensive survey on consensus, membership and structure. arXiv preprint, arXiv:1908.08316. Cited by: §1.1.
- A virtual power plant optimal dispatch model with large and small-scale distributed renewable generation. Renewable Energy 151, pp. 57–69. Cited by: §1.1.
- Optimizing rooftop photovoltaic distributed generation with battery storage for peer-to-peer energy trading. Applied Energy 228, pp. 2567–2580. Cited by: §1.1, §2.1.1.
- Pecan street dataport. Note: Website External Links: Cited by: §5.2.
- A stochastic short-term scheduling of virtual power plants with electric vehicles under competitive markets. International Journal of Electrical Power & Energy Systems 124, pp. 106343. Cited by: §1.1.
- Building as a virtual power plant, magnitude and persistence of deferrable loads and human comfort implications. Energy and Buildings 213, pp. 109794. Cited by: §1.1.
-  (accessed Aug. 1, 2020) Running a full node: support the bitcoin network by running your own full node. Bitcoin core. External Links: Cited by: §2.3.
- Towards resilient networked microgrids: blockchain-enabled peer-to-peer electricity trading mechanism. In Proc. IEEE Conference on Energy Internet and Energy System Integration, pp. 1–5. Cited by: §1.1.
- Smart energy gateways for energy management and control. NXP. Note: NXP Commercial Feature External Links: Cited by: §5.1.2.
- Blockchain: blueprint for a new economy. O’Reilly Media Inc., Sebastopol, CA. Cited by: §1.1.
- Optimal operation and bidding strategy of a virtual power plant integrated with energy storage systems and elasticity demand response. IEEE Access 7, pp. 79798–79809. Cited by: §1.1.
-  (accessed on 1 Sept. 2020) Tesla powerwall. Tesla Inc.. Note: Website External Links: Cited by: §2.1.3.
- Utilization of flexible demand in a virtual power plant set-up. IEEE Transactions on Smart Grid 6 (2), pp. 640–647. Cited by: §1.1.
- Joint investment and operation of microgrid. IEEE Transactions on Smart Grid 8 (2), pp. 833–845. Cited by: §5.2.
- Incentivizing energy trading for interconnected microgrids. IEEE Transactions on Smart Grid 9 (4), pp. 2647–2657. Cited by: §1.1.
- Energy crowdsourcing and peer-to-peer energy trading in blockchain-enabled smart grids. IEEE Transactions on Systems, Man, and Cybernetics Systems 49 (8), pp. 1612–1623. Cited by: §1.1.
- Interactive dispatch modes and bidding strategy of multiple virtual power plants based on demand response and game theory. IEEE Transactions on Smart Grid 7 (1), pp. 510–519. Cited by: §1.1.
- Smart metering design and applications. Springer. Cited by: §2.3.
- ETHEREUM: a secure decentralised generalised transaction ledger. Ethereum. Note: Yellow Paper External Links: Cited by: §1.1, §5.1.2.
- Cooperative energy management of hvac via transactive energy. In 2020 IEEE 16th International Conference on Control & Automation (ICCA), pp. 1271–1277. Cited by: §1.1.
- Blockchain-empowered socially optimal transactive energy system: framework and implementation. IEEE Transactions on Industrial Informatics 17 (5), pp. 3122–3132. Cited by: §1.1.
- Exploring blockchain for the coordination of distributed energy resources. In Proc. the 55th Annual Conference on Information Sciences and Systems (CISS), pp. 1–6. Cited by: §1.1.
- Energy management for aggregate prosumers in a virtual power plant: a robust stackelberg game approach. International Journal of Electrical Power & Energy Systems 117, pp. 105605. Cited by: §1.1.
- Day-ahead resource scheduling of a renewable energy based virtual power plant. Applied Energy 169, pp. 324–340. Cited by: §1.1.
- Four-level robust model for a virtual power plant in energy and reserve markets. IET Generation, Transmission & Distribution 13 (11), pp. 2036–2043. Cited by: §1.1.