本发明属于电力系统异构设备的数据安全,涉及一种异构电力终端数据保护方法,尤其是一种基于交叉验证区块链的异构电力终端数据保护方法。
背景技术:
1、近年来,区块链技术受到各个领域的广泛关注,其去中心化的特性可以使网络中的节点在没有第三方的参与下自主进行交易,防篡改的特性能够保证数据的安全可靠,利用区块链技术来提升系统数据安全性已经成为各界共识。
2、在众多区块链技术中,dag技术将区块链从链式结构扩展到图式结构,有效扩展区块链的吞量,已有许多基于dag的区块链落地。随着电力系统的发展,保障系统中大量异构设备的数据安全成为电力系统建设的重要需求之一。
3、相比于传统的区块链应用场景,一方面对区块链的性能要求更高,另一方面电力系统中异构设备的计算和存储能力以及设备间的连接稳定程度较差,使系统更容易受到攻击。
4、但现有的基于交叉验证区块链的异构电力终端数据保护方法存在如下缺陷和不足:
5、(1)现有的基于交叉验证区块链的数据保护方法中,主要采用两种尖端选择方案:第一,随机选择方案。这类方案没有考虑到数据验证延迟,不适合对实时性要求较高的场景;第二,加权随机游走方案。这类方案中选择时间长且选择公平性差,加权参数的选择会影响选择方案的效果。
6、(2)现有技术没有对区块的上链流程划分阶段,区块的生成、选择和验证在一个阶段执行,下一个区块生成需要等待上一个区块验证结束,影响了数据上链确认的效率。
7、(3)现有技术中,区块链上的数据与本地数据发生冲突后不向其他节点广播,其他设备在验证选择区块时仍然会将该区块作为待选区块,影响了验证效率,对验证资源造成了浪费。
8、因此,本发明提出一种基于交叉验证区块链的异构电力终端数据保护方法,能够克服上述缺陷和不足。
9、经检索,未发现与本发明相同或相似的现有技术中的文献。
技术实现思路
1、本发明的目的在于克服现有技术的不足,提出一种设计合理、快速高效且能够确保数据的安全可信的基于交叉验证区块链的异构电力终端数据保护方法。
2、本发明解决其现实问题是采取以下技术方案实现的:
3、一种基于交叉验证区块链的异构电力终端数据保护方法,包括以下步骤:
4、步骤1、进行电力系统中异构设备的数据的采集和预处理,用于收集电力系统中异构设备运行状态、设备交互信息的数据;
5、步骤2、基于步骤1采集的电力系统中异构设备的数据和dag区块链,采用交叉验证方法,由电力系统中异构设备间互相确认数据,生成新区块并完成两个待验证父区块的选择;
6、步骤3、基于步骤2的选择的两个待验证的父区块,电力系统中的异构设备检查来自其他设备的区块,进行区块交叉验证;
7、步骤4、在步骤3完成交叉验证后,等待验证的区块被初次验证,随着其后继区块不断被确认,该区块会被电力系统中的全部设备直接或间接验证,转为最终验证的状态。
8、而且,所述步骤1的具体步骤包括:
9、(1)数据收集:分布在设备上的各类传感器收集设备状态的信息,设备间的交互信息由设备的存储器记录,所有信息都由设备处理器进行预处理;
10、(2)数据预处理:将各类信息处理为统一的数据格式。
11、而且,所述步骤2的具体步骤包括:
12、(1)生成新区块:
13、(2)基于步骤(1)生成的新区块,由电力系统中的异构设备运行尖端选择算法,为生成的未被验证的新区块选择两个待验证的父区块作为尖端区块。
14、而且,所述步骤2第(1)步的具体方法为:
15、电力系统中的异构设备处理在上个步骤中产生的数据,生成一个新区块,将多条数据生成一颗merkle树,将其打包到区块体中,并将电力系统中的异构设备的唯一标识写入区块头中。
16、而且,所述步骤2第(2)步的具体步骤包括:
17、①设备检查存储在本地的dag,选出其中的尖端区块,检查预训练后部署到本地的宽度学习模型,比较尖端数量与宽度学习模型的窗口大小。若尖端数量小于窗口,则从dag中部分已被验证的区块作为补充;若尖端数量大于窗口,则随机选取窗口数量的尖端。将当前待选尖端作为步骤②的输入,宽度学习网络的连接权重作为步骤③的输入;
18、②根据步骤①选出的尖端,检查区块的信息,读取区块的时间戳和设备编号,根据对应的设备编号查询本地数据中该设备编号对应设备的信誉值,将各个尖端的时间戳与设备信誉值组合,生成测试数据,作为步骤③的输入;
19、③将步骤②得到的测试数据作为宽度学习模型的输入,异构设备根据步骤①中得到的网络连接权重运行宽度学习模型,宽度学习网络将输出一个最佳尖端在待选尖端的下标。将该下标作为步骤④的输入;
20、④根据待选尖端的编号,设备从待选尖端集合中选择出最佳尖端,将其加入选择集合中;
21、⑤设备再次运行步骤①到④,直到选择集合中有两个尖端,进而完成两个待验证父区块的选择。
22、而且,所述步骤3的具体方法为:
23、电力系统中的异构设备检查来自其他设备的区块,若该区块中的数据与本地数据冲突,则未通过验证,将自己的设备标识与区块的区块头打包为一个冲突消息,并向全网广播;若该区块中数据与本地数据一致,则通过验证,将该父区块的哈希加入新区块的区块投中;
24、若通过验证的父区块数量不足,则设备重新运行进行步骤2和步骤3,直到通过验证的父区块数量大于等于2,将该新产生的区块加入到本地dag区块链中并向其他区块广播该新产生的区块,进而完成区块交叉验证。
25、而且,所述步骤4的具体步骤包括:
26、(1)在步骤3区块交叉验证结束后,终端设备遍历当前本地dag网络中所有未被确认的区块,检查这些区块的直接或间接验证设备的数量,如果一个区块被系统中的全部设备直接或间接确认过,该区块被最终确定到链上;
27、(2)所有异构设备共同维护被最终确定到链上的区块,这些区块中的数据在系统的所有异构设备上都有备份,修改某一数据需要得到整个系统中所有设备的确认,同时需要修改这些设备上的数据副本。
28、本发明的优点和有益效果:
29、1、本发明提出一种基于交叉验证区块链的异构电力终端数据保护方法,提供了一种新的尖端选择方案,该方案基于宽度学习系统,通过训练一个宽度学习模型帮助设备选择待验证区块,同时可以进行增量学习,适应系统中节点状态的变化。本发明优化了时间和设备信誉两个指标,减小了区块初次验证时延,提高了恶意区块的识别率。
30、2、本发明将区块上链的过程分为三个阶段:区块生成阶段,区块选择阶段和区块验证阶段,这三个阶段可以并行执行,后一个区块的上链过程不会被前一个区块阻塞,加快了数据上链和验证的速率。
31、3、发明提出一种交叉验证机制,在该机制中,当电力系统异构设备检测到链上区块的数据与本地数据发生冲突时,会生成一条冲突消息,将本设备的唯一标识与冲突区块的数据打包后向系统中的其他设备广播。该机制减少了冲突数据被反复选择验证的情况,加快了验证效率,节约了系统的验证资源。