# Application of blockchain for secure data transmission in distributed state
estimation

S. Asefi  Y. Madhwal  Y. Yanovich  and E. Gryazina S. Asefi and E. Gryazina
are with center for energy science and technology (CEST), Skolkovo institute
of science and technology (Skoltech), Moscow, Russia (e-mail:
sajjad.asefi@skoltech.ru), (e-mail: e.gryazina@skoltech.ru). Y. Madhwal and Y.
Yanovich are with center of computational and data science and engineering
(CDISE), Skolkovo institute of science and technology (Skoltech), Moscow,
Russia (e-mail: yash.madhwal@skoltech.ru), (e-mail: y.yanovich@skoltech.ru).

###### Abstract

The application of renewable energy sources in the power grid, especially in
smart grids, where there is a bidirectional transfer of data and power,
increases the necessity of tracking the system’s state. Additionally, the
complexity of coupling between communication and the electrical infrastructure
in a smart grid will allow a vast amount of vulnerabilities. Increasing the
state estimation accuracy will help the smart grid operator efficiently manage
the system. In this paper, we propose a combination of distributed state
estimation and a blockchain designed communication platform. Additionally, the
asynchronous manner for data transmission, which is more likely to happen in
the real world, has been considered the second case in this work. Finally, a
detailed analysis regarding the application of blockchain in distributed state
estimation has been provided. The numerical analysis shows that the proposed
method meets real-world performance requirements and brings high security and
reliability to the distributed state estimation process.

Blockchain, Distributed algorithms, Optimization, Power system control, Smart
contract, State estimation

##  1 Introduction

POWER grid has faced different challenges due to the increasing utilization of
the distributed energy sources, and at the same time, the non-stop escalating
level of energy demand [1]. Hence, state estimation (SE) plays an essential
role in justifying and regulating system operator decisions like economic
dispatch, load frequency control, electricity markets, and load forecasting,
especially for the new generation of smart grids [2, 3]. Such a system can be
divided into two integrated parts, including physical equipment of a
traditional power system, i.e. physical system, and telecommunication
equipment, i.e. cyber system. Combining these two parts will lead to a cyber-
physical system (CPS) [4]. Bidirectional transfer of electrical energy and
system/consumers data will increase the complexity and, consequently, the
critical CPS’s vulnerability.

###  1.1 Power system state estimation

Although SE is highly comparable to the conventional load flow, SE considers
the unpredictable errors that might originate due to unexpected system change,
meter or communication system error, inaccuracy in equipment calibration and
planned manipulation from a malicious attacker, etc. [5, 3].

In addition to their conceptual difference, conventional load flow analysis
does not consider redundancy and imprecision of the system’s measurement data,
whereas SE considers the mentioned features [5]. The reliability of estimated
states is one of the critical features of a power grid. However, monitoring
and controlling the power grid can be improved by advance SE in case of a
contingency.

In order to provide a brief history on the evolution of the SE method and its
application in power system, we must mention that as soon as Schweppe pointed
out the application of SE in power system, industry instantly accepted it [6].
However, they did not apply the basic weighted least squares (WLS) method
proposed by him at the beginning but implemented two methods developed by
Dopazo [7], and Larson [8]. However, after a while revised version of
Schweppe’s method was admitted, and those two methods were rejected from
industrial applications [9]. Taking into account the sparsity of the gain
matrix, different researchers made several attempts to improve the WLS
estimator slightly [10]. Also, SE problems like ill-conditioning appeared
afterwards, and several methods such as the inclusion of zero injection power
within constraints of SE were proposed to overcome these issues [11]. WLS base
SE Schweppe et al. proposed applying non-quadratic estimators for bad data
detection within the early years of application. Later on, there were plenty
of studies on methods for identifying insufficient data, such as application
of least absolute value for this purpose [12]. From the early stages of
utilizing SE, the mentioned areas and problems have been an active research
area for energy management systems (where mainly the SE is done in power
system) and in the power system research community.

The expansion of the power system due to increase in the level of needed
electricity consumption and propagation of the technology, there are several
problems assigned with power system operation, especially centralized SE such
as, Expansion of power system continent-wise, Policy and privacy, Dimension of
the grid, Communication bottleneck, Data size and Security/Reliability, to
name a few.

Expansion of the power grid over continents makes an interconnected system
that these areas can be affected by contingencies in other areas [13]. The
spread of the network over countries or continents, e.g. the case with
regional transmission organizations (RTOs) in Europe, are using HVDC
technology for power transfer that is also a research area for considering
hybrid HVDC/AC transmission SE so that they can meet the characteristics of
the new network regarding Supervisory Control and Data Acquisition (SCADA)
[14]. Vulnerability and inflexibility of centralized SE make centralized SE
unsuitable for a multi-area (or multi RTO) estimator from a policy and privacy
point of view [13]. The grid’s high dimension is another challenge that
affects the computational difficulty [15, 16]. Having only one central control
unit, extensive network parameters and measurement unit’s information transfer
to this central coordinator, communication bottlenecks [17, 18]. Another
problem that has attracted the researcher’s attention, especially in smart
grids, is that the size (big data) and the speed of receiving data from
measurement units might not be store and process in a single unit [3, 19].
Moreover, in most of the literature, it is assumed that the central node is
secure, though it can be the most vulnerable, insecure and unreliable point in
a network and prone to a single point of failure [3, 20].

###  1.2 Power system distributed state estimation

One way to solve these problems would be implementing the distributed state
estimation (DSE). In DSE, the power system will be divided into several
smaller areas or sub-system, and the SE process will happen separately in each
area. A minimum amount of information exchange at borders of the areas is
required so that each area reaches convergence, i.e. the distributed network
reaches a similar solution as a centralized one. The amount of information
that must be exchanged depends on the method applied. In [21], a detailed
comparison of the current DSE methods regarding indices such as convergence
rate and information exchange has been made, which clearly confirms that each
method varies from an information transfer perspective.

The DSE algorithms can be classified into two categories, having a global
control center, i.e. hierarchical DSE [22, 23, 24] or fully distributed [18,
25, 21]. Both of them are successful in reaching an acceptable solution
compared to centralized algorithms. Alternating direction method of
multipliers (ADMM) [26] that are in the category of distributed optimization
[13], have been very popular recently. In [27] applying the network gossiping
method, a fully decentralized adaptive SE scheme has been presented for the
power system. The method enables collaboration between areas to solve the
global problem. However, there is still an insignificant performance error in
comparison to centralized SE. Authors in [28] presented a fully distributed SE
for WAMS, which does not need local observability of all areas. In [29], a new
multi-area SE method is discussed that utilizes a central coordinator;
however, there is no need to exchange topology information between areas or
from areas to the central coordinator. The proposed approach in [30], is a new
hierarchical multi-area power system SE, which shares the sensitivity function
of local estimators instead of boundary measurements or state estimates. As
stated by the authors in [30], the approach reduces the information exchange,
as well as increases convergence speed. In [20], the authors have provided an
ADMM based DSE. Also, in [31] and [18] a DSE process using matrix splitting
method for DC and AC SE, respectively. For more details, we refer to [32] that
presents a brief review of multi-area SE. It is to be noted that usually in
the literature, the transmission system has been a matter of concern, which we
try to follow the same approach.

The centralized method or some of the distribution methods, such as matrix
splitting or ADMM, would need linearization of the problem using Newton’s AC
SE method. However, by applying the decomposition method [13] and the
available solvers, there would be no further need for linearization of the
problem.

###  1.3 Blockchain

Blockchain (BC) is a peer-to-peer distributed ledger technology that stores
data on multiple servers globally. In 2008, Satoshi Nakamoto’s whitepaper on
Bitcoin [33] pioneered the use of BC technology in financial application[34].
Initially, BC technology was primarily used in the financial domain, i.e.
trust and secure environment without central authority where digital assets
like cryptocurrency can prevent double-spending attacks[35, 36]. Since then,
the technology’s potential has moved beyond financial domains to different
sectors like supply chain management, healthcare, etc. [37, 38, 39, 40, 41].

BC is a distributed ledger of chronologically generated blocks containing
cryptographically linked blocks to the previous block forming a chain, hence
BC. Any modification to the previous existing block will be reflected on the
latest block, making it secure and immutable to modification. If an attacker
changes data on any of the previous existing blocks, the following block’s
data will also change, and the ledger can be compared with another ledger to
track the point at which the data was manipulated and can be rectified. In
cryptocurrency, it is computationally impossible to take control over the BC
network because an attacker will require $51\%$ of the network’s computing
power, i.e. preventing other miners from creating new blocks[42]. BC-based
applications can provide security, trust, economic and auditability[43].

Since Bitcoin, many alternative cryptocurrencies (altcoins) have developed.
Ethereum[44] is the most popular cryptocurrency after Bitcoin, which has
provided a platform to develop BC projects on top of Ethereum BC. Ethereum is
an open-source BC-based decentralised software platform. In 2015, Ethereum BC
introduced a platform for BC smart contract development and decentralised
application (DApps), i.e. developing a simple program that runs on the its BC
deploys decentralised applications that runs using Ethereum Virtual Machine
(EVM). DApps are digital applications running on a BC or peer-to-peer network
of computers without controlling a single authority. Smart contracts can
specify the conditions and functionality of working of the smart contract on
the BC. For example, define a condition under which circumstances payment can
occur between two individuals. These conditions are programmed and deployed on
the BC, and individuals can abide by these conditions and transact in a secure
environment without intermediaries. Ethereum is one big computer that is made
of small individual computers located globally. These computers are nodes
connected, having a copy of the Ethereum BC. The transactions are broadcasted
to the network via a node which is replicated across the network. For Proof of
Concept of BC for secure data transmission, we have developed a prototype on
the Ethereum platform using truffle framework [45] which can be deployed on
local machines. We created a smart contract, specified conditions and deployed
it on a BC network running on local devices. Sections 2 and 3 explaining the
designed system architecture and problem formulation in detail and section 4
shows performance analysis.

Confidentiality, i.e. being accessible only to authorized users, integrity,
i.e. achieving the operational goals under harsh circumstances, and
availability, i.e. reliable availability of the information, are three main
security features for a smart grid [46] and cyberattacks, such as the denial
of service (DoS) attack, aims to destroy these properties. As mentioned
before, a central control unit gets compromised, all data can either get lost
or controlled by attackers, and one solution could be a distributed control
scheme. However, based on the power system’s communication structure, the
distributed grid can be subjected to a cyber-attack, while information
transfer occurs between areas. Due to the mentioned BC properties, in this
paper, a combination of DSE with BC has been proposed to eliminate such an
opportunity for the attackers.

The work in this paper is inspired by [3]. However, we have considered static
SE, whereas they have considered dynamic SE. Dynamic SE refers to estimating
the dynamic variables of the system (machine/dynamic load/distributed energy
resources’ dynamic variables), and static SE (which already applicable in
energy management system) hands out the algebraic variables of the system,
i.e. voltage magnitude $v$ and phase angle $\theta$ for each bus [47]. The
second one is that in [3], the DC approximation of the power system has been
considered while here the AC, SE has been studied. The third difference is
considering the asynchronous behaviour of the information transfer within the
power network that has not been provided in [3]. And finally, detailed
analysis and design of BC aided data transmission for DSE that has not been
addressed in the literature yet, due to the authors knowledge.

Beyond the numerous features of this research, the main contributions of this
work can be summarized as follows:

  * •

Implementation of DSE method, which requires the minimum data transfer and
provides high accuracy.

  * •

Application of the new technology (i.e. BC) to increase the data transfer
security in the power system.

  * •

Realization of the asynchronization and data transfer delays that might happen
within the distributed SE.

  * •

Detailed analysis and design of BC aided data transmission for DSE.

The rest of the paper is organized as follows. In the second section, we
present the modelling of SE, BC and data transfer. In the third section, the
problem state is presented. The fourth section provides the graphical and
numerical results of the research. Finally, in section 5, the research work is
concluded.

##  2 System model

In this section, the mathematical equations governing the SE problem
presented. First, we will provide the general problem formulation of SE. After
that, the distributed perspective of the problem using the decomposition
method is stated, and finally, the BC modelling for DSE has been provided.

###  2.1 State estimation

As mentioned before, given the noisy measurements available in the power
system, SE’s role is to infer the state of the system. This study’s
measurements are considered as power flows (along transmission lines) and
voltage or power injection (at the buses). In order to model the power
network, considering the set of the measurements as $z$, the vector of errors
associated with these measurements as $e$ and the set of nonlinear physical
equations governing the power system that relates the state variables to the
measurements as $f(x)$, we can state the following equation [2]:

$z=f(x)+e$.
---
(1)

It is noted that state variables ($x$) in this study are considered as voltage
magnitudes and phase angles for each bus in the network. Noting the redundancy
of the network measurement units, SE’s objective is to specify the most likely
state values, having these units’ value. Taking into account two assumptions
for the error corresponding to the measurements ($e$), that these errors are
independent and follow a normal distribution function, one can use the maximum
likelihood method and reach the following optimization problem:

$\min\displaystyle\sum_{i=1}^{m}{W_{i}(z_{i}-f_{i}(x))^{2}}$
---
(2)

where residual of $i$th measurement is defined as $r_{i}=z_{i}-f_{i}(x)$ and
$W_{i}$ is the weight-related to each measurement (inverse of the measurement
variance, i.e. $W_{i}=\sigma_{i}^{-2}$). In DC SE, the $f$ function would be
approximated by a linear function, and the system’s final state would easily
obtain. However, in AC SE, we would need to use Newton’s method to linearize
the problem and then solve it iteratively. It is to be noted that the gain
matrix’s ill-conditioning might cause numerical problems [2, 48].

###  2.2 Distributed state estimation

Smart grid overcomes the mentioned problems in the previous section for
centralized SE, e.g. policy and privacy or security/reliability, we can apply
DSE. The network would be divided into N areas, and the formulation
represented in (2) should be broken down for each area. Therefore the
formulation of the optimization problem for each area can be represented as
follows:

$\min\displaystyle\sum_{i=1}^{m_{N}}{W_{N,i}(z_{N,i}-f_{N,i}(x_{N}))^{2}}$,
---
(3)

in which $z_{N,i}$ presents the measurements inside area $N$, $m_{N}$ is the
number of measurements in area $N$, $W_{N,i}$ is the weight corresponding to
the measurement $z_{N,i}$ and $f_{N,i}$ is the equation related to this
measurement. $x_{N}$ represents the set of state variables inside the $N$th
area, plus the set of auxiliary variables. The idea of auxiliary variables is
to provide a consensus for the solution and it is due to the power line
connections between areas. This will lead to the need for information within
the borders of these interconnected areas. In this work we have considered
decomposition method to implement DSE on the test cases. In the next section,
we will discuss the formulation of DSE and auxiliary variables in more
details.

###  2.3 Blockchain Architectue

BC is a digital ledger of transactions distributed across the network of
computer systems on the BC, with atomics changes to the database, i.e.,
transactions grouped into blocks. The integrity and tamper-resistance of the
transaction logs are assured because of the cryptographic hash linked among
the blocks. BC is usually assumed to be decentralised architecture maintained
by individual parties. Each node of the network owns a copy of the BC. Each BC
block contains transactions, and every time a new transaction occurs on the
BC, it is broadcasted to all nodes and added to a block along with other
transactions waiting to get committed in a block. This technology has
developed over the last decade and can be categorised as private, public or
consortium BC, each further divided by permissioned or permissionless. Every
new block $N$ generated at time $T$ contains information from the previous
$N-1$ block generated at time $T’$, where $T>T’$. See Fig. 1.

Figure 1: Data organization in blockchain

####  2.3.1 Consensus Algorithm for Decentralises Ledger

BC is a peer-to-peer network of nodes that function individually without any
central authority. Each node of the network can function individually, i.e.
update ledger (creating and adding a block to the BC) and broadcast it to the
other networks using the gossip protocol[27]. The nodes verify the broadcasted
block’s validity in the network, and the nodes agree to accept or reject the
proposed block, thus reaching a consensus. In distributed ledger technology,
there exists a fundamental problem of reaching consensus. Majority of the BC
projects either of the three most common consensus algorithms, i.e. Proof-of-
work (PoW), Proof-of-stake (PoS), and Byzantine fault-tolerant. Like Bitcoin,
Ethereum uses a PoW consensus algorithm. In December 2020, Ethereum 2.0 was
launched, which uses PoS consensus. In PoW BCs, block creators called miners
are rewarded with mining rewards and transaction fees included in the block.
This mining reward is the incentives for using computation power and
electricity in finding the correct nonce within the target range.

The PoW consensus algorithm is used in generating blocks and proposed to the
other nodes of the network to add to the BC. Block proposing nodes has to
perform computation by running a hash of block’s content and incrementing a
nonce until it produces a value less than the target. Generating a hash on an
arbitrary size input is a one-way function that produces a fixed output
length. The hash function used is cryptographically secure and with brute
force there exists a potential solution with complexity of $O(2n)$ for
$H(m)=H(m’)$, where $H$ is a SHA function on an input $m$ and $m’$ and $m\neq
m’$. This means that for a fixed output length on $n$, for example, $n=256$ in
the case of SHA256, the probability of success is $2k-n$, where $k$ is a
number of queries.

####  2.3.2 Ethereum Architecture

A computer (node) can be a full node or light node [49] owning an instance of
the Ethereum BC. A full node stores the entire BC data and can serve any
request. It verifies all blocks and states and can propose a new block to
append on the ongoing chain. Light node stores only the header of the chain
and can verify the validity of the state roots’ data in a block header. To
interact with the DApp, clients should interact with the BC by running a full
node by itself and using ethereum clients, like Geth, OpenEthereum, etc., to
interact with the network. Ethereum BC has grown and consumes a significant
storage amount and can be difficult to run a full node. Therefore, via a
third-party platform like Infura, Alchemy, etc., [50, 51] provides API to
interact with ethereum BC feasible.

Ethereum comprises two main components:

  * •

Database: All activities on the network are recorded on the BC in the form of
a transaction. Sending cryptocurrency from one address to another is recorded
in a transaction with valid signatures and broadcasted to the network where
other nodes commit to a block after verification. PoW consensus algorithms
make shires that all the nodes in the network have the same BC data as all the
valid transaction data. The data is stored in the form of a Merkle Patricia
Tree. There are two types of addresses in Ethereum, Externally Owned Account
(EOA), controlled by private keys and Contract Address, controlled by contract
code. When a smart contract code is compiled and deployed from EOA, a contract
address is created, and bytecode is stored in it.

  * •

Code: The smart contract is stored on the BC in a contract address in the form
of code, known as byte code. High-level programming languages like solidity
are compiled to low-level programming languages called Ethereum bytecode,
bytecode in human-readable form is known as opcodes. The codes in contract
addresses execute contract when a transaction is sent from EOA to Contract
Addresses.

For each transaction on the BC, there is a fee known as Gas for executing
transactions. Once a transaction is added to the block, the transaction fee
goes to the miner as a reward for using computational resources. Gas is a unit
to measure computation difficulty in EVM. Gas is charged only when data is
modified on the BC, i.e. reading and accessing data is not chargeable. Once
the sender signs a transaction and broadcasts it, the Ethereum protocol debts
gas fees in a fraction of ethers from the Ethereum account, lack of required
gas amount will not allow the transaction to be committed. If there are no
fees, attackers can flood the node’s memory pool with bogus transactions,
causing DDoS attacks. Gas is not fixed for the transaction but variable
depending on the computational difficulty of a smart contract. The sender of
the transaction pays gas, and the miner who mines a block receives gas. Miner
receives all the transaction gas that he includes in the block along with the
block generation reward. Miners set the price of gas based on the
computational power of the network required to process transactions and smart
contract.

Since ether is not stable in value but sees daily change, therefore gas is a
relative price converted to ethers based on the load on the network. In a
congested network, the gas price will increase for each unit of gas. So we
should be able to switch from gas to ether. So we have a gas price, i.e. how
many units of ether are we willing to pay for one gas unit. Each opcode in
Ethereum has a cost. The total cost of the contract is the summation of all
the opcodes [52]. gasLimit is the limit of gas to spend in a transaction such
that it does not drain all the amount for infinite loop transactions.

The Ethereum Virtual Machine (EVM) is a virtual stack embedded within each
full Ethereum node that allows anyone to execute arbitrary bytecodes and plays
a crucial role in the consensus engine of the Ethereum system. It allows
anyone to execute arbitrary code in a trust-less environment in which the
outcome of execution can be guaranteed and is entirely deterministic. When you
install and start the geth, parity or any other client, the EVM is started,
and it starts syncing, validating and executing transactions. The EVM is
Turing complete, i.e. capable of performing any algorithm.

Figure 2: Ethereum network structure

####  2.3.3 Data Verification

Before broadcasting the data that contains the formation of the transaction to
other nodes in the network, the data should be signed using the private key. A
signature is required to prove that the sender of the data is genuine and not
an imposter who signed the message without the private key. BC uses asymmetric
cryptography based on public key infrastructure. Like a physical signature,
digital signatures are used to authenticate a document contents like pdf,
emails, etc. electronically [53].

Public-key or asymmetric cryptography is a cryptographic using keys, i.e.
private keys or secret keys and public keys. The generation of key pairs
depends on the one-way mathematical function. In the BC network, each node has
its pair of public and private keys, and the public key is shared with all the
other nodes. Owning a private key is equivalent to owning or controlling a
node associated with its public key and accessing the activities restricted to
it.

Figure 3: Data verification using private and public key

To sign a message(data), a function is calculated using the private key of the
document’s sender. At the recipient’s using public of the sender, we can
verify if the document is correct and not tampered with.

###  2.4 Asynchronous data transfer

The combination of renewable energy sources and information and communication
technology (ICT) changes the power system’s nature from a physical system to a
CPS [4]. Therefore, the physical part consists of a power grid, and the cyber
part comprises a control and computation layer. Although it is hard to provide
a clear definition for the cyber layer due to the integration of power system
elements with computational processors, we try to provide some features
related to each part. The physical layer includes transmission lines,
generators, transformers, etc., and physical laws govern it. The cyber layer
is responsible for the computation, analysis and assessment of the power
system on the regional and global scale. As a CPS, the smart grid, or the
power grid in general, encounters different types of cyberattacks, such as the
denial of service (DoS) or false data injection (FDI). However, latency attack
has the potential to be considered as a new type of attack in the area of the
power system, while it is already well-known for wireless network community
[54]. The power system undergoes a time delay of several milliseconds, while
increasing this latency or time delay maliciously may lead to the power system
instability [54]. Although the application of distributed methods and
implementation of a BC based communication network may dissolve the issue to a
high extend, still there would be a chance that the latency happens for the
system. To study such a case, we have considered a delay in data transfer
between areas in a randomized manner. In other words, at some iterations, an
area randomly (based on uniform probability distribution) will be selected so
as not to update its state variables. The comparison of the DSE results with
and without delay is presented in section IV.

##  3 Problem formulation

Suppose we have divided the power system into $N$ areas, having $z_{N}$
measurements composed of power injection, power flow and voltage magnitude.
Considering $x_{k}$ as the state variables related to area $k$ and
$\tilde{x}_{l}$ as the auxiliary variables estimated by area $k$ related to
its neighboring area $l$, one can rewrite (3) into the following equation:

$\displaystyle\min_{x_{k}}\text{
}f_{k}(x_{k})+\sum_{l\in\Lambda_{k}}{f_{kl}(x_{k},\tilde{x}_{l})},$ (4)

where $\Lambda_{k}$ indicates the set of all neighboring areas of $k$th area.
It is clear that (4) is composed of two statements. The first statement is
related to the measurements that the physical equation for calculating them
only requires the state variables inside the area and can be written as
follows:

$\displaystyle
f_{k}(x_{k})=\sum_{i\in\Lambda_{k}^{v}}{W_{k,i}^{v}(v_{k,i}^{m}-v_{k,i})^{2}}$
$\displaystyle{\scriptstyle+\sum\limits_{i\in\Lambda_{k}^{P}}{W_{k,i}^{P}(P_{k,i}^{m}-P_{k,i}(.))^{2}}+\sum\limits_{i\in\Lambda_{k}^{Q}}{W_{k,i}^{Q}(Q_{k,i}^{m}-Q_{k,i}(.))^{2}}}$
(5)
$\displaystyle{\scriptscriptstyle+\sum\limits_{(i,j)\in\Lambda_{k}^{PF}}{W_{k,ij}^{PF}(P_{k,ij}^{m}-P_{k,ij}(.))^{2}}+\sum\limits_{(i,j)\in\Lambda_{k}^{QF}}{W_{k,ij}^{QF}(Q_{k,ij}^{m}-Q_{k,ij}(.))^{2}},}$

where $\Lambda_{(.)}^{(.)}$ indicates the set of measurements; $W_{(.)}^{(.)}$
weighting factor for the measurements; $P^{m}_{(.)}$, $Q^{m}_{(.)}$ and
$v^{m}_{(.)}$ are the active power injection or power flow, reactive power
injection or power flow and voltage measurements; while $P_{(.)}$, $Q_{(.)}$
and $v_{(.)}$ are the physical equations of these measurements. These physical
equations governing the power system are provided in appendix. The second
statement of (4), is related to the measurements in $k$ that need to receive
state values regarding the buses in connection with the neighboring area $l$.
It is to be noted that, for calculation of the physical equations regarding
these measurements, we use the auxiliary variables.

$\displaystyle
f_{kl}(x_{k},\tilde{x}_{l})=\sum_{i\in\Lambda_{kl}^{P}}{W_{kl,i}^{P}(P_{kl,i}^{m}-P_{kl,i}(.))^{2}}$
$\displaystyle{\scriptstyle+\sum\limits_{i\in\Lambda_{kl}^{Q}}{W_{kl,i}^{Q}(Q_{kl,i}^{m}-Q_{kl,i}(.))^{2}}+\sum\limits_{(i,j)\in\Lambda_{kl}^{PF}}{W_{kl,ij}^{PF}(P_{kl,ij}^{m}-P_{kl,ij}(.))^{2}}}$
$\displaystyle{\scriptstyle+\sum\limits_{(i,j)\in\Lambda_{kl}^{QF}}{W_{kl,ij}^{QF}(Q_{kl,ij}^{m}-Q_{kl,ij}(.))^{2}}+\sum\limits_{i\in\Lambda_{kl}}{W_{k,i}^{\tilde{v}}(v_{l,i}-\tilde{v}_{l,i})^{2}}}$
(6)
$\displaystyle{\scriptstyle+\sum\limits_{i\in\Lambda_{kl}}{W_{k,i}^{\tilde{\theta}}(\theta_{l,i}-\tilde{\theta}_{l,i})^{2}}},$

where $\tilde{\theta}_{(.)}$ and $\tilde{v}_{(.)}$ are the auxiliary
variables. It is worth noting that the last two statements in (3) are utilized
to provide a consensus for this minimization function.

###  3.1 Proposed Blockchain Solution

Building grid’s data transmission architecture on top of BC provides a
security feature of the technology to transfer data among grid areas. BC
integration can ensure honesty in the system as the transaction’s sender can
only sign each transaction. Thus increasing trust and security to resolve any
dispute can arise for an incorrect transaction, which is less likely.

A Proof of Concept is developed on the Ethereum test network and deployed
using Truffle framework and Ganache. Ethereum provides tools to build smart
contracts and decentralized applications without any downtime or any third-
party interference. Truffle Suite is a BCs development environment, testing
framework, and asset pipeline using the Ethereum Virtual Machine (EVM).
Ganache [55] is a personal BC for Ethereum and Corda based distributed
application development. With Ganache and Truffle, the entire DApp can be
developed in a safe and deterministic environment. Ganache UI is a desktop
application supporting both Ethereum and Corda technology.

The Ethereum virtual machine has separate storage areas:

  * •

All contracts have state variables, and the state variables are stored on the
BC, i.e. The data is recorded into the BC itself. When the contract executes
some code, it can access all the previously-stored data into its storage area.
This storage is quite expensive.

  * •

Memory holds temporary values and only exists in the calling function and is
cheaper to use. Memory gets erased between calls. Gas price increases with the
size of memory scaling quadratically. Though, comparatively cheaper than
storage.

  * •

The stack holds small local variables, and here the computations happen. This
data can only hold a limited amount of values up to 1024 small local
variables.

  * •

Logs store data but may not be considered memory type as it is not written on
a transaction but blocks. Logs store data in an indexed structure with
mapping, and with filters, specific data can be accessed. Logs are
inaccessible to contract but are mainly used for events that occur on the BC.

###  3.2 System Overview

The proposed BC solution focuses on establishing a secure architecture of
transferring arbitrary data for every iteration among the grid entities based
on the established connections on the BC. Fig. 4 shows the main participating
entities of the system:

  * •

Grid area: The control center at each area is responsible for receiving,
calculation of SE and after that sending data to another area.

  * •

Auditor: Provides public key infrastructure [56] and is responsible for
maintaining smart contracts on the BC and can establish or demolish connection
between two areas. If any issues arise on the BC, the auditor can resolve this
issue with the BC. The grid transactions are independent, and the auditor is
not involved.

Each of the entities has its Ethereum address and can interact with the smart
contracts created deployed by the auditor. Although the auditor is the owner
of the smart contract, the data transfer in grid happens independently.

###  3.3 System Design

On the BC, two contracts are deployed. First, to establish/demolish connection
between the grid area. Second, to transfer data per iteration between the grid
areas with the established connection. The following section describes the
details.

####  3.3.1 Establishing/Demolishing Connection

The auditor controls algorithm 1 call, and only he is allowed to establish and
demolish connection between two grids area. For each new connection, the
network emits events of a new connection to all the area.

####  3.3.2 Data Transfer

Algorithm 2 smart contracts listens to all the transaction call of the first
deployed smart contract and as per update the state of the connections of this
smart contract. This algorithm takes four parameters i.e. sender, receiver,
iteration and payload. Each grid area in our case study has a different data
payload size, either two or four (i.e. state variables which needs to be
transferred). With each iteration, data is passed as arrays of float integers
as string type because it is impossible to pass a negative number in a smart
contract. With each transaction of the iteration, the transaction event is
emitted and notified to the receiving grid, who can process the data off-chain
as peruse.

Algorithm 1 Establish/Demolish grid Connection

0: address_deployer, address_from, address_to Initialisation:
$connection(\\_from,\\_to)\leftarrow bool$

1: if ($msg.sender\neq address\\_deployer$) then

2: _from $\leftarrow$ address_from

3: _to $\leftarrow$ address_to

4: if ($\\_from\neq\\_to$) then

5: if ($connection(\\_from,\\_to)\neq True$) then

6: Set connection(_from,_to) $\leftarrow$ True

7: else

8: Revert and show error ”Connection exist”

9: end if

10: else

11: Revert and show error ”No Self Connection”

12: end if

13: else

14: Revert and show error ”Only Owner Access”

15: end if

Algorithm 2 Data Transfer

0: ‘Establishing Demolishing Connections’

0: address_sender, address_to, interation_number, data_String

1: if ($msg.sender\neq address\\_sender$) then

2: if ($connection(\\_from,\\_to)=True$) then

3: Call function to transact these values on blockchain

4: Notify transaction in the network

5: Apply the transferred data in the current iteration for state estimation

6: else

7: Revert and show error ”No Connection”

8: end if

9: else

10: Revert and show error ”Only msg.senders”

11: end if

###  3.4 Security

This architecture provides security because each transaction requires a
transaction signature. The connection can only be established by the smart
contract owner as there is a specific check-in of the smart contract that
requires signature verification. Signature is created using the private key,
and address generation also requires a private key. Therefore, losing the
private key, especially by the auditor, i.e. controller of the architecture,
can compromise the whole system.

##  4 simulation results and discussion

In this section, the proposed method’s results on a test case, i.e. IEEE 14
bus system, are presented. The system has been divided into four areas. Fig. 4
shows the topology of the studied test case.

Figure 4: Topology of the IEEE 14 bus system integrated with blockchain

However, we have considered static AC SE, where the state variables would be
voltage magnitudes and phase angles at each bus. It is to be noted that the
measurements are consist of voltage magnitude, power flows and injections
(both active and reactive). The noise covariance for all measurement units has
been considered $10^{-4}$, and the initial value for state variables are a
flat start situation, i.e. voltage magnitude of “1” and phase angle value of
“0”. Moreover, the bus number “1” has been selected as the slack bus. To
evaluate the prototype’s performance, the smart contract was deployed on a
local BC server and interacted with the python application. The experiments
were performed on a computer with memory 16 GB 2400 MHz DDR4, Intel Core i9
running @2,3GHz.

As mentioned before, we have considered two different cases. The first case is
where the data transfer between areas are considered simultaneously. The next
one is when we consider the latency or time delay. The graphical and numerical
results of both cases are presented here.

Figure 5: IEEE 14 bus system voltage magnitude for centralized (Cent-SE) and
distributed state estimation interacting with blockchain (case 1 and case 2)

Fig. 5 and Fig. 6 represent the comparison of centralized and distributed
estimated voltage magnitude and voltage phase angle for IEEE-14 bus test
system interacting with BC. The distributed method has succeeded to reach the
centralized values in both cases.

Figure 6: IEEE 14 bus system voltage phase angle for centralized (Cent-SE) and
distributed state estimation interacting with blockchain (case 1 and case 2)

Fig. 7 shows the distributed method objective value during the IEEE 14 bus
system’s optimisation procedure. As proposed in [21], we have considered the
state variables convergence rate as convergence criterion and the value for
that has been set to $10^{-6}$. It is clear that in case 2, where there is a
delay in data transmission, the number of optimization iteration increases.

Figure 7: Distributed method objective value during iteration for case 1 and
case 2

Finally, the numerical results of the comparison between CSE and DSE are
presented in table 1. The iteration number and objective value of both
centralized and distributed are presented, respectively. As mentioned in
section 2, the objective value for centralized SE is obtained using (1) and
applying Newton’s method. However, for DSE, after solving the optimization
problem stated in (4) for all areas, we gathered the state variables and
placed these state variables into (1). The objective’s obtained result is by
feeding the DSE state variables into (1).

Figure 8: Gas consumption in Gwei to transfer bytes with payload size

Figure 9: Gas consumption to transfer 1024 bytes per payload size in Byte
Table 1: Numerical results of comparing centralized and distributed method for
case 1 and case 2

| Iteration | Objective | Objective | Distributed
---|---|---|---|---
| Cent | Dist | Cent | Dist | error | objective
case 1 | 6 | 73 | 11.5568 | 11.6801 | 1.0559 % | 10.9951
case 2 | 6 | 112 | 11.5568 | 11.6804 | 1.0582 % | 10.9951

As shown in the table, the factual error between these values is approximately
1 per cent for significantly reliable cases. It is essential to consider
objective value between the centralized and distributed method because one of
the standard methods to specify measurement anomalies, so-called bad data, is
to identify maximum residual and compare it with the chi-square value. So,
considering measurement residuals distributed method matches the centralized
to a great extent as well.

Fig. 8 shows the result of the experiment to check the gas consumption with
respect to the transaction payload size in bytes of different values in a
transaction, i.e. in a hexadecimal value and used to check how it will
influence the processing time. It is assumed that for each transaction between
areas, the payload is of size one with length each payload size $2^{k-1}$ in
character where $k\in\\{0,\dots,6\\}$, i.e. half the length of bytes. Gas
consumption varies with different payload size, and we can see that it is
somehow linear with quite a significant shift but a small slope. The majority
of the operation consumption goes to cryptographic signature checks by the
nodes. Hence conclude that the processing time will depend on the number of
the transaction.

Fig. 9 indicates the optimisation of the transfer procedure where several
transactions can be concatenated into one string, i.e. bulk data transfer,
thus less transaction to transfer the same amount data without spending extra
gas. Each transaction will increase the payload size and reduce gas
consumption for computation at nodes.

The last column of table 1 is devoted to the DSE objective value, which is
slightly different from the centralized objective value. This slight
difference is quite apparent, and it is due to the application of the
auxiliary variables. In other words, applying auxiliary variables in (3) is
the main reason leading to a better objective value. There might be a method
to utilize the benefit of applying these auxiliary values to improve SE
results further, but it is beyond the scope of the paper.

##  5 Conclusion

Blockchain technology has attracted research and industrial communities’
attention due to its diverse and novel characteristics. Needless to say that
the future power grids, so-called smart grids, can benefit from these features
in different industrial divisions. In this regard, we tried to point out
blockchain application in smart grids’ main sectors, the energy management
system. State estimation plays a vital role in regulating system operator
decisions such as the electricity market and load forecasting in energy system
management.

In this work, we have proposed a combination of distributed state estimation
and a blockchain designed communication platform for secure data transmission
and increasing the system’s reliability. Application of the smart contract
concept would lead to improving the security of the overall system. Moreover,
the robustness of the method against the data transmission latency has been
analysed.

As mentioned before, we introduced a scheme for the combination of state
estimation with blockchain in a distributed transmission system. Therefore,
implementing such a combination for the distribution system, in which the
applications of renewable energy sources are increasing exponentially, can be
a future direction. Another research direction for the future can be
introducing multi-signature that will make this architecture more secure.
Additionally, economical analysis for BC’s implementation in the power system
would be of interest to research and the industrial community and can be
considered another future direction for this study.

## Appendix

Power system equations Measurement units that have been considered in this
study are composed of voltage measurement, real power injection, reactive
power injection, real power flow, reactive power flow. In this section
physical equations governing the power system are provided.

###  5.1 Active and reactive power injection and power flow (inside area k)

$\displaystyle
P_{k,i}(.)=\displaystyle\sum_{i=1}^{n}{v_{k,i}v_{k,j}(G_{ij}\cos{\theta_{k,ij}}+B_{ij}\sin{\theta_{k,ij}}}),$
$\displaystyle
Q_{k,i}(.)=\displaystyle\sum_{i=1}^{n}{v_{k,i}v_{k,j}(G_{ij}\sin{\theta_{k,ij}}-B_{ij}\cos{\theta_{k,ij}}}),$
$\displaystyle
P_{k,ij}(.)=v_{k,i}v_{k,j}(G_{ij}\cos{\theta_{k,ij}}+B_{ij}\sin{\theta_{k,ij}})-\text{
}G_{ij}v^{2}_{k,i},$ $\displaystyle
Q_{k,ij}(.)=v_{k,i}v_{k,j}(G_{ij}\sin{\theta_{k,ij}}-B_{ij}\cos{\theta_{k,ij}})$
$\displaystyle+v^{2}_{k,i}\left(B_{ij}-\frac{b_{ij}^{s}}{2}\right),$

where $G_{ij}$ and $B_{ij}$ is the real and imaginary part of the element in
the $i$th row and $j$th column of the network admittance matrix, respectively;
And $\frac{b_{ij}^{s}}{2}$ is the shunt suseptance considering the $\pi$
equivalent mode of the line

###  5.2 Active and reactive power injection and power flow (between area k
and area l)

The equations between areas would be the same as inside areas, but the only
difference would be the value of state variables. If the state variable is for
the neighboring area we should use the auxiliary variables. For example, if
the $j$th bus is for the neighboring area, we should use $\tilde{v}$ and
$\tilde{\theta}$.

## References

  * [1] A. S. Musleh, G. Yao, and S. Muyeen, “Blockchain applications in smart grid–review and frameworks,” _Ieee Access_ , vol. 7, pp. 86 746–86 757, 2019.
  * [2] A. Gomez-Exposito, A. J. Conejo, and C. Canizares, _Electric energy systems: analysis and operation_. CRC press, 2018.
  * [3] M. N. Kurt, Y. Yılmaz, and X. Wang, “Secure distributed dynamic state estimation in wide-area smart grids,” _IEEE Transactions on Information Forensics and Security_ , vol. 15, pp. 800–815, 2019.
  * [4] R. V. Yohanandhan, R. M. Elavarasan, P. Manoharan, and L. Mihet-Popa, “Cyber-physical power system (cpps): A review on modeling, simulation, and analysis with cyber security applications,” _IEEE Access_ , vol. 8, pp. 151 019–151 064, 2020.
  * [5] F. C. Schweppe and J. Wildes, “Power system static-state estimation, part i: Exact model,” _IEEE Transactions on Power Apparatus and systems_ , no. 1, pp. 120–125, 1970.
  * [6] F. F. Wu, “Power system state estimation: a survey,” _International Journal of Electrical Power & Energy Systems_, vol. 12, no. 2, pp. 80–87, 1990\.
  * [7] J. Dopazo, O. Klitin, G. Stagg, and L. Van Slyck, “State calculation of power systems from line flow measurements,” _IEEE transactions on power Apparatus and Systems_ , no. 7, pp. 1698–1708, 1970.
  * [8] R. E. Larson, W. F. Tinney, and J. Peschon, “State estimation in power systems part i: Theory and feasibility,” _IEEE Transactions on Power Apparatus and Systems_ , no. 3, pp. 345–352, 1970.
  * [9] J. Allemong, L. Radu, and A. Sasson, “A fast and reliable state estimation algorithm for aep’s new control center,” _IEEE Transactions on Power Apparatus and systems_ , no. 4, pp. 933–944, 1982.
  * [10] t. A. Garcia, A. Monticelli, and P. Abreu, “Fast decoupled state estimation and bad data processing,” _IEEE Transactions on Power apparatus and Systems_ , no. 5, pp. 1645–1652, 1979.
  * [11] F. Aschmoneit, N. Peterson, and E. Adrian, “State estimation with equality constraints,” in _Tenth PICA Conference Proceedings_ , 1977, pp. 427–430.
  * [12] M. Irving, R. Owen, and M. Sterling, “Power-system state estimation using linear programming,” in _Proceedings of the Institution of Electrical Engineers_ , vol. 125, no. 9. IET, 1978, pp. 879–885.
  * [13] A. J. Conejo, S. de la Torre, and M. Canas, “An optimization approach to multiarea state estimation,” _IEEE Transactions on Power Systems_ , vol. 22, no. 1, pp. 213–221, 2007.
  * [14] M. Ayiad, H. Leite, and H. Martins, “State estimation for hybrid vsc based hvdc/ac transmission networks,” _Energies_ , vol. 13, no. 18, p. 4932, 2020\.
  * [15] M. Pau, F. Ponci, A. Monti, S. Sulis, C. Muscas, and P. A. Pegoraro, “An efficient and accurate solution for distribution system state estimation with multiarea architecture,” _IEEE Transactions on Instrumentation and Measurement_ , vol. 66, no. 5, pp. 910–919, 2017.
  * [16] C. Xu and A. Abur, “Robust linear state estimation for large multi-area power grids,” in _2016 IEEE Power & Energy Society Innovative Smart Grid Technologies Conference (ISGT)_. IEEE, 2016, pp. 1–5.
  * [17] T. Zhang, P. Yuan, Y. Du, W. Zhang, and J. Chen, “Robust distributed state estimation of active distribution networks considering communication failures,” _International Journal of Electrical Power & Energy Systems_, vol. 118, p. 105732, 2020.
  * [18] A. Minot, Y. M. Lu, and N. Li, “A distributed gauss-newton method for power system state estimation,” _IEEE Transactions on Power Systems_ , vol. 31, no. 5, pp. 3804–3815, 2015.
  * [19] M. Rostami and S. Lotfifard, “Distributed dynamic state estimation of power systems,” _IEEE Transactions on Industrial Informatics_ , vol. 14, no. 8, pp. 3395–3404, 2017.
  * [20] V. Kekatos and G. B. Giannakis, “Distributed robust power system state estimation,” _IEEE Transactions on Power Systems_ , vol. 28, no. 2, pp. 1617–1626, 2012.
  * [21] S. Asefi, S. Parsegov, and E. Gryazina, “Distributed state estimation: a novel stopping criterion,” _arXiv preprint arXiv:2012.00647_ , 2020.
  * [22] G. N. Korres, “A distributed multiarea state estimation,” _IEEE Transactions on Power Systems_ , vol. 26, no. 1, pp. 73–84, 2010.
  * [23] W. Jiang, V. Vittal, and G. T. Heydt, “Diakoptic state estimation using phasor measurement units,” _IEEE Transactions on Power Systems_ , vol. 23, no. 4, pp. 1580–1589, 2008.
  * [24] L. Zhao and A. Abur, “Multi area state estimation using synchronized phasor measurements,” _IEEE Transactions on Power Systems_ , vol. 20, no. 2, pp. 611–617, 2005.
  * [25] D. Marelli, B. Ninness, and M. Fu, “Distributed weighted least-squares estimation for power networks,” _IFAC-PapersOnLine_ , vol. 48, no. 28, pp. 562–567, 2015.
  * [26] S. Boyd, N. Parikh, and E. Chu, _Distributed optimization and statistical learning via the alternating direction method of multipliers_. Now Publishers Inc, 2011.
  * [27] X. Li and A. Scaglione, “Robust decentralized state estimation and tracking for power systems via network gossiping,” _IEEE Journal on Selected Areas in Communications_ , vol. 31, no. 7, pp. 1184–1194, 2013.
  * [28] L. Xie, D.-H. Choi, S. Kar, and H. V. Poor, “Fully distributed state estimation for wide-area monitoring systems,” _IEEE Transactions on Smart Grid_ , vol. 3, no. 3, pp. 1154–1169, 2012.
  * [29] A. Sharma, S. Srivastava, and S. Chakrabarti, “Multi area state estimation using area slack bus angle adjustment with minimal data exchange,” in _2013 IEEE Power & Energy Society General Meeting_. IEEE, 2013, pp. 1–5.
  * [30] Y. Guo, L. Tong, W. Wu, H. Sun, and B. Zhang, “Hierarchical multi-area state estimation via sensitivity function exchanges,” _IEEE Transactions on Power Systems_ , vol. 32, no. 1, pp. 442–453, 2016.
  * [31] A. Minot and N. Li, “A fully distributed state estimation using matrix splitting methods,” in _2015 American Control Conference (ACC)_. IEEE, 2015, pp. 2488–2493.
  * [32] A. Gómez-Expósito, A. de la Villa Jaén, C. Gómez-Quiles, P. Rousseaux, and T. Van Cutsem, “A taxonomy of multi-area state estimation methods,” _Electric Power Systems Research_ , vol. 81, no. 4, pp. 1060–1069, 2011.
  * [33] S. Nakamoto, “Bitcoin: A Peer-to-Peer Electronic Cash System,” _www.bitcoin.org_ , pp. 1–9, 2008. [Online]. Available: https://bitcoin.org/bitcoin.pdf
  * [34] P. Vigna and M. J. Casey, _The age of cryptocurrency: how bitcoin and digital money are challenging the global economic order_. St. Martin’s Press, 2015.
  * [35] I. Eyal, “Blockchain Technology: Transforming Libertarian Cryptocurrency Dreams to Finance and Banking Realities,” _Computer_ , vol. 50, no. 9, pp. 38–49, 2017. [Online]. Available: http://ieeexplore.ieee.org/document/8048646/
  * [36] G. W. Peters and E. Panayi, “Understanding Modern Banking Ledgers Through Blockchain Technologies: Future of Transaction Processing and Smart Contracts on the Internet of Money,” in _Banking Beyond Banks and Money_. Springer, Cham, 2016, pp. 239–278.
  * [37] P. P. Yash Madhwal, “BLOCKCHAIN AND SUPPLY CHAIN MANAGEMENT: AIRCRAFTS’PARTS’BUSINESS CASE.” _Annals of DAAAM and Proceedings_ , vol. 28, pp. 1151–1156, 2017.
  * [38] S. Malik, V. Dedeoglu, S. S. Kanhere, and R. Jurdak, “TrustChain: Trust Management in Blockchain and IoT Supported Supply Chains,” in _2019 IEEE International Conference on Blockchain (Blockchain)_. IEEE, 7 2019, pp. 184–193. [Online]. Available: https://ieeexplore.ieee.org/document/8946187/
  * [39] N. Alzahrani and N. Bulusu, “Block-Supply Chain: A New Anti-Counterfeiting Supply Chain Using NFC and Blockchain,” in _Proceedings of the 1st Workshop on Cryptocurrencies and Blockchains for Distributed Systems - CryBlock’18_. New York, New York, USA: ACM Press, 2018, pp. 30–35.
  * [40] D. Korepanova, S. Kruglik, Y. Madhwal, T. Myaldzin, I. Prokhorov, I. Shiyanov, S. Vorobyov, and Y. Yanovich, “Blockchain-Based Solution to Prevent Postage Stamps Fraud,” in _2019 IEEE International Conference on Blockchain and Cryptocurrency (ICBC)_. IEEE, 5 2019, pp. 171–175. [Online]. Available: https://ieeexplore.ieee.org/document/8751495/
  * [41] P. Mamoshina, L. Ojomoko, Y. Yanovich, A. Ostrovski, A. Botezatu, P. Prikhodko, E. Izumchenko, A. Aliper, K. Romantsov, A. Zhebrak, I. O. Ogu, and A. Zhavoronkov, “Converging blockchain and next-generation artificial intelligence technologies to decentralize and accelerate biomedical research and healthcare,” _Oncotarget_ , vol. 9, no. 5, pp. 5665–5690, 1 2018. [Online]. Available: http://www.oncotarget.com/fulltext/22345
  * [42] M. Saad, J. Spaulding, L. Njilla, C. Kamhoua, S. Shetty, D. Nyang, and A. Mohaisen, “Exploring the Attack Surface of Blockchain: A Systematic Overview,” 4 2019. [Online]. Available: http://arxiv.org/abs/1904.03487
  * [43] M. Choe, “LONDONCOIN: THE ULTIMATE CRYPTOCURRENCY.” [Online]. Available: https://coinmarketcap.com/
  * [44] Buterin and Vitalik, “Ethereum White Paper: A Next Generation Smart Contract & Decentralized Application Platform,” _Etherum_ , no. January, pp. 1–36, 2014. [Online]. Available: https://github.com/ethereum/wiki/wiki/White-Paper
  * [45] “Truffle Suite - Your Ethereum Swiss Army Knife,” 2018. [Online]. Available: http://truffleframework.com/
  * [46] A. M. Mohan, N. Meskin, and H. Mehrjerdi, “A comprehensive review of the cyber-attacks and cyber-security on load frequency control of power systems,” _Energies_ , vol. 13, no. 15, p. 3860, 2020.
  * [47] J. Zhao, M. Netto, Z. Huang, S. Yu, A. Gomez-Exposito, S. Wang, I. Kamwa, S. Akhlaghi, L. Mili, V. Terzija _et al._ , “Roles of dynamic state estimation in power system modeling, monitoring and operation,” _IEEE Transactions on Power Systems_ , 2020.
  * [48] A. Abur and A. G. Exposito, _Power system state estimation: theory and implementation_. CRC press, 2004.
  * [49] “NODES AND CLIENTS.” [Online]. Available: https://ethereum.org/en/developers/docs/nodes-and-clients/
  * [50] “Infura: The foundation for decentralized applications.” [Online]. Available: https://infura.io/
  * [51] “Alchemy.” [Online]. Available: https://www.alchemyapi.io/
  * [52] G. Wood, “Ethereum: A secure decentralised generalised transaction ledger,” _Ethereum project yellow paper_ , vol. 151, pp. 1–32, 2014.
  * [53] Q. ShenTu and J. Yu, “A Blind-Mixing Scheme for Bitcoin based on an Elliptic Curve Cryptography Blind Digital Signature Algorithm,” _arxiv_ , 2015.
  * [54] C. Chen, Y. Chen, K. Zhang, M. Ni, S. Wang, and R. Liang, “System redundancy enhancement of secondary frequency control under latency attacks,” _IEEE Transactions on Smart Grid_ , 2020.
  * [55] “Ganache: ONE CLICK BLOCKCHAIN.” [Online]. Available: https://www.trufflesuite.com/ganache
  * [56] U. Maurer, “Modelling a public-key infrastructure,” pp. 325–350, 1996.