Figure 10. Real-time transmission of electric power data based on P-PoW algorithm
After receiving new block information from plants/substations, regional dispatch center can verify the signature validation in new block. New block can be considered trustworthy if its signature satisfies the following inequality:
(2)
In inequality (2), P represents new block hash pointer value,andSig is the block signature, Addr is the address space of hash function outcome Hash (·), CP is computational power (TH/s) configured in the corresponding plant/substation, ΔT b is the time duration from receiving moment of previous block to the receiving moment of current block, and ΔT t is the time consumption in communication transmission process. Considering many factors such as computing power fluctuation, environment influence and uncertainty of transmission time can affect the computational result of left side of inequality (2), a coefficient K is added to the right side of the equality to relax the verification condition. The specific value of K can be determined based on the actual experimental test.
If new block signature does not satisfy (2), the dispatch center would reject the block. At this point, dispatch center may request corresponding plant/station to resend the latest block or send alarm message to dedicated personnel. For any attacker who wishes to tamper with electric power data via the communication channel, there are two challenges: ① In order to make dispatch center accept tampered data, the attacker must own sufficient computing power to produce a “good enough” signature satisfying inequality (2); ② The attacker must possess the historical information of the blockchain to make the header hash pointer P conform to the rules of blockchain generation. By using a dedicated hash algorithm and deploying specialized hardware, while dispatching data network is used as communicational infrastructure to transmit data, the data tampering cost would become tremendous high that seldom individuals or organizations can afford. Therefore, the trustworthy transmission of real-time electric power data is guaranteed.
5. Simulation Verification
To validate the feasibility of P-PoW algorithm, this paper implements a simplified blockchain system for real-time electric power data transmission using C++ programming language and Qt library. Simulation experiment verifies the effectiveness of P-PoW algorithm for real-time data transmission application.
5.1. Blockchain Program Architecture Based on P-PoW Consensus Algorithm
The main application scenario of P-PoW algorithm in this paper is point-to-point data transmission. Considering the convenience of program implementation and debugging, a multi-thread architecture is used to build experimental program. Figure 11 shows the architecture of the experimental program, which is divided into four threads: real-time data generation thread, block data maintenance thread, P-PoW computation thread, and human-machine UI interaction thread.