APP下载

基于区块链技术的数据共享系统

2022-01-26王楠翟峰曹永峰冯云张伟

科学技术与工程 2022年1期
关键词:记账权重区块

王楠,翟峰,2,曹永峰,冯云,张伟

(1.中国电力科学研究院有限公司,北京 100192;2.天津大学智能电网教育部重点实验室,天津 300072;3.国网江苏省电力有限公司常州供电分公司,常州 213000)

随着数字化时代的到来,智能家居、智能手机、智能电表的普及应用,构筑数字孪生世界将是社会发展的必然趋势,而如何准确安全地采集数据,如何打通数据壁垒,将成为制约数字化发展的瓶颈。数字安全与有效应用也将成为未来重点的研究课题,将云计算、大数据、区块链、人工智能、密码应用等技术融合应用,构建数据共享系统,让数据更大规模更加透明地服务社会生产和经济发展。

区块链技术具有去中心化、开放性、独立性、安全性等特点,可以解决节点数据之间的数据共享、安全应用及可信问题,该技术在产品质量追溯、数字货币、金融存证、医疗电子病历、物联网数据共享与访问等领域应用日益广泛。洪坤明等[1]提出了联盟区块链技术在水产养殖品质量追溯系统的应用。Sultana等[2]提出了一种基于区块链的数据共享和访问控制系统,用于物联网设备之间的通信。葛纪红等[3]、Liang等[4]提出了一种基于区块链技术的信息共享系统,用于解决集中式医疗服务系统中的信息孤岛问题。Yang等[5]利用贝叶斯推理模型设计了一种基于区块链的信任管理系统。在构建基于区块链的数据共享系统的探索过程中,常常受限于区块链的运行性能因素。例如,Bitcoin最大交易吞吐量是7笔/s,Ethereum最大吞吐量限制在20笔/s,平均时延为12 s[6]。

目前已有学者提出了建立大数据平台与碎片化应用的数据生态系统[7],研究了数据注册中心在云平台部署的可行性。崔金栋等[8]提出了智能电网数据管理技术框架,希望打造智能电网数据优化的新型生态模块。于戈等[9]提出了区块链系统的分布式数据管理技术在各专业领域的挑战和发展趋势。现结合智能电网用电信息采集系统的特点,提出一种基于区块链技术的数据共享系统的应用方法,通过云边端协同的架构设计,灵活调整区块随机数难度系数,引用权益证明确定区块上链权,同时应用信用值作为激励,即区块创建多,找到符合难度系数的随机数速度快,所取得的区块上链权愈高,并通过智能合约实现数据信息精准调用,期望提高系统的应用性和便捷性。

1 智能电网数据共享系统设计方法

在智能电网的用电信息采集系统中,采用了终端、集中器、主站的部署方式,数据通过终端侧向主站汇集。其网络安全防护采用的网络隔离装置、网关、堡垒机等设备实现了内外网络隔离,从而保障数据的安全传输与应用,但数据信息相对封闭。随着能源互联网的建设,在数据安全共享及互联互通等方面面临着巨大的挑战。

基于此设计了一种基于区块链、微应用、云计算技术设计智能电网数据共享系统,采用云边端协同的方式,实现资源灵活配置。以数据采集、传输、汇聚、分类、共享及应用为主线,进行数据的监管和有效应用,使数据应用的全过程操作公开透明及可追溯,保证数据信息的真实、完整和不可篡改,总体技术路线如图1所示。

图1 总体技术路线图Fig.1 General technical roadmap

在端侧和边缘侧分别部署区块链分级节点模块,通过智能合约触发主动上报,将数据汇聚于云端的主节点。端侧设备包括智能电表、现场移动作业终端、智能手机、智能家居等电力智能终端,采集设备应用广泛,通过区块链模块智能合约的调用,将设备主体的交易数据、状态数据及事件数据

信息在一定时间频率内向北侧进行数据传输。边缘侧通常为集中器,集中器完成接入设备的身份认证,通过触发智能合约进行北向数据汇聚,进行数据的采集与传输。

云端通过服务器的集群部署及智能化的资源配置实现灵活高效便捷的数据应用。主节点部署在云端,按照智能合约进行数据分类,将同类设备同种状态数据进行自动抽取,形成交易数据、状态数据及事件数据三棵不同的梅克尔树,通过哈希运算形成根哈希值,从而完成区块体信息创建,再通过共识运算创建区块,在其他区块完成验证后发布区块,上链的数据可对外实现共享,为可信节点或应用平台提供数据支撑,为业务应用提供数据指导。

2 共识机制

在数据共享系统中采用工作量证明(proof of work,POW)和权益证明(proof of stake,POS)相结合的方式[10-12],在基础数据上链过程应用POW共识,寻找符合难度系数的随机数,再应用POS权益证明,计算本轮用户的权益值、信用值及时间奖励值,得到记账权,记账权数字最大者获得本轮区块创建权。通过给区块产生数量多、运算速度快、信用好的优质用户更多的记账权,从而提升系统性能及使用率,共识过程如图2所示。

①工作量证明(找到符合难度系数Nonce);②证明广播,公布nonce;③根据权益、信用值和时间奖励计算记账权数字;④证明广播,公布记账权数字;⑤确定最大记账权并创建新区块;⑥广播;⑦验证并添加新区块图2 区块链共识过程示意图Fig.2 Block chain consensus process diagram

2.1 POW共识

在数据采集上链环节可采用POW共识,即工作量证明共识机制,如式(1)所示。

H(h‖n)

(1)

式(1)中:H为区块头数据信息及随机数的哈希值;h为区块头数据信息;n为符合当前难度系数的随机数;D为难度目标值。为了减少寻找随机数所花费的算力,降低哈希计算的难度,将初始难度设为1,对应难度值为4,即找到的Nonce拼接区块的数据信息进行哈希计算得到的Hash值的前4位为0,依次类推,如果难度设为2,对应的难度值为5。区块难度系数的调整取决于区块时间创建时间的速度,在本项目中,区块的创建时间公式为

Δt=trel-tcol

(2)

式(2)中:Δt为区块的创建时间;trel为区块的发布时间;tcol为边侧集中器采集到数据的时间。结合用电信息采集系统的采集频率为15 min,一次采集信息进行一次区块上链运算,即15 min左右将产生一个新的区块,那么24 h将产生96个区块。在本项目中,计划24 h调整一次难度系数,那么创建96个区块调整一次难度系数。

(3)

2.2 POS权益证明机制

为了给优质节点激励并调动用户的参与度和积极性,引用POS权益证明机制,区别不同用户的记账权。在每轮区块上链或称中,用户通过权益值、信用值分数的高低及区块上链时间确定各自的记账权,记账权最大时,出块的成功率越高,同时最大限度减少恶意节点的发生。

2.2.1 权益值

(4)

2.2.2 信用值

记账权的大小除了取决于用户权益值之外,还需要考虑用户的信用值,这里的信用值用来反映用户的信用情况,根据用户的行为增加或扣除信用分数,每个用户的初始信用分数为10分,成功记账会获得0.5分,发生恶意行为将扣除1分,当信用值低于5分时,该用户失去记账权。信用值的计算公式为

(5)

2.2.3 时间奖励

用户在找到符合要求的随机数Nonce时,在全网发布并寻求验证,本轮随机数寻找时间最少者获得本轮最高奖励为1,其次奖励为0.9,依次递减,第十名之后将失去本轮记账权。

2.2.4 权重

权重系数的确定通过综合评价多指标的重要性程度来确定[13]。评价指标包括用户权益x1、信用值x2和时间奖励x3,由专家评审确定3个因素{x1,x2,x3}评价指标集的重要性程度具有如下有序关系:

(6)

{w1>w2>w3}

(7)

式(7)中:w1为用户权益x1的权重系数;w2为信用值x2的权重系数;w3为时间奖励x3的权重系数。而权重之间的比值的理性判断为

(8)

式(8)中:wm为指标的权重系数;rm为有序关系中相邻两个评价指标的权重系数比值,根据专家经验,rm赋值如表1所示。针对式(6)、式(7)中有序关系,rm与rm-1需要满足

表1 指标权重系数比例赋值参考表Table 1 Index importance ratio assignment reference table

(9)

当所有评价指标的权重系数相加之和等于1,即

(10)

可推导出评价指标的权重系数公式为

(11)

wm-1=rmwm,m=s=2,3

(12)

结合式(10)~式(12)运算及赋值参考表计算出用户权益、信用值和时间奖励3个因素的权重系数。

2.2.5 明确记账权

用户找到符合难度系数的随机数Nonce后,需根据记账权的大小确定成功记账,计算用户权益、信用值及时间奖励的加权平均数,数值最大者将获得本轮记账权,公式为

(13)

3 共享系统数据上链流程设计

3.1 基于智能合约的数据汇聚方法分析

数据共享系统采用云边端协同的技术架构,通过二级区块链模块、一级区块链模块及区块链平台的部署实现整体数据可信接入、动态分类、实时监控及高效利用。系统流程如图3所示。

图3 数据共享系统流程图Fig.3 Flow chart of data sharing system

二级轻节点为智能终端,数据产生的源头,每个入网设备为一个节点,数量最为庞大。一级轻节点为集中器,通常一个集中器可连接数十个设备,即完成数十个二级轻节点的数据分类传输,包括3棵梅克尔树的数据详细信息,以便于云端的数据应用处理。主节点部署在云平台,一个主节点将完成数十个一级轻节点的数据打包上链。只有主节点具有区块上链权限,云平台按照一定时间频率将接收到一级轻节点信息进行区块信息预写入,在其他节点验证后完成区块创建,同时区块信息同步更新到其他主节点中,为保证其他节点的高效运行,同步到其他节点的区块信息仅包括梅克尔的根哈希值,区块信息即三棵梅克尔树的具体数据信息可不作本地下载要求。当业务系统需要查询及应用时,可通过设备信息等查询项在云平台实现数据调取。

区块链区块及区块头信息如图4所示,区块头信息可包括当前用户ID、时间戳、版本号、前一个区块Hash值、梅克尔树根Hash值、随机数、当前区块的Hash值,其中随机数根据难度进行哈希值运算。区块信息包括交易数据、状态数据、时间数据三颗梅克尔树,通过智能合约调取进行数据运算。

图4 区块信息图Fig.4 Block information diagram

3.2 数据汇聚算法优化

在海量数据汇聚时,为了减少丢包、卡顿等情况,引用负载均衡的工作原理,实现云平台资源的合理利用和数据的按序打包上链。

每台服务器设置不同的权重,而在集中器调取不同的智能合约时,引入随机数机制,随机数按照时间先后顺序依次生成,相邻两个随机数不同,数字按照一定周期循环使用。比较随机数与权重的大小,确定数据传输至服务器的地址。

设S为随机数,QA为服务器A的权重,QB为服务器B的权重,QC为服务器C的权重,如数据的大小关系为

S≤QA≤QB≤QC

(14)

随机数S为最小值时,选择最小权重的服务器进行数据计算,即

(15)

随机数仅仅大于最小的服务器权重,两者差值小于服务器B的权重,则选择服务器B进行数据计算,即

(16)

随机数大于所设置3台服务器的权重,根据计算,则选择服务器C进行数据计算。通过这种算法的引入,实现数据信息及时有序传输,保证了系统运行的工作效率。

4 测试及系统安全性分析

数据共享系统的测试环境由实验室设备进行环境搭建,设备信息如表2及表3所示。

表2 设备信息表(服务器)Table 2 Equipment information (server)

表3 设备信息表(集中器)Table 3 Equipment information (concentrator)

在上述设备搭建仿真测试环境,将区块链3个主节点分别部署在3台服务器上,每台服务器连接5个集中器,每个集中器连接5台智能电表,智能电表为电网标准元器件。在电表、集中器及云平台均内置安全模块,由密码基础设施为每个环节提供安全随机数、Hash运算、数据加解密等服务,同时数字证书系统为用户及设备进行身份验证,全程保证数据的真实可靠、完整及不可篡改,实现数据信息的透明公开及可追溯,最大化保障共享数据的安全应用。

按照智能电网用电信息数据采集15 min的频率进行数据采集及读取的性能测试。通过采集智能电表在工作状态下的电流、电压及停复电等数据信息,对系统吞吐量、平均响应速度等数据信息进行监测,如表4、表5所示。在数据采集及读取环节中,当并发数达到80时,系统吞吐量及响应速度逐渐平缓增长,系统性能测试结果符合预期需求。但由于实验室测试条件的局限,项目组还将持续基于区块链技术的数据共享系统在更大规模、更多用户、更复杂数据结构的应用探索。

表4 数据采集性能图Table 4 Acquisition performance

表5 数据读取性能图Table 5 Read performance

5 结论

通过结合智能电网用电信息采集系统的数据特点及工作流程,以及区块链架构提出数据共享系统,保证了电网数据全生命周期管理的安全性。

通过云边端协同的部署方式,并在共识中采用调整难度系数,引入用户权益、信用值及时间奖励产生记账权,可提高节点用户的积极性,同时保证系统的运行效率能够满足电网采集系统及共享数据应用的需求。

对于本系统而言,仍然存在很多技术难点有待突破。例如系统的运算速率能否满足高并发的共享数据需求,尚需进行算法的探索和优化;同时随着接入系统的数据类型逐渐增多,需要开展针对非结构性数据采集的智能合约的相关开发及研究。

猜你喜欢

记账权重区块
权重望寡:如何化解低地位领导的补偿性辱虐管理行为?*
财务自由第1步,从记账开始
区块链:一个改变未来的幽灵
记账类APP
权重常思“浮名轻”
区块链:主要角色和衍生应用
记账理财的好处有哪些
为党督政勤履职 代民行权重担当
区块链将给媒体业带来什么
区块链+媒体业的N种可能