面向物联网的轻量级区块链共识方法、系统及介质技术方案

技术编号:23291660 阅读:18 留言:0更新日期:2020-02-08 20:56
本发明专利技术公开了一种面向物联网的轻量级区块链共识方法、系统及介质,本发明专利技术方法包括各个节点成员按照层级选举形成委员会,首席p打包区块B并向所有中枢成员发送预发布信息;首席p根据各中枢成员确认整合成确认发布证书并广播给所有执行官;执行官对区块B进行验证;首席p如果收到f+1个验证通过信息,则首席p发布区块B并附加确认发布证书和验证通过证书;若收到f+1个验证不通过信息,则发布空白区块B并附加验证不通过证书。本发明专利技术综合了区块链去中心化的分布式网络结构和物联网天然的层级结构的优势,能够很好的适应多样的物联网设备,提高了节点容错率的同时尽可能的减少了网络通信,能够减少网络带宽的压力以及提高共识效率。

Lightweight blockchain consensus method, system and media for the Internet of things

【技术实现步骤摘要】
面向物联网的轻量级区块链共识方法、系统及介质
本专利技术涉及物联网的区块链技术,具体涉及一种面向物联网的轻量级区块链共识方法、系统及介质。
技术介绍
区块链的共识机制能够很好的解决物联网分布式网络的信任和安全等问题。然而物联网设备的计算机性能的多样性,使得直接在物联网中应用区块链变得很复杂。同时,物联网固有的层级结构和区块链的去中心化的分布式网络结构也存在一定冲突。因此,如何面向物联网实现轻量级的区块链共识,已经成为将区块链技术应用到物联网时亟待解决的关键技术问题。
技术实现思路
本专利技术要解决的技术问题:针对现有技术的上述问题,提供一种面向物联网的轻量级区块链共识方法、系统及介质,本专利技术综合了区块链去中心化的分布式网络结构和物联网天然的层级结构的优势,能够很好的适应多样的物联网设备,提高了节点容错率的同时尽可能的减少了网络通信,能够减少网络带宽的压力以及提高共识效率。为了解决上述技术问题,本专利技术采用的技术方案为:一种面向物联网的轻量级区块链共识方法,实施步骤包括:1)各个节点成员按照层级选举形成委员会,所述委员会中的成员上限数量为2f+3g+2个且包括一个首席p、含首席p在内一共上限数量为3g+1个中枢成员,上限数量为2f+1个执行官,f+1名执行官为激活的执行官,剩余f名执行官为观察的执行官,其中g为达成共识所允许的最大中枢成员错误节点数,f为最大执行官错误节点数;需要进入区块B的共识时执行下一步;2)首席p打包区块B,并向所有中枢成员发送预发布信息;3)各中枢成员对收到的预发布信息检查其序列号n是否连续,如果连续则返回确认发布信息给首席p;4)首席p在设定的超时时间tp1内统计收到的确认发布信息数,如果不少于2g+1个则将其整合成确认发布证书并广播给所有执行官;否则如果首席p在超时时间tp1内,无法收集到2g+1个确认发布信息,则发起中枢成员视图变更;5)执行官收到确认发布证书后,对其中区块B进行验证,如果验证通过则广播验证信息给首席p以及所有中枢成员,否则广播验证不通过信息给首席p以及所有中枢成员;6)首席p在设定的超时时间tp2内统计收到的验证信息,如果收到f+1个一致的验证通过信息,则生成验证通过证书、发布区块B并附加确认发布证书和验证通过证书;若收到f+1个一致的验证不通过信息,则生成验证不通过证书,发布空白区块B并附加验证不通过证书。可选地,步骤3)中枢成员对收到的预发布信息检查其序列号n是否连续时还包括下述处理步骤:如果中枢成员发现序列号n和本地存储的历史序列号nh不满足n=nh+1则序列号n不连续,向其他中枢成员及首席p请求中间缺少的区块信息;当中枢成员收到缺失请求时,则将自身nh之后的所有区块打包发给缺失成员;如果中枢成员拿到的区块信息中,证书无效,则不予采信该区块;如果中枢成员无法补足nh至n的所有区块,则发起中枢成员视图变更;如果中枢成员发现序列号n小于等于本地存储的历史序列号nh,则发起中枢成员视图变更。可选地,步骤6)中首席p在设定的超时时间tp2内统计收到的验证信息时还包括下述处理步骤:如果首席p收到了不一致的验证信息,直接激活观察的执行官;观察的执行官接收到激活请求后,将验证结果返回给中枢,首席选取其中f+1个相同的验证结果,并选取对应的执行官成为激活的执行官,广播区块信息;执行官收到区块后,检查自己是否被包含在验证证书内,如果是,则为激活的执行官,不是则为观察的执行官;执行官如果超过指定时间没有收到区块信息,则向其他委员会成员申请区块信息。可选地,所述发起中枢成员视图变更的详细步骤包括:S1)发起中枢成员视图变更的首席p或者中枢成员广播消息,此时该发起中枢成员视图变更的首席p或者中枢成员不会暂停工作;S2)当一个中枢成员收到g+1个不同的中枢成员发出的发起中枢成员视图变更的广播消息时,广播视图变更请求,同时在该视图中停止工作;S3)当一个中枢成员收到视图变更请求后,生成自己的视图变更请求,广播给其他中枢成员并停止工作;S4)当一个中枢成员收到含自己在内的2g+1个的视图变更请求后,成为新的首席,广播给所有委员会新视图信息;S5)中枢成员收到新视图信息后,将检查自己本地的区块和新视图信息中的是否一致,如发现缺失则广播缺失请求,更新视图信息后,中枢成员开始为新视图进行工作。可选地,步骤S1)中发起中枢成员视图变更的首席p或者中枢成员判断当前中枢成员视图是否完成一个有效区块的步骤,如果发现当前视图没有完成一个有效区块,则执行步骤1)重新选举。可选地,步骤1)中各个节点成员按照层级选举形成委员会的步骤包括下述三个阶段的步骤:1.1)在设定的超时时间t1内,首先高层级的成员互相广播存活消息以验证其活性;可竞选的成员向下层的、不参与委员会选举的成员发起竞选请求并收集选票信息;其他成员收到第一个竞选请求后向该请求成员投递选票且仅投一张选票;若超时时间t1达到则执行下一步;1.2)在设定的超时时间t2内,首先确定高层活动的全部成员,且这些成员全部进委员会,并组成临时委员会;临时委员会统计当前委员会成员名单以及剩余席位数并广播;竞选成员将收集到的选票信息发送给临时委员会;若超时时间t2达到则执行下一步;1.3)在设定的超时时间t3内,当临时委员会统计竞选成员的票数后,按照票数>权值的方式排序补缺,同时选取权值最重的成员作为首轮中枢首席;含首席外的前10名权值最重的成员作为委员会的中枢且按照权值排序;接下来选取前f+1名作为激活的执行官,剩余f名执行官为观察的执行官。可选地,步骤1.1)中向该请求成员投递选票时对该请求成员可竞选的成员评判标准为:给视图内所有成员按照权值从重至轻排序,假设最高层成员数为x,计算出第(A-x)*2个节点在第y层,则可竞选成员为不低于y层的所有非最高层节点,其中A为委员会上限数量。此外,本专利技术还提供一种面向物联网的轻量级区块链共识系统,包括呈层级拓扑结构相连的多个物联网节点,所述多个物联网节点被编程或配置以执行所述面向物联网的轻量级区块链共识方法的步骤,或所述多个物联网节点的存储介质上存储有被编程或配置以执行所述面向物联网的轻量级区块链共识方法的计算机程序。此外,本专利技术还提供一种计算机可读存储介质,该计算机可读存储介质上存储有被编程或配置以执行所述面向物联网的轻量级区块链共识方法的计算机程序。和现有技术相比,本专利技术具有下述优点:1、本专利技术采用各个节点成员按照层级选举形成委员会,因此可基于分布式网络结构和物联网天然的层级结构来实现委员会的选举。2、本专利技术在公式阶段,首席p打包区块B并向所有中枢成员发送预发布信息;各中枢成员对收到的预发布信息检查其序列号n是否连续,如果连续则返回确认发布信息给首席p;首席p在设定的超时时间tp1内统计收到的确认发布信息数,如果不少于2g+1个则将其整合成确认发布证书并广播给所有执行官;否则如果首席p在超时时间tp1内,无法收集到2g+1本文档来自技高网...

【技术保护点】
1.一种面向物联网的轻量级区块链共识方法,其特征在于实施步骤包括:/n1)各个节点成员按照层级选举形成委员会,所述委员会中的成员上限数量为2f+3g+2个且包括一个首席p、含首席p在内一共上限数量为3g+1个中枢成员,上限数量为2f+1个执行官,其中f+1名执行官为激活的执行官,剩余f名执行官为观察的执行官,其中g为达成共识所允许的最大中枢成员错误节点数,f为最大执行官错误节点数;需要进入区块B的共识时执行下一步;/n2)首席p打包区块B,并向所有中枢成员发送预发布信息;/n3)各中枢成员对收到的预发布信息检查其序列号n是否连续,如果连续则返回确认发布信息给首席p;/n4)首席p在设定的超时时间t

【技术特征摘要】
1.一种面向物联网的轻量级区块链共识方法,其特征在于实施步骤包括:
1)各个节点成员按照层级选举形成委员会,所述委员会中的成员上限数量为2f+3g+2个且包括一个首席p、含首席p在内一共上限数量为3g+1个中枢成员,上限数量为2f+1个执行官,其中f+1名执行官为激活的执行官,剩余f名执行官为观察的执行官,其中g为达成共识所允许的最大中枢成员错误节点数,f为最大执行官错误节点数;需要进入区块B的共识时执行下一步;
2)首席p打包区块B,并向所有中枢成员发送预发布信息;
3)各中枢成员对收到的预发布信息检查其序列号n是否连续,如果连续则返回确认发布信息给首席p;
4)首席p在设定的超时时间tp1内统计收到的确认发布信息数,如果不少于2g+1个则将其整合成确认发布证书并广播给所有执行官;否则如果首席p在超时时间tp1内,无法收集到2g+1个确认发布信息,则发起中枢成员视图变更;
5)执行官收到确认发布证书后,对其中区块B进行验证,如果验证通过则广播验证信息给首席p以及所有中枢成员,否则广播验证不通过信息给首席p以及所有中枢成员;
6)首席p在设定的超时时间tp2内统计收到的验证信息,如果收到f+1个一致的验证通过信息,则生成验证通过证书、发布区块B并附加确认发布证书和验证通过证书;若收到f+1个一致的验证不通过信息,则生成验证不通过证书,发布空白区块B并附加验证不通过证书。


2.根据权利要求1所述的面向物联网的轻量级区块链共识方法,其特征在于,步骤3)中枢成员对收到的预发布信息检查其序列号n是否连续时还包括下述处理步骤:如果中枢成员发现序列号n和本地存储的历史序列号nh不满足n=nh+1则序列号n不连续,向其他中枢成员及首席p请求中间缺少的区块信息;当中枢成员收到缺失请求时,则将自身nh之后的所有区块打包发给缺失成员;如果中枢成员拿到的区块信息中,证书无效,则不予采信该区块;如果中枢成员无法补足nh至n的所有区块,则发起中枢成员视图变更;如果中枢成员发现序列号n小于等于本地存储的历史序列号nh,则发起中枢成员视图变更。


3.根据权利要求1所述的面向物联网的轻量级区块链共识方法,其特征在于,步骤6)中首席p在设定的超时时间tp2内统计收到的验证信息时还包括下述处理步骤:如果首席p收到了不一致的验证信息,直接激活观察的执行官;观察的执行官接收到激活请求后,将验证结果返回给中枢,首席选取其中f+1个相同的验证结果,并选取对应的执行官成为激活的执行官,广播区块信息;执行官收到区块后,检查自己是否被包含在验证证书内,如果是,则为激活的执行官,不是则为观察的执行官;执行官如果超过指定时间没有收到区块信息,则向其他委员会成员申请区块信息。


4.根据权利要求1所述的面向物联网的轻量级区块链共识方法,其特征在于,所述发起中枢成员视图变更的详细步骤包括:
S1)发起中枢成员视图变更的首席p或者中枢成员广播消息,此时该发起中枢成员视图变更的首席p或者中枢成员不会暂停工...

【专利技术属性】
技术研发人员:史佩昌王怀民刘惠杨尚之丁博傅翔张亦奇钟姚奇韩拴龙
申请(专利权)人:中国人民解放军国防科技大学
类型:发明
国别省市:湖南;43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1