<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article article-type="research-article" dtd-version="2.3" xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Energy Res.</journal-id>
<journal-title>Frontiers in Energy Research</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Energy Res.</abbrev-journal-title>
<issn pub-type="epub">2296-598X</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">1476620</article-id>
<article-id pub-id-type="doi">10.3389/fenrg.2024.1476620</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Energy Research</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>Design of energy management strategies for shared energy storage microgrid based on smart contracts under privacy protection</article-title>
<alt-title alt-title-type="left-running-head">Liu and Ai</alt-title>
<alt-title alt-title-type="right-running-head">
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.3389/fenrg.2024.1476620">10.3389/fenrg.2024.1476620</ext-link>
</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname>Liu</surname>
<given-names>Wentao</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/conceptualization/"/>
<role content-type="https://credit.niso.org/contributor-roles/data-curation/"/>
<role content-type="https://credit.niso.org/contributor-roles/formal-analysis/"/>
<role content-type="https://credit.niso.org/contributor-roles/investigation/"/>
<role content-type="https://credit.niso.org/contributor-roles/methodology/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Ai</surname>
<given-names>Qian</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<uri xlink:href="https://loop.frontiersin.org/people/2314018/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/methodology/"/>
<role content-type="https://credit.niso.org/contributor-roles/supervision/"/>
<role content-type="https://credit.niso.org/contributor-roles/visualization/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
</contrib-group>
<aff id="aff1">
<sup>1</sup>
<institution>Shenzhen Power Supply Bureau Co., Ltd.</institution>, <addr-line>Shenzhen</addr-line>, <country>China</country>
</aff>
<aff id="aff2">
<sup>2</sup>
<institution>School of Electronic Information and Electrical Engineering</institution>, <institution>Shanghai Jiao Tong University</institution>, <addr-line>Shanghai</addr-line>, <country>China</country>
</aff>
<author-notes>
<fn fn-type="edited-by">
<p>
<bold>Edited by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/2579013/overview">Yuanxing Xia</ext-link>, Hohai University, China</p>
</fn>
<fn fn-type="edited-by">
<p>
<bold>Reviewed by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1049213/overview">Junjie Hu</ext-link>, North China Electric Power University, China</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1484038/overview">Tianguang Lu</ext-link>, Shandong University, China</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: Qian Ai, <email>aiqian@sjtu.edu.cn</email>
</corresp>
</author-notes>
<pub-date pub-type="epub">
<day>25</day>
<month>09</month>
<year>2024</year>
</pub-date>
<pub-date pub-type="collection">
<year>2024</year>
</pub-date>
<volume>12</volume>
<elocation-id>1476620</elocation-id>
<history>
<date date-type="received">
<day>06</day>
<month>08</month>
<year>2024</year>
</date>
<date date-type="accepted">
<day>30</day>
<month>08</month>
<year>2024</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2024 Liu and Ai.</copyright-statement>
<copyright-year>2024</copyright-year>
<copyright-holder>Liu and Ai</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/">
<p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p>
</license>
</permissions>
<abstract>
<p>Park microgrids, valued for their efficiency and flexibility, require privacy-conscious energy management to ensure a trusted scheduling and trading environment. This paper, focusing on park microgrids with shared energy storage, designs an energy management strategy that comprehensively considers shared energy storage, scheduling transparency, and privacy security. First, a blockchain-based energy management platform is established, forming an energy dispatch consensus committee to execute decentralized scheduling management and decision-making. Next, an optimized energy scheduling smart contract for park microgrids is designed, considering Time-of-Use (ToU) pricing and storage arbitrage to formulate the day-ahead electricity purchase and sales plans as well as the shared energy storage operation plans. Then, a privacy protection strategy based on the Shamir secret sharing scheme is proposed, effectively preventing data leakage during blockchain interactions. Finally, through case analysis, the superiority of the proposed method in microgrid optimized scheduling, data tamper-resistance, and privacy protection is demonstrated.</p>
</abstract>
<kwd-group>
<kwd>shared energy storage</kwd>
<kwd>microgrid</kwd>
<kwd>energy management</kwd>
<kwd>optimal dispatch</kwd>
<kwd>smart contracts</kwd>
<kwd>blockchain</kwd>
<kwd>privacy protection</kwd>
</kwd-group>
<custom-meta-wrap>
<custom-meta>
<meta-name>section-at-acceptance</meta-name>
<meta-value>Smart Grids</meta-value>
</custom-meta>
</custom-meta-wrap>
</article-meta>
</front>
<body>
<sec id="s1">
<title>1 Introduction</title>
<p>In modern energy management, park microgrids have become a significant direction in the development of energy systems due to their efficiency, flexibility, and environmental benefits (<xref ref-type="bibr" rid="B1">Chaudhary et al., 2021</xref>; <xref ref-type="bibr" rid="B12">Singh et al., 2023</xref>). The introduction of shared energy storage technology further optimizes the energy utilization within microgrids (<xref ref-type="bibr" rid="B20">Zhang F. et al., 2023</xref>; <xref ref-type="bibr" rid="B11">Olabi 2017</xref>). Shared energy storage (SES) involves the pooling of energy storage resources, where multiple users or entities share a centralized storage system that stores excess energy during low-demand periods and releases it during peak demand, thereby balancing supply and demand across the grid. Under the ToU pricing plan, shared energy storage can store energy during off-peak periods and release it during peak periods to achieve energy arbitrage, thereby reducing energy costs. However, traditional energy management methods struggle to address complex issues such as ToU pricing, energy scheduling, and transaction transparency (<xref ref-type="bibr" rid="B17">Yang et al., 2021</xref>; <xref ref-type="bibr" rid="B4">Li et al., 2022</xref>). Blockchain technology, particularly the application of smart contracts, offers new pathways to tackle these challenges. Blockchain is a decentralized and distributed digital ledger technology that records transactions across multiple computers in a secure, immutable, and transparent manner, ensuring that each transaction is verified and added to the chain without the need for a central authority. A smart contract is a self-executing contract with the terms of the agreement directly written into code, which automatically enforces and executes the contract when predefined conditions are met, eliminating the need for intermediaries. Smart contracts can automatically execute predetermined energy management strategies, achieving efficient energy scheduling and storage management while ensuring data transparency and security. However, due to the public nature of on-chain data, users&#x2019; energy usage and transaction information may be accessed by other nodes, leading to privacy leakage risks (<xref ref-type="bibr" rid="B19">Yu et al., 2024</xref>; <xref ref-type="bibr" rid="B17">Yang et al., 2021</xref>). Therefore, it is imperative to develop an energy management strategy for park microgrids with shared energy storage under privacy protection. This strategy aims to optimize the overall operational efficiency of microgrids, reduce power costs, and promote decentralized energy scheduling management, providing innovative solutions for modern energy systems.</p>
<p>In recent years, researchers have conducted relevant studies on shared energy storage scheduling models and optimization methods (<xref ref-type="bibr" rid="B6">Li F. et al., 2019</xref>). proposed a hybrid optimization method combining Genetic Algorithm (GA) and Dynamic Programming (DP) to optimize cooling, heating, and power systems with thermal energy storage. This method improved the overall system performance by 1.92% and 1.91% in summer and winter, respectively (<xref ref-type="bibr" rid="B2">Chen et al., 2022</xref>); proposed a day-ahead scheduling model based on cooperative game theory to optimize the scheduling of local integrated energy systems and shared energy storage, resulting in reduced system operating costs and improved new energy consumption levels (<xref ref-type="bibr" rid="B9">Liu et al., 2021</xref>); proposed a user-side energy storage optimization configuration and scheduling strategy based on model predictive control, demonstrating the effectiveness of this method in peak-valley balancing and economic benefits assurance through simulations of different types of batteries (<xref ref-type="bibr" rid="B13">Sun et al., 2022</xref>); proposed an energy storage system scheduling strategy based on Long Short-Term Memory (LSTM) neural networks and multi-stage decision optimization, significantly improving annual revenue and system economic performance (<xref ref-type="bibr" rid="B5">Li et al., 2023</xref>); designed an optimal configuration method for source-grid-load-side shared energy storage systems, verifying the feasibility and effectiveness of this method through numerical examples.</p>
<p>The above energy management methods did not consider issues such as ToU pricing, energy scheduling, and transaction transparency. Blockchain, as a distributed shared database, allows park operators to use consensus mechanisms to jointly supervise on-chain interactive data through their respective nodes, achieving secure information sharing (<xref ref-type="bibr" rid="B14">van Leeuwen et al., 2020</xref>). proposed an integrated blockchain energy management platform that optimizes energy flow in microgrids through a bilateral trading mechanism. The results showed that compared to the baseline scenario, the import costs for the entire community were reduced by 34.9%, and the total import volume decreased by 15% (<xref ref-type="bibr" rid="B18">You et al., 2019</xref>); proposed an energy trading strategy based on smart contracts, focusing on reducing energy costs through a demand response model and verifying its effectiveness (<xref ref-type="bibr" rid="B7">Li Y. et al., 2019</xref>); studied methods for designing and managing distributed hybrid energy systems through smart contracts and blockchain, and verified the effectiveness of these methods through case studies in Singapore (<xref ref-type="bibr" rid="B3">Karthik and Anand, 2020</xref>); systematically revie<xref ref-type="bibr" rid="B7">bib_li_et_al_2019b</xref>wed the application of blockchain technology for energy trading in microgrids and created smart contracts using Solidity tools (<xref ref-type="bibr" rid="B21">Zhang T. et al., 2023</xref>); proposed a secure distributed energy trading mechanism based on smart contracts, with simulation results showing that the system is stable, scalable, and significantly reduces customer costs (<xref ref-type="bibr" rid="B10">Luo et al., 2021</xref>); propose a vehicle-to-vehicle (V2V) and vehicle-to-grid (V2G) electricity trading architecture based on blockchain.</p>
<p>Despite the transparency and immutability advantages provided by blockchain technology, the public nature of data poses a risk of privacy leakage, as users&#x2019; energy usage and transaction information may be accessed by other nodes. This necessitates additional privacy protection mechanisms to ensure data security (<xref ref-type="bibr" rid="B15">Wang B. et al., 2023</xref>). proposed a blockchain-based privacy data protection scheme for social networks, effectively solving privacy leakage issues in social networks using timestamp recording, hash function anonymization, asymmetric encryption, and digital signature technologies (<xref ref-type="bibr" rid="B23">Zhu et al., 2021</xref>); proposed a privacy data protection method based on trusted computing and blockchain, protecting on-chain and off-chain data through ECC elliptic curve encryption and AES symmetric encryption (<xref ref-type="bibr" rid="B22">Zhong et al., 2019</xref>); proposed a privacy-encrypted blockchain system that encrypts all data within a controllable time to protect user privacy while maintaining the immutability of the blockchain (<xref ref-type="bibr" rid="B8">Liang et al., 2022</xref>); proposed a personal data privacy protection scheme based on consortium blockchain, combining an improved Paillier homomorphic encryption mechanism to achieve fine-grained access control and user privacy protection (<xref ref-type="bibr" rid="B16">Wang P. et al., 2023</xref>). have designed a novel three-layer architecture for P2P electricity trading, whose primary objective is to protect the private information submitted to the blockchain through a new privacy-preserving trading strategy.</p>
<p>In summary, this paper designs an energy management strategy for park microgrids with shared energy storage, considering shared energy storage, scheduling transparency, and privacy security. First, a blockchain-based energy management platform is established, forming an energy dispatch consensus committee to execute decentralized scheduling management and decision-making. Next, an optimized energy scheduling smart contract for park microgrids is designed, considering ToU pricing and storage arbitrage to formulate the day-ahead electricity purchase and sales plans as well as the shared energy storage operation plans. Then, a privacy protection strategy based on the Shamir secret sharing scheme is proposed, effectively preventing data leakage during blockchain interactions. Finally, through case analysis, the superiority of the proposed method in microgrid optimized scheduling, data tamper-resistance, and privacy protection is demonstrated.</p>
</sec>
<sec id="s2">
<title>2 Blockchain-based energy management platform</title>
<sec id="s2-1">
<title>2.1 Topological architecture of a microgrid with shared energy storage in a park</title>
<p>The topological architecture of the park&#x2019;s microgrid is shown in <xref ref-type="fig" rid="F1">Figure 1</xref>.</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>Topological architecture of the park microgrid.</p>
</caption>
<graphic xlink:href="fenrg-12-1476620-g001.tif"/>
</fig>
<p>Each park microgrid is powered by a combination of renewable energy generation within the park and the regional power grid, implementing time-of-use electricity pricing for purchases. Renewable energy sources are prioritized for load supply, with excess electricity being sold to the regional grid. However, due to lower feed-in tariffs, this can lead to economic losses. Shared energy storage can store energy during periods of low electricity prices or surplus renewable energy production and release energy during peak price periods or when renewable energy is insufficient, thereby enabling energy arbitrage and reducing energy costs. The regional energy service provider equips each park microgrid with shared storage, alleviating the mismatch between load demand and the timing of renewable energy generation. This reduces the park microgrid&#x2019;s reliance on the regional power grid and maximizes the consumption of renewable energy. The implementation of time-of-use pricing offers significant optimization opportunities for the microgrid&#x2019;s electricity purchasing and storage operation plans, necessitating the development of reasonable strategies to minimize energy costs.</p>
</sec>
<sec id="s2-2">
<title>2.2 Blockchain platform architecture</title>
<p>The microgrids in each park and the regional energy service providers belong to different stakeholders, requiring a high level of trust when formulating energy management strategies. Therefore, to enhance the efficiency and transparency of energy scheduling, while ensuring data security and privacy protection during the scheduling process, this section establishes a blockchain-based energy management platform. This platform operates all park microgrids and shared storage in a decentralized manner, aiming to optimize overall economic efficiency and unify the scheduling plans for each park microgrid and shared storage.</p>
<p>The blockchain system provides a multi-party governance collaboration model, achieving decentralized scheduling management and decision-making through consensus verification and distributed recording without a central authority. The blockchain system includes multiple nodes, where each park microgrid, distributed resource owners, regional energy service providers, grid companies, and government regulatory agencies can participate. Energy scheduling instructions for the park microgrid and shared storage are automatically generated and executed through predefined smart contracts. These smart contracts ensure that all operations are carried out according to established rules, thereby reducing the likelihood of errors and fraud. The blockchain platform architecture established in this text is shown in <xref ref-type="fig" rid="F2">Figure 2</xref>.</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>Blockchain platform architecture.</p>
</caption>
<graphic xlink:href="fenrg-12-1476620-g002.tif"/>
</fig>
<p>The core of the blockchain system is the consensus mechanism. The on-chain recording of smart contracts and other data requires validation of their legality and accuracy by consensus nodes. In this system, suitable nodes are selected from the park microgrids, distributed resource owners, regional energy service providers, grid companies, and government regulatory agencies to serve as consensus nodes, forming an Energy Scheduling Consensus Committee to ensure participation from all parties. The Energy Scheduling Consensus Committee is responsible for executing data information consensus in the blockchain system, ensuring that every scheduling instruction and transaction result is verified and recorded by the committee nodes. Each consensus node, along with other nodes, maintains a copy of the blockchain ledger, significantly enhancing data transparency and trust.</p>
</sec>
<sec id="s2-3">
<title>2.3 Platform Workflow</title>
<p>
<list list-type="simple">
<list-item>
<p>(1) Data Collection: Each electrical device collects real-time electricity consumption data through smart meters and sensors. Shared energy storage devices collect storage status data, including charge/discharge power and remaining capacity, through monitoring systems. Distributed generation devices (such as solar and wind) collect generation and equipment status data. This data is periodically uploaded to local nodes via IoT devices.</p>
</list-item>
<list-item>
<p>(2) Data On-Chain: Local nodes encrypt the collected key data using encryption algorithms (see <xref ref-type="sec" rid="s4">Section 4</xref>) and upload it to the blockchain network. After consensus validation by the Energy Scheduling Consensus Committee, the data is broadcasted to all nodes in the blockchain system, with each node receiving and storing a copy, ensuring the reliability of distributed storage.</p>
</list-item>
<list-item>
<p>(3) Consensus Achievement: The Energy Scheduling Consensus Committee uses the Proof of Authority (PoA) consensus mechanism for data validation. POA is highly beneficial when applied to blockchain-based energy trading systems. PoA offers a faster and more efficient consensus mechanism compared to traditional algorithms like Proof of Work (PoW) or Proof of Stake (PoS), as it relies on a limited number of trusted validators rather than extensive computational resources or large stake holdings. This makes PoA particularly well-suited for energy trading, where transaction speed and cost-efficiency are crucial. The algorithm provides a balance between decentralization and performance, ensuring that the system remains secure and resilient while allowing for high transaction throughput. Additionally, PoA&#x2019;s reliance on verified and reputable authorities aligns with regulatory and compliance requirements often found in energy markets, making it an ideal choice for implementing secure and efficient energy trading on the blockchain. Committee nodes, which have high credibility and computational power, ensure fast and accurate data validation. The committee verifies the uploaded data, confirming its legitimacy and integrity. If the data is valid, it is written into a new block through the consensus mechanism. The validated data is packaged into a block, appended with a timestamp and other necessary metadata, and then added to the blockchain. Each blockchain node updates its ledger, ensuring data consistency across all nodes.</p>
</list-item>
<list-item>
<p>(4) Smart Contract Execution: Based on the data on the blockchain and the predefined management strategies (see <xref ref-type="sec" rid="s3">Section 3</xref>), the Energy Scheduling Consensus Committee invokes smart contracts to automatically generate and execute electricity purchase and sale plans and shared storage operation plans.</p>
</list-item>
<list-item>
<p>(5) Real-Time Monitoring: Participants can view energy scheduling in real-time through a blockchain explorer or customized monitoring interface. The blockchain explorer provides transparent data display, including electricity consumption, storage status, and purchase/sale records. The system includes an anomaly detection mechanism that analyzes blockchain data to promptly detect anomalies and send alerts to relevant management personnel, ensuring issues are addressed quickly.</p>
</list-item>
</list>
</p>
</sec>
</sec>
<sec id="s3">
<title>3 Smart contract-based energy management strategy</title>
<p>In the energy management of campus microgrids, the introduction of smart contracts provides significant convenience for the system&#x2019;s automation management. Smart contracts are self-executing programs deployed on the blockchain that can automatically execute preset energy management strategies when specific conditions are met, achieving efficient energy scheduling and storage management.</p>
<sec id="s3-1">
<title>3.1 Optimization scheduling contracts for park microgrids</title>
<p>The Energy Scheduling Consensus Committee utilizes the optimization scheduling contracts for park microgrids discussed in this section to automatically formulate the optimal electricity purchase and sale plans, as well as shared storage operation plans. Simultaneously, the generated contracts are recorded on the blockchain, ensuring immutability and ease of verification. The core of this optimization scheduling contract is a park microgrid energy optimization scheduling model, which will be elaborated upon below.</p>
<p>This paper focuses on day-ahead scheduling plans, aiming to minimize the total operating costs of each microgrid and shared storage by establishing an optimization scheduling model.</p>
<sec id="s3-1-1">
<title>3.1.1 Objective function</title>
<p>The objective function is defined to minimize the total operating costs of each microgrid and shared storage, as shown in the following formula.<disp-formula id="equ1">
<mml:math id="m1">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>min</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>N</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3bb;</mml:mi>
<mml:mi>g</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x22c5;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mi>G</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>b</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3bb;</mml:mi>
<mml:mi>g</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x22c5;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mi>G</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>s</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3bb;</mml:mi>
<mml:mi>g</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x22c5;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>b</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3bb;</mml:mi>
<mml:mi>g</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x22c5;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>s</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>&#x3b3;</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:mrow>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>b</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>s</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>N</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mi>G</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mi>G</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>In this formula, <inline-formula id="inf1">
<mml:math id="m2">
<mml:mrow>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> represents the total operating cost, <inline-formula id="inf2">
<mml:math id="m3">
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the cost of electricity purchase and sale between the microgrid and the distribution grid, <inline-formula id="inf3">
<mml:math id="m4">
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the cost of electricity purchase and sale between the shared energy storage and the distribution grid, and <inline-formula id="inf4">
<mml:math id="m5">
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the charging and discharging cost of the shared energy storage. N denotes the number of microgrids, and T is the number of periods in a day. <inline-formula id="inf5">
<mml:math id="m6">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3bb;</mml:mi>
<mml:mi>g</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> represents the electricity price for purchasing from the distribution grid at period <inline-formula id="inf6">
<mml:math id="m7">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf7">
<mml:math id="m8">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mi>G</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>b</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> represents the power purchased by the <inline-formula id="inf8">
<mml:math id="m9">
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>-th microgrid from the distribution grid at period <inline-formula id="inf9">
<mml:math id="m10">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf10">
<mml:math id="m11">
<mml:mrow>
<mml:msubsup>
<mml:mi>&#x3bb;</mml:mi>
<mml:mi>g</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> represents the electricity price for selling to the distribution grid at period <inline-formula id="inf11">
<mml:math id="m12">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, and <inline-formula id="inf12">
<mml:math id="m13">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mi>G</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>s</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> represents the power sold by the <inline-formula id="inf13">
<mml:math id="m14">
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>-th microgrid to the distribution grid at period <inline-formula id="inf14">
<mml:math id="m15">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>. <inline-formula id="inf15">
<mml:math id="m16">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>b</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> represents the power purchased by the shared energy storage from the distribution grid at period <inline-formula id="inf16">
<mml:math id="m17">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, and <inline-formula id="inf17">
<mml:math id="m18">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>s</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> represents the power sold by the shared energy storage to the distribution grid at period <inline-formula id="inf18">
<mml:math id="m19">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>. <inline-formula id="inf19">
<mml:math id="m20">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b3;</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> represents the charging and discharging cost per unit power of the shared energy storage. <inline-formula id="inf20">
<mml:math id="m21">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mi>G</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf21">
<mml:math id="m22">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mi>G</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> represent the charging and discharging power of the shared energy storage to the <inline-formula id="inf22">
<mml:math id="m23">
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>-th microgrid at period <inline-formula id="inf23">
<mml:math id="m24">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, respectively.</p>
</sec>
<sec id="s3-1-2">
<title>3.1.2 Constraints</title>
<sec id="s3-1-2-1">
<title>3.1.2.1 Power balance of each park microgrid</title>
<p>
<disp-formula id="equ2">
<mml:math id="m25">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>V</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>W</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mi>G</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mi>G</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>b</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>d</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mi>G</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mi>G</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>s</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="equ3">
<mml:math id="m26">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mi>G</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>b</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x22c5;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mi>G</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>s</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="equ4">
<mml:math id="m27">
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>In this formula, <inline-formula id="inf24">
<mml:math id="m28">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mi>V</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf25">
<mml:math id="m29">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>W</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> represent the photovoltaic and wind power outputs of the <inline-formula id="inf26">
<mml:math id="m30">
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>-th park microgrid at period <inline-formula id="inf27">
<mml:math id="m31">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, respectively. <inline-formula id="inf28">
<mml:math id="m32">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mi>G</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf29">
<mml:math id="m33">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mi>G</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> represent the discharging and charging power of the shared energy storage to the <inline-formula id="inf30">
<mml:math id="m34">
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>-th park microgrid at period <inline-formula id="inf31">
<mml:math id="m35">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, respectively. <inline-formula id="inf32">
<mml:math id="m36">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>d</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> represents the load power of the \<inline-formula id="inf33">
<mml:math id="m37">
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>-th park microgrid at period <inline-formula id="inf34">
<mml:math id="m38">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
</sec>
<sec id="s3-1-3">
<title>3.1.2.2 Power Interaction Balance with Shared Energy Storage</title>
<p>
<disp-formula id="equ5">
<mml:math id="m39">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>N</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mi>G</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>b</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="equ6">
<mml:math id="m40">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>N</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mi>G</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>s</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>In this formula, <inline-formula id="inf35">
<mml:math id="m41">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf36">
<mml:math id="m42">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> represent the total charging power and total discharging power of the shared energy storage at period <inline-formula id="inf37">
<mml:math id="m43">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, respectively.<disp-formula id="equ7">
<mml:math id="m44">
<mml:mrow>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mo>&#x394;</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>&#x22c5;</mml:mo>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x22c5;</mml:mo>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="equ8">
<mml:math id="m45">
<mml:mrow>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="equ9">
<mml:math id="m46">
<mml:mrow>
<mml:mn>0.1</mml:mn>
<mml:msubsup>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mi mathvariant="italic">max</mml:mi>
</mml:msubsup>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mn>0.9</mml:mn>
<mml:mi>E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mi>max</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>In this formula, <inline-formula id="inf38">
<mml:math id="m47">
<mml:mrow>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> represents the remaining energy capacity of the shared energy storage at period <inline-formula id="inf39">
<mml:math id="m48">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>. <inline-formula id="inf40">
<mml:math id="m49">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mi>c</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf41">
<mml:math id="m50">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b7;</mml:mi>
<mml:mi>d</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are the charging and discharging efficiency coefficients of the shared energy storage, respectively. <inline-formula id="inf42">
<mml:math id="m51">
<mml:mrow>
<mml:msubsup>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mi mathvariant="italic">max</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> represents the maximum energy capacity of the shared energy storage.<disp-formula id="equ10">
<mml:math id="m52">
<mml:mrow>
<mml:mfenced open="{" close="" separators="|">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mi>G</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x22c5;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>M</mml:mi>
<mml:mi>G</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>.</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>b</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x22c5;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>s</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="equ11">
<mml:math id="m53">
<mml:mrow>
<mml:mfenced open="{" close="" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mi>max</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3e;</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2264;</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mi>max</mml:mi>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2264;</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>In this formula, <inline-formula id="inf43">
<mml:math id="m54">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>E</mml:mi>
<mml:mi>S</mml:mi>
</mml:mrow>
<mml:mi>max</mml:mi>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> represents the charging and discharging power limits of the shared energy storage.</p>
<p>The constraints of this model include multiple 0-1 variables, making it a typical nonlinear optimization problem. This paper employs the Interior-Point method to solve the optimization model. The Interior-Point method is an iterative optimization technique that seeks the optimal solution by exploring the interior of the feasible region (i.e., within the constraints), thus avoiding direct searches along the boundary. This approach introduces a barrier function that incorporates the inequality constraints into the objective function, gradually approaching the constraint boundaries during the optimization process.</p>
</sec>
</sec>
</sec>
<sec id="s3-2">
<title>3.2 Storage control contract</title>
<p>The storage control smart contract, combined with the controller, jointly manages the charging and discharging processes of the shared energy storage. It automatically generates control signals based on the charging and discharging plans for the upcoming day. This contract receives a detailed storage charging and discharging operation plan, outlining the charging or discharging actions and their respective power levels for each period. Based on this, the smart contract calculates and sends the corresponding control signals to the storage system&#x2019;s controller, achieving optimal management of the shared energy storage. Simultaneously, the generated contract is recorded on the blockchain, ensuring immutability and ease of verification. The pseudocode for this contract is shown in <xref ref-type="table" rid="T1">Table 1</xref>.</p>
<table-wrap id="T1" position="float">
<label>TABLE 1</label>
<caption>
<p>Pseudocode for storage control contract.</p>
</caption>
<table>
<tbody valign="top">
<tr>
<td align="left">
<inline-graphic xlink:href="fenrg-12-1476620-fx1.tif"/>
</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s3-3">
<title>3.3 Electricity purchase and sale contract generation contract</title>
<p>The electricity purchase and sale contract generation contract is used to handle power transactions between the microgrid and the distribution grid, automatically generating power transaction contracts. This contract receives the microgrid&#x2019;s electricity purchase and sale plans for the upcoming day. The generated contract details the purchase and sale quantities and prices at each time point, which will be used for subsequent settlement and legal enforcement. Simultaneously, the generated contract is recorded on the blockchain, ensuring immutability and ease of verification. The pseudocode for this contract is shown in <xref ref-type="table" rid="T2">Table 2</xref>.</p>
<table-wrap id="T2" position="float">
<label>TABLE 2</label>
<caption>
<p>Pseudocode for electricity purchase and sale contract generation contract.</p>
</caption>
<table>
<tbody valign="top">
<tr>
<td align="left">
<inline-graphic xlink:href="fenrg-12-1476620-fx2.tif"/>
</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s3-4">
<title>3.4 Trigger conditions and automatic execution process of smart contracts</title>
<p>In the energy management of park microgrids, smart contract-based strategies enable automated energy scheduling, storage management, and the generation of electricity purchase and sale contracts. The energy optimization scheduling contract is responsible for formulating electricity purchase, sale, and storage plans based on real-time data. The storage control contract manages the charging and discharging activities of storage devices, while the electricity purchase and sale contract generation contract automatically creates legally binding transaction contracts. This automated and intelligent integrated solution not only optimizes energy usage and reduces operating costs but also enhances the system&#x2019;s responsiveness to market changes. The process flowchart of the smart contract-based energy management strategy is shown in <xref ref-type="fig" rid="F3">Figure 3</xref>.</p>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>Process flowchart of smart contract-based energy management strategy.</p>
</caption>
<graphic xlink:href="fenrg-12-1476620-g003.tif"/>
</fig>
<p>The triggering conditions and automatic execution processes for each smart contract are outlined in <xref ref-type="table" rid="T3">Table 3</xref>.</p>
<table-wrap id="T3" position="float">
<label>TABLE 3</label>
<caption>
<p>Triggering conditions and execution processes of each smart contract.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Contract name</th>
<th align="center">Triggering conditions</th>
<th align="center">Execution processes</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">Optimization Scheduling Contracts for Park Microgrids</td>
<td align="left">1) Automatically triggered at a specific daily time (e.g., midnight) or when updates occur in energy market prices<break/>2) Activated upon receipt of new energy demand forecasts or changes in market supply and demand information by the Energy Scheduling Consensus Committee</td>
<td align="left">1) Receive data inputs from the energy market and real-time energy demands within the park<break/>2) Compute the optimal power purchase and sale plan, as well as the shared energy storage operation plan for the following day, based on the input data and predefined optimization model<break/>3) Encode the optimized energy scheduling plan into a contract format and record it on the blockchain to ensure data immutability and transparency<break/>4) Send execution signals to relevant energy devices and systems to carry out power purchase, sale, and storage operations as planned</td>
</tr>
<tr>
<td align="left">Storage Control Contract</td>
<td align="left">1) Automatically triggered before a specific daily time based on the energy storage operation plan generated by the energy optimization scheduling contract<break/>2) Urgently activated when the system detects changes or anomalies in the status of energy storage equipment</td>
<td align="left">1) Receive the energy storage charging and discharging plan transmitted from the energy optimization scheduling contract<break/>2) Interpret the charging or discharging requirements for each time segment in the plan and generate corresponding control signals<break/>3) Send the control signals to the controller of the energy storage system to guide the storage equipment in accordance with the plan<break/>4) Record the control activities and their outcomes on the blockchain for subsequent auditing and verification</td>
</tr>
<tr>
<td align="left">Electricity Purchase and Sale Contract Generation Contract</td>
<td align="left">1) Automatically triggered immediately after generating a new power purchase and sale plan daily, based on the output of the energy optimization scheduling contract<break/>2) Activated when the microgrid or distribution network operator updates the electricity trading requirements</td>
<td align="left">1) Receive the power purchase and sale plan transmitted from the energy optimization scheduling contract<break/>2) Precisely record the purchase quantity, sale quantity, and electricity price for each time point according to the plan, and generate a legally enforceable power trading contract<break/>3) Record the generated contract on the blockchain to ensure the immutability and high transparency of the transaction records<break/>4) After the contract is generated, send notifications to both parties for transaction confirmation and subsequent settlement operations</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
</sec>
<sec id="s4">
<title>4 Blockchain data privacy protection strategies</title>
<p>Due to the inherent transparency of blockchain, energy consumption information of microgrid users in various parks could potentially be accessed by other nodes, leading to privacy risks. This necessitates additional privacy protection mechanisms to ensure data security. Based on the architecture of the blockchain energy management platform and the Energy Scheduling Consensus Committee, a privacy protection strategy based on Shamir&#x2019;s Secret Sharing Scheme has been designed. Shamir&#x2019;s Secret Sharing Scheme offers significant advantages when applied to blockchain-based energy trading systems. It enhances security by dividing sensitive data, such as private keys or transaction details, into multiple shares distributed across different nodes in the network. Only a predefined number of shares are required to reconstruct the original data, making the system resilient to attacks or data breaches on individual nodes. This decentralized approach aligns well with the core principles of blockchain, ensuring that no single point of failure exists and that privacy is maintained even in a distributed environment. The scheme is particularly well-suited for energy trading, where the protection of transaction integrity and confidentiality is crucial. Its ability to prevent unauthorized access and secure sensitive information without relying on a single encryption key makes it an ideal choice for this application. The process is illustrated in <xref ref-type="fig" rid="F4">Figure 4</xref>.</p>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>Privacy protection strategy based on Shamir&#x2019;s secret sharing scheme.</p>
</caption>
<graphic xlink:href="fenrg-12-1476620-g004.tif"/>
</fig>
<sec id="s4-1">
<title>4.1 Encryption phase</title>
<p>To ensure the security and privacy of critical decision-making data (which also includes energy consumption privacy data for the microgrid), all data circulating on the blockchain is encrypted by local nodes using Shamir&#x2019;s Secret Sharing Scheme before being uploaded to the blockchain. This process divides the data into multiple parts. The encrypted data is then transmitted through the blockchain network to each member node of the Energy Scheduling Consensus Committee, where each node receives and stores a copy of the data. The specific steps are as follows:<list list-type="simple">
<list-item>
<p>(1) Choose a finite field <inline-formula id="inf44">
<mml:math id="m55">
<mml:mrow>
<mml:msub>
<mml:mi>F</mml:mi>
<mml:mi>q</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> where <inline-formula id="inf45">
<mml:math id="m56">
<mml:mrow>
<mml:mi>q</mml:mi>
<mml:mo>&#x2265;</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>. Let the set of n Energy Scheduling Consensus Committee members be <inline-formula id="inf46">
<mml:math id="m57">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>n</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, and set the threshold value <inline-formula id="inf47">
<mml:math id="m58">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>. The secret information is <inline-formula id="inf48">
<mml:math id="m59">
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
</list-item>
<list-item>
<p>(2) Select <inline-formula id="inf49">
<mml:math id="m60">
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> distinct non-zero elements <inline-formula id="inf50">
<mml:math id="m61">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>n</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> from <inline-formula id="inf51">
<mml:math id="m62">
<mml:mrow>
<mml:msub>
<mml:mi>F</mml:mi>
<mml:mi>q</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and make these elements public.</p>
</list-item>
<list-item>
<p>(3) The data provider randomly selects a polynomial <inline-formula id="inf52">
<mml:math id="m63">
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mi>x</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> of degree <inline-formula id="inf53">
<mml:math id="m64">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> over <inline-formula id="inf54">
<mml:math id="m65">
<mml:mrow>
<mml:msub>
<mml:mi>F</mml:mi>
<mml:mi>q</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, where <inline-formula id="inf55">
<mml:math id="m66">
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> (the secret information) and the remaining coefficients <inline-formula id="inf56">
<mml:math id="m67">
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are randomly chosen from <inline-formula id="inf57">
<mml:math id="m68">
<mml:mrow>
<mml:msub>
<mml:mi>F</mml:mi>
<mml:mi>q</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
</list-item>
<list-item>
<p>(4) Compute <inline-formula id="inf58">
<mml:math id="m69">
<mml:mrow>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> for <inline-formula id="inf59">
<mml:math id="m70">
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, and distribute the pairs <inline-formula id="inf60">
<mml:math id="m71">
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> as shares of the secret to members <inline-formula id="inf61">
<mml:math id="m72">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. Destroy the polynomial <inline-formula id="inf62">
<mml:math id="m73">
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
</list-item>
</list>
</p>
</sec>
<sec id="s4-2">
<title>4.2 Decryption phase</title>
<p>To decrypt the key data used for scheduling plans, at least t consensus nodes in the Energy Scheduling Consensus Committee must collaborate to reconstruct the secret from their respective shares. This multi-node decryption process not only enhances data processing transparency but also prevents any single node from generating inaccurate scheduling plans through mutual supervision, thus ensuring the correctness and fairness of the scheduling results. The specific steps are as follows:<list list-type="simple">
<list-item>
<p>(1) Any t secret holders submit their secret values <inline-formula id="inf63">
<mml:math id="m74">
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula>. The polynomial <inline-formula id="inf64">
<mml:math id="m75">
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is reconstructed using Lagrange interpolation:</p>
</list-item>
</list>
<disp-formula id="equ12">
<mml:math id="m76">
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi mathvariant="normal">t</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:munder>
<mml:mo>&#x220f;</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:mi mathvariant="normal">j</mml:mi>
<mml:mo>&#x2264;</mml:mo>
<mml:mi mathvariant="normal">t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">j</mml:mi>
<mml:mo>&#x2260;</mml:mo>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:munder>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">x</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">a</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">a</mml:mi>
<mml:mi mathvariant="normal">i</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">a</mml:mi>
<mml:mi mathvariant="normal">j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi mathvariant="normal">f</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
<list list-type="simple">
<list-item>
<p>(2) Setting x &#x3d; 0 yields the secret <inline-formula id="inf65">
<mml:math id="m77">
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
</list-item>
</list>
</p>
</sec>
</sec>
<sec id="s5">
<title>5 Example analysis</title>
<sec id="s5-1">
<title>5.1 Initial data presentation</title>
<p>This study involves the joint operation energy management of three park microgrids and one shared energy storage system. The configurations are as follows: Park Microgrid 1 is equipped with a photovoltaic power generation unit with a capacity of 750&#xa0;kW. Park Microgrid 2 is equipped with a wind power generation unit with a capacity of 1,000&#xa0;kW. Park Microgrid 3 is equipped with both 600&#xa0;kW of photovoltaic power and 500&#xa0;kW of wind power. The shared energy storage system has a configuration capacity of 400&#xa0;kW and 1,000&#xa0;kWh.</p>
<p>The wind and solar power forecasts for each park microgrid are illustrated in <xref ref-type="fig" rid="F5">Figures 5A&#x2013;C</xref>, and the load forecast power and time-of-use electricity price data are shown in <xref ref-type="fig" rid="F5">Figures 5E, F</xref>.</p>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption>
<p>Initial data presentation chart. <bold>(A)</bold> Power Generation Forecast for Park Microgrid 1 <bold>(B)</bold> Power Generation Forecast for Park Microgrid 2 <bold>(C)</bold> Power Generation Forecast for Park Microgrid 3 <bold>(D)</bold> Load Forecast for Each Park Microgrid <bold>(E)</bold> Time-of-Use Electricity Prices.</p>
</caption>
<graphic xlink:href="fenrg-12-1476620-g005.tif"/>
</fig>
</sec>
<sec id="s5-2">
<title>5.2 Optimization scheduling results presentation</title>
<p>This section presents simulation tests of the privacy-protected energy management strategy for shared energy storage microgrids based on smart contracts in a laboratory environment. The laboratory setup includes a host with an Intel (R) Core i7-10700F CPU @ 2.90&#xa0;GHz, 16&#xa0;GB RAM, and Windows 11 operating system. The optimization scheduling is performed using MATLAB 2020a for algorithm design and simulation testing. A blockchain-based energy management platform is built on the Ethereum platform and developed using Solidity. Smart contracts are deployed and tested through the Ganache local simulator, with management facilitated by the Truffle framework. The Shamir Secret Sharing Scheme portion is implemented using Python 3.10 for algorithm design and simulation testing.</p>
<p>The optimized power purchase and sale plans for each park microgrid are illustrated in <xref ref-type="fig" rid="F6">Figure 6</xref>.</p>
<fig id="F6" position="float">
<label>FIGURE 6</label>
<caption>
<p>Optimization results of microgrid power purchase and sale plans. <bold>(A)</bold> Power Purchase and Sale Plan for Park Microgrid 1 <bold>(B)</bold> Power Purchase and Sale Plan for Park Microgrid 2 <bold>(C)</bold> Power Purchase and Sale Plan for Park Microgrid 3.</p>
</caption>
<graphic xlink:href="fenrg-12-1476620-g006.tif"/>
</fig>
<p>The optimized charging and discharging operation plans for each park microgrid and the shared energy storage are illustrated in <xref ref-type="fig" rid="F7">Figure 7</xref>.</p>
<fig id="F7" position="float">
<label>FIGURE 7</label>
<caption>
<p>Optimization of charging and discharging operation plan for microgrids and shared energy storage. <bold>(A)</bold> Charging and Discharging Operation Plan for Park Microgrid 1 and Shared Energy Storage <bold>(B)</bold> Charging and Discharging Operation Plan for Park Microgrid 2 and Shared Energy Storage <bold>(C)</bold> Charging and Discharging Operation Plan for Park Microgrid 3 and Shared Energy Storage.</p>
</caption>
<graphic xlink:href="fenrg-12-1476620-g007.tif"/>
</fig>
<p>The optimized power purchase and sale plan for the shared energy storage and the distribution network is illustrated in <xref ref-type="fig" rid="F8">Figure 8</xref>.</p>
<fig id="F8" position="float">
<label>FIGURE 8</label>
<caption>
<p>Optimization results of the shared energy storage power purchase and sale plan.</p>
</caption>
<graphic xlink:href="fenrg-12-1476620-g008.tif"/>
</fig>
<p>The <xref ref-type="fig" rid="F9">Figure 9</xref> illustrates the changes in the total charging and discharging power of the shared energy storage and its capacity after optimization.</p>
<fig id="F9" position="float">
<label>FIGURE 9</label>
<caption>
<p>Shared energy storage power and capacity variation chart.</p>
</caption>
<graphic xlink:href="fenrg-12-1476620-g009.tif"/>
</fig>
</sec>
<sec id="s5-3">
<title>5.3 Economic cost analysis</title>
<p>Shared energy storage can store energy during off-peak periods and release it during peak periods to achieve energy arbitrage, thereby reducing energy costs. This section sets up five scenarios to compare and analyse the economic costs under different energy storage capacity configurations. The details are shown in <xref ref-type="table" rid="T4">Table 4</xref>.</p>
<table-wrap id="T4" position="float">
<label>TABLE 4</label>
<caption>
<p>Economic cost analysis under different scenarios.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Scenario</th>
<th align="center">Power (kW)</th>
<th align="center">Capacity (kWh)</th>
<th align="center">Total operating cost (CNY)</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">1</td>
<td align="center">0</td>
<td align="center">0</td>
<td align="center">4,713</td>
</tr>
<tr>
<td align="center">2</td>
<td align="center">300</td>
<td align="center">800</td>
<td align="center">3,261</td>
</tr>
<tr>
<td align="center">3</td>
<td align="center">400</td>
<td align="center">1,000</td>
<td align="center">3,124</td>
</tr>
<tr>
<td align="center">4</td>
<td align="center">800</td>
<td align="center">2000</td>
<td align="center">1,333</td>
</tr>
<tr>
<td align="center">5</td>
<td align="center">1,000</td>
<td align="center">20,000</td>
<td align="center">710</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>This section covers five scenarios ranging from no storage to high storage capacities. The total operating costs are as follows: Without storage, the total operating cost is CNY 4713. With 300&#xa0;kW power and 800&#xa0;kWh capacity storage, the total operating cost decreases to CNY 3261. With 400&#xa0;kW power and 1,000&#xa0;kWh capacity storage, the total operating cost further decreases to CNY 3124. With 800&#xa0;kW power and 2000&#xa0;kWh capacity storage, the total operating cost significantly drops to CNY 1333. Scenario 5, which represents an extreme case with 1,000&#xa0;kW power and 20,000&#xa0;kWh capacity storage, results in the lowest total operating cost of CNY 710.</p>
<p>The results indicate that as storage capacity increases, the total operating cost of the system decreases significantly. Particularly in the extreme Scenario 5, the substantial increase in storage capacity results in the most significant energy arbitrage effect, reducing operating costs by approximately 85%. This highlights the importance of introducing and increasing the capacity of storage systems for lowering energy costs, especially during periods of high price disparity between peak and off-peak times.It should be noted that this study focuses on energy automation scheduling management based on smart contracts, optimizing solely for operating costs without considering the initial cost of storage configuration. While increased storage capacity significantly lowers operating costs, the configuration cost of the storage system typically rises with capacity. Although Scenario 5 shows the lowest operating cost, a high initial investment for a 1,000&#xa0;kW power and 20,000&#xa0;kWh capacity storage system may render such a configuration economically unfeasible.</p>
<p>In summary, configuring shared storage for park microgrids can optimize grid operation efficiency and enhance the grid&#x2019;s adaptability to demand fluctuations, leading to more economical and environmentally friendly energy management.</p>
</sec>
<sec id="s5-4">
<title>5.4 Privacy protection performance analysis</title>
<p>The <xref ref-type="fig" rid="F10">Figure 10</xref> below demonstrates the encryption and decryption effects of the proposed algorithm. Using the load forecast power of Park Microgrid 1 as an example, the forecasted power for 24 points of the previous day is encrypted and sent to five Energy Scheduling Consensus Committee members. The received load power curves for the five members, represented by s1, s2 &#x2026; , s5 in <xref ref-type="fig" rid="F10">Figure 10</xref>, show that the encrypted power data is random and significantly different from the actual power values. During the decryption phase, any three members combine their respective secret shares to complete the decryption. The curves in <xref ref-type="fig" rid="F10">Figure 10</xref> illustrate that the decryption algorithm accurately recovers the actual power values. This demonstrates the feasibility and effectiveness of the privacy protection algorithm proposed in this study.</p>
<fig id="F10" position="float">
<label>FIGURE 10</label>
<caption>
<p>Privacy protection performance analysis results chart.</p>
</caption>
<graphic xlink:href="fenrg-12-1476620-g010.tif"/>
</fig>
</sec>
</sec>
<sec id="s6">
<title>6 Summary and future outlook</title>
<p>This study establishes a blockchain-based energy management platform for park microgrids with shared energy storage. It sets up a decentralized scheduling management and decision-making mechanism based on an Energy Scheduling Consensus Committee. It designs an energy management strategy for park microgrids based on smart contracts, automating the generation and execution of power purchase and sale plans as well as energy storage operation plans. It also proposes a privacy protection strategy based on Shamir&#x2019;s Secret Sharing Scheme, effectively preventing data leakage during blockchain information exchanges. Through case analysis, the superiority of the proposed methods in optimizing microgrid scheduling, data tamper-proofing, and privacy protection is demonstrated.</p>
<p>This research provides significant value by addressing the critical challenges of privacy protection and transparent energy management in park microgrids. By integrating blockchain technology and smart contracts, it enhances the security and integrity of energy transactions, fostering trust among multiple stakeholders. Additionally, the proposed privacy protection mechanisms safeguard sensitive information, ensuring that energy management processes are both secure and efficient. These contributions are crucial for advancing decentralized energy management practices and promoting the adoption of smart grid technologies in the future.</p>
<p>As blockchain technology continues to mature and the functions of smart contracts expand, designing more efficient, cost-effective, and secure energy trading mechanisms will be a key research focus. Balancing technological development with environmental protection, economic costs with social responsibilities, will also be a comprehensive issue that must be considered for the development of microgrids. Therefore, future research could further deepen and explore these aspects.</p>
</sec>
</body>
<back>
<sec sec-type="data-availability" id="s7">
<title>Data availability statement</title>
<p>The original contributions presented in the study are included in the article/supplementary material, further inquiries can be directed to the corresponding author.</p>
</sec>
<sec id="s8">
<title>Author contributions</title>
<p>WL: Conceptualization, Data curation, Formal Analysis, Investigation, Methodology, Writing&#x2013;original draft, Writing&#x2013;review and editing. QA: Methodology, Supervision, Visualization, Writing&#x2013;review and editing.</p>
</sec>
<sec sec-type="funding-information" id="s9">
<title>Funding</title>
<p>The author(s) declare that financial support was received for the research, authorship, and/or publication of this article. This research was funded by the project &#x201c;Research and Application of Regional-scale User-side Resource Coordination and Interaction Technology&#x201d; (No. 090000KC22120002).</p>
</sec>
<sec sec-type="COI-statement" id="s10">
<title>Conflict of interest</title>
<p>Author WL was employed by Shenzhen Power Supply Bureau Co., Ltd.</p>
<p>The remaining author declares that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec sec-type="disclaimer" id="s11">
<title>Publisher&#x2019;s note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chaudhary</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Lamb</surname>
<given-names>J. J.</given-names>
</name>
<name>
<surname>Burheim</surname>
<given-names>O. S.</given-names>
</name>
<name>
<surname>Austb&#xf8;</surname>
<given-names>B.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Review of energy storage and energy management system control strategies in microgrids</article-title>. <source>Energies</source> <volume>14</volume> (<issue>16</issue>), <fpage>4929</fpage>. <pub-id pub-id-type="doi">10.3390/en14164929</pub-id>
</citation>
</ref>
<ref id="B2">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chen</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Qiu</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>Z.</given-names>
</name>
<etal/>
</person-group> (<year>2022</year>). <article-title>Cooperative-game-based day-ahead scheduling of local integrated energy systems with shared energy storage</article-title>. <source>IEEE Trans. Sustain. Energy</source> <volume>13</volume> (<issue>4</issue>), <fpage>1994</fpage>&#x2013;<lpage>2011</lpage>. <pub-id pub-id-type="doi">10.1109/tste.2022.3176613</pub-id>
</citation>
</ref>
<ref id="B3">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Karthik</surname>
<given-names>P. K.</given-names>
</name>
<name>
<surname>Anand</surname>
<given-names>R.</given-names>
</name>
</person-group> (<year>2020</year>). &#x201c;<article-title>Energy trading in microgrids using blockchain technology</article-title>,&#x201d; in <source>2020 4th international conference on intelligent computing and control systems (ICICCS)</source>. <publisher-name>IEEE</publisher-name>, <fpage>884</fpage>&#x2013;<lpage>888</lpage>. <pub-id pub-id-type="doi">10.1109/iciccs48265.2020.9121050</pub-id>
</citation>
</ref>
<ref id="B4">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Qi</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Bai</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Research on key technologies of P2P transaction in virtual power plant based on blockchain</article-title>. <source>IET Smart Grid</source> <volume>5</volume>, <fpage>223</fpage>&#x2013;<lpage>233</lpage>. <pub-id pub-id-type="doi">10.1049/stg2.12064</pub-id>
</citation>
</ref>
<ref id="B5">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Zhao</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Zhu</surname>
<given-names>X.</given-names>
</name>
<etal/>
</person-group> (<year>2023</year>). <article-title>Optimization method of shared energy storage configuration on source-grid-load side of power system</article-title>. <pub-id pub-id-type="doi">10.1109/powercon58120.2023.10331018</pub-id>
</citation>
</ref>
<ref id="B6">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>C.</given-names>
</name>
</person-group> (<year>2019a</year>). <article-title>A hybrid optimization-based scheduling strategy for combined cooling, heating, and power system with thermal energy storage</article-title>. <source>Energy</source> <volume>188</volume>, <fpage>115948</fpage>. <pub-id pub-id-type="doi">10.1016/j.energy.2019.115948</pub-id>
</citation>
</ref>
<ref id="B7">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>He</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>X.</given-names>
</name>
</person-group> (<year>2019b</year>). <article-title>Design and management of a distributed hybrid energy system through smart contract and blockchain</article-title>. <source>Appl. Energy</source> <volume>248</volume>, <fpage>390</fpage>&#x2013;<lpage>405</lpage>. <pub-id pub-id-type="doi">10.1016/j.apenergy.2019.04.132</pub-id>
</citation>
</ref>
<ref id="B8">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liang</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Hu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Xie</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>K.-C.</given-names>
</name>
<etal/>
</person-group> (<year>2022</year>). <article-title>PDPChain: a consortium blockchain-based privacy protection scheme for personal data</article-title>. <source>IEEE Trans. Reliab.</source> <volume>72</volume>, <fpage>586</fpage>&#x2013;<lpage>598</lpage>. <pub-id pub-id-type="doi">10.1109/TR.2022.3190932</pub-id>
</citation>
</ref>
<ref id="B9">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Guan</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Bi</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Guo</surname>
<given-names>Y.</given-names>
</name>
<etal/>
</person-group> (<year>2021</year>). <article-title>Optimization strategy of configuration and scheduling for user-side energy storage</article-title>. <source>Electronics</source> <volume>11</volume> (<issue>1</issue>), <fpage>120</fpage>. <pub-id pub-id-type="doi">10.3390/electronics11010120</pub-id>
</citation>
</ref>
<ref id="B10">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Luo</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Feng</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Yu</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>G.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Blockchain-enabled two-way auction mechanism for electricity trading in internet of electric vehicles</article-title>. <source>IEEE Internet Things J.</source> <volume>9</volume>, <fpage>8105</fpage>&#x2013;<lpage>8118</lpage>. <pub-id pub-id-type="doi">10.1109/jiot.2021.3082769</pub-id>
</citation>
</ref>
<ref id="B11">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Olabi</surname>
<given-names>A. G.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>Renewable energy and energy storage systems</article-title>. <source>Energy</source> <volume>136</volume>, <fpage>1</fpage>&#x2013;<lpage>6</lpage>. <pub-id pub-id-type="doi">10.1016/j.energy.2017.07.054</pub-id>
</citation>
</ref>
<ref id="B12">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Singh</surname>
<given-names>A. R.</given-names>
</name>
<name>
<surname>Koteswara Raju</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Phani Raghav</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Seshu Kumar</surname>
<given-names>R.</given-names>
</name>
</person-group> (<year>2023</year>). <article-title>State-of-the-art review on energy management and control of networked microgrids</article-title>. <source>Sustain. energy Technol. assessments</source> <volume>57</volume>, <fpage>103248</fpage>. <pub-id pub-id-type="doi">10.1016/j.seta.2023.103248</pub-id>
</citation>
</ref>
<ref id="B13">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Sun</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Zhao</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Ma</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>P.</given-names>
</name>
<etal/>
</person-group> (<year>2022</year>). &#x201c;<article-title>Optimal scheduling of renewable energy power station with energy storage system based on Long short-term memory electricity price forecasting</article-title>,&#x201d; in <source>2022 5th international conference on power and energy applications (ICPEA)</source>. <publisher-name>IEEE</publisher-name>, <fpage>510</fpage>&#x2013;<lpage>514</lpage>.</citation>
</ref>
<ref id="B14">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>van Leeuwen</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>AlSkaif</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Gibescu</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>van Sark</surname>
<given-names>W.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>An integrated blockchain-based energy management platform with bilateral trading for microgrid communities</article-title>. <source>Appl. Energy</source> <volume>263</volume>, <fpage>114613</fpage>. <pub-id pub-id-type="doi">10.1016/j.apenergy.2020.114613</pub-id>
</citation>
</ref>
<ref id="B15">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Xu</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2023b</year>). <article-title>A privacy-preserving trading strategy for blockchain-based P2P electricity transactions</article-title>. <source>Appl. Energy</source> <volume>335</volume>, <fpage>120664</fpage>. <pub-id pub-id-type="doi">10.1016/j.apenergy.2023.120664</pub-id>
</citation>
</ref>
<ref id="B16">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Zhu</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Ma</surname>
<given-names>Q.</given-names>
</name>
</person-group> (<year>2023a</year>). <article-title>Private data protection in social networks based on blockchain</article-title>. <source>Int. J. Adv. Netw. Appl.</source> <volume>14</volume> (<issue>04</issue>), <fpage>5549</fpage>&#x2013;<lpage>5555</lpage>. <pub-id pub-id-type="doi">10.35444/ijana.2023.14407</pub-id>
</citation>
</ref>
<ref id="B17">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yang</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Blockchain-based decentralized energy management platform for residential distributed energy resources in a virtual power plant</article-title>. <source>Appl. Energy</source> <volume>294</volume>, <fpage>117026</fpage>. <pub-id pub-id-type="doi">10.1016/j.apenergy.2021.117026</pub-id>
</citation>
</ref>
<ref id="B18">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>You</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Hua</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Cao</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2019</year>). &#x201c;<article-title>A smart contract-based energy trading strategy in energy internet</article-title>,&#x201d; in <source>2019 IEEE international conference on energy internet (ICEI)</source>. <publisher-name>IEEE</publisher-name>, <fpage>478</fpage>&#x2013;<lpage>483</lpage>. <pub-id pub-id-type="doi">10.1109/icei.2019.00090</pub-id>
</citation>
</ref>
<ref id="B19">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yu</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Wei</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Zhou</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Zang</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>2024</year>). <article-title>A double auction mechanism for virtual power plants based on blockchain sharding consensus and privacy preservation</article-title>. <source>J. Clean. Prod.</source> <volume>436</volume>, <fpage>140285</fpage>. <pub-id pub-id-type="doi">10.1016/j.jclepro.2023.140285</pub-id>
</citation>
</ref>
<ref id="B20">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>B.</given-names>
</name>
</person-group> (<year>2023a</year>). &#x201c;<article-title>A secure distributed energy trading mechanism for residential communities based on smart contract</article-title>,&#x201d; in <source>2023 8th asia conference on power and electrical engineering (ACPEE)</source>. <publisher-name>IEEE</publisher-name>, <fpage>970</fpage>&#x2013;<lpage>975</lpage>. <pub-id pub-id-type="doi">10.1109/acpee56931.2023.10135882</pub-id>
</citation>
</ref>
<ref id="B21">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Qiu</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Lin</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Ding</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>Y.</given-names>
</name>
<etal/>
</person-group> (<year>2023b</year>). <article-title>Optimal bidding strategy and profit allocation method for shared energy storage-assisted VPP in joint energy and regulation markets</article-title>. <source>Appl. Energy</source> <volume>329</volume>, <fpage>120158</fpage>. <pub-id pub-id-type="doi">10.1016/j.apenergy.2022.120158</pub-id>
</citation>
</ref>
<ref id="B22">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhong</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Zhong</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Mi</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Xiang</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Privacy-protected blockchain system 2019 20th IEEE international conference on mobile data management (MDM)</article-title>. <pub-id pub-id-type="doi">10.1109/mdm.2019.000-2</pub-id>
</citation>
</ref>
<ref id="B23">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhu</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Peng</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Cai</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>He</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Tang</surname>
<given-names>W.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Research on privacy data protection based on trusted computing and blockchain</article-title>. <source>Secur. Commun. Netw.</source> <volume>2021</volume>, <fpage>1</fpage>&#x2013;<lpage>9</lpage>. <pub-id pub-id-type="doi">10.1155/2021/6274860</pub-id>
</citation>
</ref>
</ref-list>
</back>
</article>