logo好方法网

一种面向用电信息保护的拜占庭容错联盟链共识方法及其系统、存储介质


技术摘要:
本发明公开了一种面向用电信息保护的拜占庭容错联盟链共识方法及其系统、存储介质,该方法包括:构建区块链节点信用模型,通过区块链节点信用模型选出最高信用的节点当选主节点;交易发起者广播交易,将这些交易请求打包成区块;主节点将区块生成提案消息并签名;在从  全部
背景技术:
智能电网以自动化的方式来提高电网的高效性、可靠性、经济性,从而优化电网的 管理和运营。随着智能测量技术的成熟应用,更加准确、便捷、经济的电力抄表和实时监测 抄表大大提高了抄表效率,使得电力公司能更加科学、快速的调整电力供应,优化了供电量 与耗电量之间的供求均衡问题,在满足电力用户基本用电的同时,可有效的避免多余发电。 但是频繁的用电数据上传会给用户带来严重的个人隐私泄露的问题。智能电表上传的数据 可能被不法者利用,可能造成用户用电信息、个人敏感信息及涉及商业机密信息的泄露和 篡改,造成用户或电力公司的损失,从而给用户和电力公司带来威胁。 在智能电表环境中的三类主要隐私数据包括:用于对家庭或者用户进行唯一标识 的智能电表的身份信息;用于实时向电力公司上传的用户用电量信息,即智能电表实时电 量数据;还有就是一定周期需要上传的用户总的用电量信息,即智能电表总电量数据。不法 者获取了智能电表的唯一标识以及该智能电表实时上传的用户用电量数据后,就可以对用 户进行攻击。对于智能电网中用户的用电信息保护的研究,还处在起步阶段。区块链作为一 项新兴技术,是由分布式系统、共识算法、密码学、点对点网络等多种技术深度融合实现的 去中心化的分布式账本技术,提供了一个在去信任化的环境中进行信息和价值传递的可信 通道。联盟区块链简称联盟链,面向特定群体,只有经过授权的节点才可以加入特定的区块 链网络。联盟链中节点需要事先认证注册,共识过程中通常不涉及加密,成员节点间有共同 的目标,但在维护交易数据等方面并不完全信任彼此。相对于共有链,联盟链节点间通常有 着良好的连接、较高的验证和确认速度、更快的出块时间、较低成本的系统维护费用。结合 区块链的最新技术发展,联盟链可实现内部成员共同负责账本维护,同时注册机制可限制 参与节点的行为,灵活权限处理,在一定程度上构建出一个去中心、分布式的体系,摆脱了 由唯一中心机构带来的单点故障等安全隐患,解决信任问题,可适用于当前金融、供应链、 公益等应用场景,特别是在智能电网的用电信息隐私保护中具有非常重要的实践意义。而 共识算法作为联盟链中的关键技术,直接影响着联盟链的交易处理能力、可扩展性和安全 性。 共识问题一直是分布式领域的重要研究课题,根据选取区块记账权节点方式的不 同,大致可以将共识算法分为以下四类:,包括证明类共识算法如工作量证明(Proof  of  Work,PoW)和股权证明(Proof  of  Stake,PoS)、广播选举类共识算法如Raft算法、轮流类共 识算法如PBFT、混合类共识算法如PoS BFT。PoW等算法具有能耗浪费严重、吞吐量低、交易 时延长等问题,而PBFT算法作为拜占庭容错算法经典的实现,对联盟链具有重要意义,是联 盟链共识算法的核心支撑,许多联盟链共识算法受其启发,针对特定场景进行了改进。 4 CN 111612455 A 说 明 书 2/7 页 Miguel  Castro和Barbara  Liskov在1999年提出PBFT算法,可以在保证活性和安 全性的前提下提供1/3的容错性,将BFT算法复杂度由指数级降低到多项式级,使得BFT算法 在实际系统应用中变得可行。随后在此经典的PBFT算法基础上,研究者又做了大量的改进 工作,主要包括以Query/Update和Hybrid/Quorum为典型的基于Quorum的算法,以Zyzzava 为典型的基于Speculation方法的算法,以及以OBFT(Obfuscated  BFT)为典型的基于客户 端的算法等,以上算法都在不同侧重点上针对没有错误的场景对PBFT算法进行简化而设 计,因此当遇到拜占庭错误时,这类算法的性能一般会有不同程度的下降,甚至很难保证系 统的活性。 此外,PBFT算法基于状态机复制(State  Machine  Replication)原理,主要由一致 性协议、视图切换协议和检查点协议组成,在正常情况下系统运行在一致性协议和检查点 协议下,当主节点出错时,视图切换协议才会启动,以保证系统有序执行客户端请求。这是 针对典型分布式数据库的场景,请求以很高频率输入系统,系统可能在1秒内进行上千次共 识过程,一旦发生了超时,系统中的从节点会认为主节点是拜占庭节点,因此在该场景中, 必需Commit阶段来提高共识效率。但是在联盟链系统中,通常是几分钟甚至更长时间共识 一个区块,如果区块存在问题就直接共识一个区块体为空的默认区块,而不是回滚,所以并 不需要Commit阶段。另外,在PBFT算法中,主节点的更换是轮流产生的,这样是有风险的,如 果接连的几个当选为主节点的副本节点都是拜占庭的,那么系统的可用性就大大降低。
技术实现要素:
发明目的:为了克服现有技术中存在的不足,提供一种面向用电信息保护的基于 信用模型的拜占庭容错联盟链共识方法,该方法基于BP(back  propagation)神经网络构建 节点信用模型,在采用信用模型的基础上,对实用拜占庭容错算法(Practical  Byzantine  Fault  Tolerance,PBFT)进行了改进,提出了一种基于信用模型的拜占庭容错共识算法 (Credit-based  Byzantine  Fault  Tolerance,CBFT)。 技术方案:为实现上述目的,本发明提供一种面向用电信息保护的拜占庭容错联 盟链共识方法,包括如下步骤: S1:通过区块链节点信用模型选出最高信用的节点当选主节点;其中,所述区块链 节点信用模型是基于BP神经网络构建而成; S2:主节点接收交易请求,并将所述交易请求打包为区块;其中,所述交易请求是 交易发起者向全网广播带所述发送者的签名的数据; S3:主节点将所述区块生成提案消息并签名后发送给从节点,其中 在从节点接收到提案信息后,对提案合法性进行校验,当校验结果为不合法,进行 记录,放弃本次共识并发起视图更换协议;当校验结果为合法,则 经过验证的从节点向其他从节点广播发送节点信息,同时接收其他节点发来的确 认消息,当此节点接收到设定数量的一致确认消息后,该节点进入确认阶段,执行此区块交 易,并回复消息给客户端;客户端的上级节点根据客户端收到的节点回复消息情况,达成共 识,各节点执行区块上链。本发明的技术方案解决了将联盟链技术应用于智能电网无线通 信网中用户用电信息隐私保护时,经典PBFT共识算法遇到拜占庭错误时,其性能一般会有 不同程度的下降,甚至很难保证系统的活性的问题,特别是如果接连的几个当选为主节点 5 CN 111612455 A 说 明 书 3/7 页 的副本节点都是拜占庭的,那么系统的可用性就大大降低。 有益效果:本发明与现有技术相比,具备如下优点: 1、本发明提出一种基于信用的主节点选举方式,基于BP神经网络构建区块链节点 信用模型,选出最高信用的节点当选主节点,从而降低了拜占庭节点为主节点的概率,使得 视图更换次数大大减少,系统性能得到有效提升。 2、本发明提出的CBFT算法在基于信用模型以及区块链的链式区块结构的基础上, 去除了提交(Commit)阶段,由于无需commit过程,减少了网络开销。 3、本发明提出的CBFT算法采用改进的视图更换协议,确保了系统在主节点失效时 依然保持活性。 附图说明 图1为吞吐量测试结果示意图; 图2为CBFT算法和PBFT算法共识时延对比示意图。
分享到:
收藏