赵永登
(华能山东石岛湾核电有限公司,威海 264312)
中共中央政治局第十八次集体学习专题研究了区块链技术在新的技术革新和产业变革中的应用。习近平总书记在主持学习时强调,要把区块链作为核心技术自主创新的重要突破口,明确主攻方向,加大投入力度,着力攻克一批关键核心技术,加快推动区块链技术和产业创新发展。当前,区块链技术应用已延伸到数字金融、物联网、智能制造、供应链管理、数字资产交易等多个领域。习近平总书记特别指出,要推动区块链底层技术服务和新型智慧城市建设相结合,探索在信息基础设施、智慧交通、能源电力等领域的推广应用。要求相关部门及其负责领导要注意区块链技术发展现状和趋势,提高运用和管理区块链技术的能力。在此之后,工信部等有关部门相继出台了引导、鼓励、规范区块链技术发展的相关制度和规范,至此,全社会掀起了应用区块链技术的热潮。
国家生态环境部新颁布的《核动力厂管理体系安全规定》[1]明确要求,核动力厂要“开展信息化建设,利用先进信息技术为知识和信息管理提供安全可靠的平台和工具,采取有效措施保证网络和信息安全”。近期,国家发展改革委、国家能源局、生态环境部、国资委、国防科工局联合发文(发改能源〔2021〕1536 号文件),针对某核电厂燃料组件破损事件的教训,要求各核电控股集团进一步加强核电运行管理,明确提出“积极利用信息化技术加强对人员行为的提醒和监督”。在一系列政策的鼓励和引导下,国内部分核电厂已经开始不断升级迭代信息化系统,智慧工厂、智能电站等信息化建设方兴未艾。在可预见的未来,区块链、人工智能等现代先进IT 技术必将广泛应用到核电安全管理的各个领域。
虽然切尔诺贝利核事故已经过去36 年了,但它仍然是我国核能与核技术利用事业安全发展的前车之鉴。随着政策和技术等外部条件和环境的发展和变化,我们可以站在一个全新的角度分析这场事故,并总结新的经验教训和痛点。
切尔诺贝利核事故[2,3]是一起由于管理严重缺位导致的核事故。切尔诺贝利核电站机组成员在无任何应急处理预案的条件下,开展一个没有经过严格论证的反应堆实验,反应堆设计的先天缺陷以及操作员一系列违规操作导致核电站功率瞬间大幅度拉升,并最终导致核电站的爆炸与堆芯石墨外泄。综观整个核事故的过程,从反应堆设计环节引入的设计缺陷,到核电站的不规范调试活动,再到应急准备与应急响应预案的缺失,最后到一系列不遵守安全规定与安全预设的违规操作,都体现出了核安全管理的严重缺位。
通过切尔诺贝利核事故的惨痛教训,我们可以总结出,在没有新技术,特别是没有计算机技术的支持下,核安全管理的两大痛点:一是核安全管理对理性的高度需求与人的感性之间的矛盾;
二是核安全应急响应对效率和即时性的高度需求与复杂管理流程之间的矛盾。这两大痛点是当前核安全管理和运行面临的重大挑战,是必须彻底解决的重大管理战略问题。面向核安全管理信息化、智能化的未来,区块链等新兴计算机技术的集成应用在解决上述两大痛点中的地位和作用将更加突出。
区块链技术[4,5]本质上是一种由事务、区块以及链三部分组成的分布式账本技术。这里的“事务”,理论上可以是任何根据实际业务逻辑需求而抽象的数据,而且这些数据的格式和内容可根据实际业务需求自行定义。应用到核安全管理领域时,“事务”理论上可以抽象为诸如控制棒、阀门等某一核电设备的某一组动作的控制逻辑,也可以是核安全监管指令的下达、执行、反馈过程的数据化抽象,甚至可以是一个普通的核电管理程序(制度)文本的编制、审核、批准及其内容的执行、反馈等环节的过程记录。这里的“区块”,便可以看作承载上述“事务”的“容器”,或者是记载实际业务逻辑的“账页”。这里的“链”,便是这些“区块”以密码学的某种算法按照某种规则(如时间序列)组织起来的分布式存储方式,且数据不可篡改。在一个分布式系统中,各个节点在本地维护一个由密码学技术打包串联的区块链账本副本,并通过特定的共识协议来保证各个节点的副本的最终一致性。分布式系统中的任何一方想要在账本上添加一条事务记录,必须将该条记录使用数字签名技术签名后广播至系统中的所有节点,并经过半节点确认后分别添加至各自区块链链尾,并使用哈希算法打包上链。区块链的去中心化、高冗余、高备份以及共识协议保证最终一致性,决定了区块链系统中区块链的链式结构、时序记录特性以及数字签名的不可篡改、不可抵赖等技术特性,则决定了任何第三方都可以快速地回溯查找特定的上链记录以及对应的记录源头,记录源头则对自己提交的记录负责,不可抵赖。
综上所述,区块链技术可不依赖额外的第三方管理机构或硬件设施,在一定条件下,可不设中心管制,通过分布式计算和存储,各个节点实现了信息自我验证、传递和管理,所有节点能够在系统内自动安全地验证、交换数据,不需要任何人为的干预。此外,整个系统信息对授权的成员或节点高度透明,且数据不可篡改,便于回溯。区块链技术的这些固有特征,与核安全管理体系的本质要求高度吻合。比如,“如何保证核安全的高效科学监管,将核安全法规和导则明确的核电厂各项设计、建设、运营规定落到实处”,是核安全管理体系的关键;
而区块链技术以其数据的开放、独立、可信等特征,可保证将核安全法定职责有效落实到监管者、运营主体、电厂部门甚至具体岗位;
再如,核安全管理的一个重要原则就是要充分考虑人的能力和其局限性,因此,每个核电厂都高度重视人因管理,目的就是要最大限度地减少人的非理性对核电安全的威胁;
而区块链作为先进的计算机技术,如果将人的一系列操作或者行动转换成计算机逻辑并“上链”,从而辅助人进行操作或者决策,便可最大限度地克服人的非理性。另外,区块链技术的开放、可信性,可非常方便地进行“链上”知识共享,便于形成理性、快速反应的经验反馈或操作辅助决策系统。特别是针对不同核电厂的相同型号的核电机组,如果由各核电厂共同维护一条相同型号机组的开放、可信的经验反馈“知识链”,则可有效规避相同的错误在其他时刻再次发生。总之,一个用于管理和记录核电运行与操作事务的区块链系统能够极大地加强核安全管理的责任落实。
智能合约[6,7]是一种以区块链作为底层架构和逻辑的分布式程序,由特定的程序语言编写,并在特定的区块链虚拟机环境内编译部署。智能合约以新加入区块链的区块作为输入,并根据输入区块上的事务以及自身程序逻辑来触发特定的事务或操作。在软件工程实践中,智能合约可被理解为根据实际业务情景,以代码形式组织而成的“if-then”结构的规则和逻辑。这类规则和逻辑应用在金融或交易领域,可按照交易双方事先协商确定的协议,在满足特定条件的情况下,由代码自动完成相关交易。当这类规则和逻辑应用到核安全管理领域时,可以是工作票中的一系列实际业务的自动执行或确认;
也可以是某一既定工作流程在一系列代码控制下的自动执行;
甚至可以是以经验反馈为主要内容的核安全知识共享及价值传播(或交易)系统。因此,智能合约具备实现大量的既定安全程序的能力,能够有效辅助核电安全管理。
一份智能合约的完整生命周期如下:(1)初始化:由程序设计人员将业务逻辑和需求转化为智能合约脚本代码,并在区块链系统上发布,区块链中各个节点接收并在本地编译部署,智能合约副本开始监听事务;
(2)执行:当已经上链的事务共同组成某个特定的区块链上状态时,智能合约被触发,执行相应的操作,并产生新的相关事务记录,广播至区块链系统;
(3)销毁:在智能合约自身逻辑或特定事务的控制下,智能合约程序在全区块链系统终止,合约撤销。
智能合约极大地丰富了区块链的业务逻辑和适用范围,使更细粒度的核安全管理业务需求在区块链上的实现成为可能。理论上,所有核电运行与操作事务记录均可上链,而核电机组的操作记录或控制接口获取的相关参数,可以触发实现各种核电安全既定规则或应急预案的智能合约,实现对核电机组操作的辅助决策。传统“CS”或“BS”的软件架构将数据存储在中心节点,因此拥有管理权限的恶意用户可对数据进行随意的增、删、改、查;
而在共识协议的约束下,部署在区块链上的智能合约只可对区块链进行回溯查找,或者在区块链链尾进行合法的“增”操作,少数恶意节点或用户无法有效更改或删除区块链上的其他数据。因此,智能合约既可像传统程序那样处理丰富的实际业务,又继承了区块链去中心化、可信溯源等特征。这种特征符合核安全管理对理性的最大需求。
近年来,随着计算机技术的进步,部署在区块链上的智能合约,广义上已超越了早期金融领域的自动化执行“数字化合同”的概念,在软件工程项目中常常作为一种处理实际业务逻辑的特定用例出现,也为机器学习等人工智能技术在区块链上的应用提供了一种可用的软件架构,这将是研究和探索智慧核电厂的重要方向之一。
联盟链[8,9]由最基本的区块链系统发展而来,解决了传统区块链系统中权限管理不清晰的弊端。具体而言,传统的区块链系统中缺乏节点的权限管理机制,任何节点均可以自由地加入或退出区块链系统,从而导致一些没有权限的节点接触到一些不可以对外公开或部分范围可公开的业务流程。因此,传统区块链系统也被称为公有链。相比之下,联盟链则是一种在公有链的基础上,通过引入节点作用范围与准入机制来明确节点的权限和责任划分的新兴区块链架构,其中的节点加入联盟链时必须获取全网共识许可。在核电机组的安全管理中,我们可以将一个发电单位作为一个联盟链系统,以部门、业务流程或机组实体装置和组成部分等基本运行单位作为联盟链中的各个节点。以此类推,我们也可以将若干核电厂和各个上级主管单位,乃至国家层面的监管机构作为联盟链中的各个节点,组成一个联盟链系统。如此设计,便可实现“国家监管机构—核电厂主管企业集团—核电厂—部门或机组单元—具体岗位或独立业务流程”核安全管理联盟链体系,各个层级节点的职能划分及职责边界有效清晰,理论上可构建一套基于区块链系统的、高效科学的核安全管理信息化体系。
综上所述,区块链以联盟链的形式应用在核安全管理中技术可行、意义重大,具备实现有效约束违规操作、即时响应突发状况、精准回溯事件责任等方面的潜力,能够有效规避人的感性与管理理性之间的矛盾,能够有效解决复杂流程与快速响应之间的矛盾。
本文提出一种基于联盟链和智能合约的核电机组共识管理机制,旨在将各种核电操作指令与机组状态落实至区块链,将各种安全规则与应急预案以智能合约的形式予以实现,从而解决违规操作不生效、突发状况响应快、责任回溯准而快等核电安全管理与责任落实方面的迫切需求。
如图1 所示,本文提出的框架分为三个技术层:账本层、共识层、合约层,其中:
图1 基于联盟链和智能合约的核安全共识管理框架技术层次示意图Fig.1 Illustration of consortium blockchain and smart contract based nuclear safety consensus management framework
账本层:定义了区块链的基本数据结构和逻辑单元;
共识层:控制区块链系统的全局最终一致性并实现对违规事务的拒绝;
合约层:实现各种核电管理业务逻辑和规则,并直接与核电机组设备集群、核电管理部门集群或核电单位集群对接。
这三者的基本逻辑关系为:账本层处理区块链状态变化,并向上提交至共识层,共识层根据合约层的业务逻辑进行全局共识,并将共识结果向下反馈给账本层进行处理。
账本层的本质是一个分布式区块链账本数据库,其中每个节点持有一个区块链副本。这些区块链副本在共识层的控制下保持最终一致性。账本层中的每个节点均有权提交带有提交节点数字签名和时间戳的事务记录,并广播至全网。任何节点收到事务之后进行签名和时间戳的验证,并且在收集一定数量的事务之后,将当前时间戳、上一区块的封装签名等信息打包为区块并签名,生成区块。区块被广播至全网,全网在共识层的控制下验证区块,验证通过后将该区块添加至链尾,区块内的事务成功上链。区块链账本副本的数据结构如图2所示。
图2 区块链副本数据结构Fig.2 The data structure of blockchain copy
本框架拟采取实用拜占庭容错(Practical Byzantine Fault Tolerance,PBFT)协议实现全局共识和最终一致性。PBFT 协议在保证高效的同时,还可以使分布式系统具备f-异常节点容忍度(f<n/3,n 为分布式系统总节点数)。拜占庭容错协议规避了传统“挖矿”机制的弊端,不会消耗大量的计算资源。
具体而言,PBFT 协议分为“预备—广播—确认接收—确认内容—确认”五步:
预备:在全区块链系统收到若干条验证通过的事务记录之后,全系统通过全局随机共识选出主节点Nm,其余节点作为从节点NR1,2,…,n;
广播:Nm将事务打包为区块C,并广播至NR1,2,…,n;
确认接 收:Nis收到C 之 后,将C 转 发至NR1,2,…,i-1,i+1,i+2,…,n。待Nis收到包括自己在内的2f+1 个相同的C 之后,则确认C 被大部分节点接收,转入区块内容确认程序;
确认内容:Nsi对C的内容合法性进行验证确认,如果验证通过则向NR1,2,…,i-1,i+1,i+2,…,n发送确认信息。待收到包括自己在内的2f+1 个确认信息后,则确认C 被大部分节点验证通过,转入区块上链程序;
确认:Nis将C 添加至本地区块链副本链尾,完成确认流程,C 中事务成功上链。
综上所述,该协议能够拒绝任何没有得到超过2/3 节点确认的事务和区块。换言之,任何事务的成功上链都需要通过2/3 节点的验证和确认。
智能合约是运行在区块链上层的“条件—响应”分布式程序,以新区块中的事务序列为输入,判断链上状态,并触发相应的脚本,提交新的事务,更改链上状态。为了方便说明智能合约对处理实际业务流程的基本逻辑,以《核动力厂营运单位核安全报告规定》《核动力厂营运单位核安全报告指南》[10](以下简称《报告指南》)中规定的运行阶段事件为假设案例事件,将其写入智能合约,并在链上状态符合事件特征时触发相应的报告与处理脚本,执行相关操作。
假设案例事件:结合核安全导则《核动力厂确定论安全分析》[11]中的相关描述,以《报告指南》中运行阶段事件报告准则(一)和(三)为例,说明一个完整的基于智能合约的运行阶段事件应急处理与报告流程。假设一个本文框架实例系统中已经发布智能合约A、B、C,具体见表1、表2 和表3。
表1 智能合约ATable 1 Smart contract A
表2 智能合约BTable 2 Smart contract B
表3 智能合约CTable 3 Smart contract C
对于假想中的一次反应堆冷却剂系统一回路卸压阀故障事件,上述代码逻辑表达的事件处理流程如下:
(1)来自冷却剂系统传感设备监测的事务得到确认并上链:“记录:一回路系统卸压阀状态离线”;
(2)来自一回路传感设备的事务得到确认并上链:“记录:一回路冷却剂装量低于最低安全阈值”;
(3)智能合约A 被触发;
(4)来自智能合约A 的事务得到确认并上链:“指令:紧急停堆”;
来自智能合约A 的事务得到确认并上链:“记录:生成运行阶段事件【设备不可用或者系统退出运行的持续时间超出核动力厂运行限值和条件所许可的时间】报告,报核安全局”;
(5)智能合约B 被触发;
(6)来自堆芯传感设备的事务得到确认并上链:“记录:堆芯控制棒已完全插入”;
“记录:反应堆输出功率已降为0”;
(7)来自堆芯传感设备的事务得到确认并上链:“记录:堆芯控制棒已经完全插入超过7 天”;
(8)智能合约C 被触发;
来自智能合约C的事务得到确认并上链:“记录:生成运行阶段事件【核动力厂营运单位执行核动力厂运行限值和条件所要求的停堆】报告,报核安全局”。
以上假设中的业务流程构成了一个简单的智能合约处理核电安全管理业务的示例。示例表明,智能合约的可编程性能够满足丰富的核电安全管理业务需求,包括运行期间异常事件的即时判别、即时处理与即时报送。
如果把基于区块链技术的核安全管理体系信息化看作一个软件项目,则这一项目的开发建设须遵循以下原则:
一是要遵循统一规划,分步实施的原则。由国家核安全局或行业协会在充分研究核电行业信息化建设基本情况的基础上,充分考虑各核电机组在设计、建造、运行、退役全生命周期内的核安全管理要求,统一规划,制定统一的体系架构和技术标准、开发规范,指导各核动力厂具体实施开发部署工作。各核动力厂要优先开发共性子系统,在此基础上,再开发个性化子系统。根据区块链的去中心化特性,共性子系统的开发,可由某个核动力厂牵头,开发完成后向整个行业开放,共同使用。
二是要遵循保守决策,先易后难的原则。由于核安全的极端重要性,在系统开发的过程中,要充分评估拟开发系统对现有体系的影响。要始终坚持先易后难的原则,如果要开发接入核电机组运行参数的系统,则要严格按照核安全法规及导则对于核安全在设计、建造和运行的各项要求进行,以确保不会对现有核电机组的控制产生负面扰动。
三是要遵循基于现状,逐步迭代的原则。多年来,随着计算机技术的普及,各核动力厂的信息化建设已取得不同程度的进展。在利用最先进的计算机技术开展信息化建设的过程中,要充分考虑现有信息化建设成果,最大限度地利用现有的系统或数据,使各个信息化孤岛形成网络优势,突出集群效应,在升级迭代过程中,逐步利用区块链等先进技术。
猜你喜欢事务核电合约北京市公共机构节能宣传周活动“云”彩纷呈北京市机关事务管理局节能与环保(2022年7期)2022-11-09第四代核电 高温气冷堆中国核电(2021年3期)2021-08-13百年初心精神 点亮核电未来中国核电(2021年3期)2021-08-132020年核电活动安排中国核电(2020年2期)2020-06-24基于改进乐观两阶段锁的移动事务处理模型计算机技术与发展(2019年11期)2019-11-18一种Web服务组合一致性验证方法研究计算技术与自动化(2017年3期)2017-10-26中国核电生长财经(2017年6期)2017-03-29Hibernate框架持久化应用及原理探析科技创新与应用(2017年3期)2017-02-18扩展阅读文章
推荐阅读文章
老骥秘书网 https://www.round-online.com
Copyright © 2002-2018 . 老骥秘书网 版权所有