基于区块链技术的煤炭运输安全预警研究
2022-04-08李菁
李 菁
(西安职业技术学院,陕西 西安 710077)
煤炭在能源结构中占据主要地位,该能源为非重复利用资源,在我国产业结构内属于关键产业,它的安全在国家能源安全中非常重要[1]。煤炭出现安全问题后,会导致较为严重的负面影响,轻则增加煤炭企业的经济损失,重则影响国家能源规划[2]。目前,煤炭的使用率越来越高,其流通性也随之提升,而煤炭运输为提升煤炭企业经济效益的基础条件,运输领域不断朝着信息化建设发展,对网络信息的依赖程度显著提升,导致该领域安全事件发生频率日益增长,影响越来越大[3-4]。及时预警安全问题,可迅速采取相关措施,解决安全隐患,杜绝安全事件的发生,降低煤炭企业的经济损失,为国家能源规划的有效性提供保障。区块链技术颠覆了传统记账技术的思想,通过连续数据区块连接形成的时序链式结构,其排列方式是依据时间戳的前后顺序展开排序[5]。区块链技术利用随机数求解挖矿结果,通过时间戳描绘区块构建事件,确保区块链按顺序构建,起到防篡改功能[6-7],采用Merkel根完成交易的验证;具备较优的去中心化与可追溯性等优势,应用范围较广。一直以来,煤炭行业属于衰退产业,为此有关煤炭的研究不多,在我国加入WTO后,煤炭行业随之迅速发展,导致煤炭安全问题接踵而来,为此研究基于区块链技术的煤炭运输安全预警,有效预警信息安全问题,避免出现安全事件。
1 系统总体设计
煤炭运输安全预警系统共5个层级,系统的具体框架如图1所示。数据层属于该系统的最下层,用于存储区块数据与事务交易数据hash地址等数据,构建煤炭运输安全预警评价指标;网络层利用共识算法实现区块链的操作;智能合约层通过远程过程调用功能完成远程请求服务,实现和下层的信息共享[8-9],通过EVM虚拟机实现智能合约层的信息共享;平台层利用智能合约层内的远程过程调用功能调用评价指标信息;应用层利用接口库完成和智能合约层与平台层的信息共享[10-12],提取评价指标信息[13],通过基于RBF的煤炭运输安全预警系统的总体设计,实现煤炭运输安全预警。
图1 煤炭运输安全预警系统Fig.1 Coal transportation safety early warning system
2 系统硬件设计
2.1 总线架构的设计
煤炭运输安全预警系统的实时性直接影响到煤炭运输的安全,以往在进行预警时采用的是CAN总线,但是其在煤炭运输安全事件发生时,对于数据的预警具有一定的延时性,影响到煤炭运输安全预警的实时性。而TTCAN总线因其可以有效的冗余时间控制器,提高数据传输的准确性,常被用于煤炭运输安全预警系统中。本文设计采用双通道冗余的TTCAN控制器,并搭配两路CAN总线,同时将DSP芯片融入到TTCAN控制器中,构成一套完整且独立的总线结构,可以实现各数据层的全面冗余。
2.2 信息传输接口设计
在进行接口设计时,需要先确定其拓扑结构,信系传输接口在与主机相连接时,通常都是用USB进行连接通信。设计采用RS-485通信接口并外接存储芯片的方式进行煤炭运输安全预警,可以提高信息的储存量,有效避免因为主机出现故障或者发生意外事故时导致信息丢失的情况发生。具体的信息传输接口设计如图2所示。
图2 信息传输接口结构Fig.2 Information transmission interface structure
信息传输接口主要由USB接口、显示屏、存储器、RS-485通信接口等组成。通过USB接口、RS-485连接主机,实现信息的传输,存储器对信息进行存储和备份,显示屏将预警信息显示出来,能直观地观察到煤炭运输安全情况。信息传输接口的设计为煤炭运输安全预警系统信息的传递与存储提供了保障,同时也保证了预警系统的有效运行。
3 系统软件设计
3.1 网络层区块设计
网络层中各区块的作用是对交易信息进行存储,运用区块链技术对网络层区块进行设计,可以有效判断数据块的有效性,再建立新的数据库。该技术的数据存储结构为依据时间顺序的链式结构,如图3所示。区块头中存在索引父块的哈希值数据、计算器与时间戳数据、整理并检验全部交易数据的树根数据。利用Merkle树衡量数据集是否存在缺失情况。
图3 区块链区块示意Fig.3 Schematic diagram of blockchain block
3.2 煤炭运输安全预警评价体系设计
利用RBF神经网络实现煤炭运输安全预警评价体系设计,该网络存在输入层、隐含层与输出层3个层级,首层的作用是接收输入值,最后一层的作用是生成输出值[14],中间层的作用是求解输入值的输出期望值与反向传播输出值。Sigmoid激活函数的作用是非线性映射更改输入与输出值,公式如下:
(1)
式中,yi为神经元j接收激活函数的值;xj为神经元j的值。
(2)
其中,wji为权重;i为神经编号。
在xj内引进激活函数,激活另一个神经元,反复迭代,以全部神经元均激活为止,构建RBF网络。
令神经元权值为W,在xj和期望值差距较大时,通过反馈机制更改W:
(3)
(4)
其中,gi为期望输出;在W低于设置阈值时,结束更改。
将煤炭运输安全预警评价指标:煤炭供需比C1,煤炭库存率C2,煤炭区域供需平衡度C3,煤炭铁路运输承运率C4,百万吨运煤死亡率C5,运输成本费用利润率C6,煤炭运输环境影响因子C7,作为RBF神经网络的输入;输出值5种预警等级值Ⅰ、Ⅱ、Ⅲ、Ⅳ、Ⅴ[15],分别对应安全、轻度预警、中度预警、重度预警以及严重预警。煤炭运输安全预警评价体系设计对实际的煤炭运输可以起到较好的警示作用,通过判断预警的风险等级,运输人员可以决定是否继续进行煤炭运输。预警等级低时,可以采取相应的措施,解决问题,预警等级高时,就需要立即停止运输工作,避免产生严重的后果。
3.3 煤炭预警系统参数设计
运用联邦学习方法进行煤炭预警模型参数的设计,联邦学习是一种机器学习框架,通过对预警系统参数的设计能够保护煤炭数据的隐私。用户通过该框架进行交换,同时对本地基于RBF神经网络的煤炭预警系统参数进行汇总,塑造虚拟联邦模型,进行预警模型训练过程中无需交换隐私数据则可实现。通过基于区块链的联邦学习模式确保煤炭的安全性。
将RBF神经网络的煤炭运输安全预警过程,转换成一个有监督的机器学习分类过程。Dk{(x1,y1),…,(xnk,ynk)}描述煤炭的本地异常数据库,其储存nk个症状的数据样本的第k个资源信息的数据。用式(1)描述本地预警模型的目标函数,其也是本地基于RBF神经网络的煤炭运输安全预警系统对本地异常数据库的经验风险:
(5)
式中,w为系统参数。
通过m个煤炭资源信息构成的全局系统应该确保总体信息分类预警误差最低,则获取全局系统目标函数为:
(6)
式中,pk为第k个本地预警系统对于总体系统权重。
在每轮迭代过程中,本地基于RBF神经网络的煤炭运输安全预警系统都会采集全局系统参数,进而修正本地系统参数,通过本地数据对模型梯度进行运算后,向全局系统中反馈该梯度值,使得全局系统基于目标函数实现梯度的聚合处理,同时反复修正新全局系统参数,如此循环进行,直至满足迭代终止规范。对预警系统进行参数设计,可以对信息安全进行分类,进而实现不同本地数据库的反向监测。联邦学习主要作用是预警系统参数的加密反馈以及汇总,同时对交互过程进行上链处理,还可以有效解决资源信息丢失的问题。
4 实证分析
数据来源历年该省统计年鉴、能源统计年鉴与研究机构。数据统计时间为2017—2018年,2017年1—12月为训练样本,2018年1—12月为测试样本。利用本文方法采集有关煤炭运输安全预警信息,以时间方式将采集的信息存储于对应的评价指标内,为方便求解,预警等级从安全至严重预警依次为Ⅰ、Ⅱ、Ⅲ、Ⅳ、Ⅴ。
煤炭分布在区块链中,因此区块链的安全性对于确保煤炭的安全具有重要作用。通常攻击者会攻击区块链中的共识机制,检测用户通过本文方法的区块链进行信息访问时的信用度值。区块链安全资源访问信用度如图4所示。从图中可知,用户访问煤炭时,攻击者会对区块链进行不断的攻击,导致用户信用度降低。随着用户访问次数的逐渐增加,用户当前信用度,历史信用度以及推荐信用度都不断变化,10次资源访问过程中,信用度值基本稳定,说明用户通过本文区块链访问煤炭的信用度都较高,预警安全性更高。
图4 区块链安全资源访问信用度Fig.4 Credit degree of blockchain securityresource access
实验为了检测本文方法采用的区块链存储海量煤炭运输资源数据的处理性能,分别对300组、600组以及900组的煤炭运输资源数据,在不同节点区块条件下的区块链同步时间,结果如图5所示。
图5 区块同步时间Fig.5 Block synchronization time
从图5中能够看出,随着区块节点数量的不断提高,不同组数据的平均区块链同步时间都不断提高,并且随着区块链中存储的煤炭运输资源数据量的增加,平均区块链同步时间也提高。说明本文方法采用的区块链技术可以满足大数据煤炭运输资源存储所需的处理效率需要。
利用技术效率变化指数(TE)、纯技术效率变化指数(PTEC)、规模效率变化指数(SEC)衡量本文方法的信息利用率,三者相乘后的值大于1代表本文方法信息利用率较高。在TE>1情况下,代表技术效率较高;在PREC>1情况下,代表技术成熟度较高;在SEC>1情况下,代表规模效应较好。
以2017年的信息为例,测试本文方法在这段时间的信息利用率及均值,如图6所示。分析图6中的测试结果可得,本文方法的TE、PTEC、SEC均值都大于1,三者乘积也大于1,说明本文方法具备较高的信息利用率,信息利用率高可丰富煤炭的细节信息,提升安全预警效果;仅有2—5月、6—8月的三者乘积略低于1,与1的差距非常小;综合分析,本文方法的信息利用率整体偏高,技术水平较优,规模效率较高。
图6 信息利用率及均值测试结果Fig.6 Test results of informationutilization and mean value
为提升本文方法的预警精度,需要归一化处理各指标的值,令各指标的取值区间为[-1,1]。实验设置本文方法构建的RBF网络训练次数的显示间隔是150,网络学习速率为0.06,最大网络训练次数是800次,网络训练目标的允许误差是0.06,网络训练最小的性能梯度是0.000 001,网络训练确认的最多失败次数是5。本文方法中网络训练开始后,Matlab会呈现训练监控窗口,及时呈现误差信息,在误差未超过设置参数情况下,网络构建完成。本文方法中网络的3个层依次包含7个、8个、3个神经元。
本文方法输入的是归一化的值,输出的也是归一化的值,不能和期望值对比,需要通过postmnmx函数反归一化处理输出值,对比分析反归一化值与期望值,测试本文方法的预警效果,测试样本输出结果见表1。从表1的对比结果可知,本文方法获取的预警结果与期望结果相差较小,仅有1月、6月、7月、11月、12月的预警结果相比期望结果低一个等级,虽然低一个等级,但在煤炭安全出现问题时,本文方法也可以预测出危机,实现安全预警。
表1 测试样本输出结果Tab.1 Output results of test samples
4 结语
大数据环境下,基于互联网的信息安全事件发生频率越来越高,对煤炭展开预警,可有效解决安全事件频发问题,尽可能降低煤炭企业的损失,为此研究基于区块链技术的煤炭运输安全预警方法,精准预警煤炭安全,及时解决安全隐患,避免出现不必要的损失。