基于神经网络的区块链共识方法及其相关设备技术

技术编号:35214303 阅读:24 留言:0更新日期:2022-10-15 10:28
本申请实施例属于区块链技术领域,涉及一种基于神经网络的区块链共识方法及其相关设备,包括根据预训练的神经网络对区块链的节点进行分类,获得二分类结果;若二分类结果为诚实节点,则通过普通投票从诚实节点中选举出主节点;若二分类结果为待判定节点,则通过拜占庭投票从待判定节点中选举出主节点;获取主节点发布的新区块消息,对新区块消息进行聚类划分操作,获得聚类划分结果;对新区块消息进行与聚类划分结果对应的共识操作,获得目标区块消息,向节点发送验证目标区块消息的通知;节点接收验证目标区块消息的通知,对目标区块消息进行验证操作,在验证通过后,将目标区块消息记录到区块链账本中。本申请提高区块链共识性能。性能。性能。

【技术实现步骤摘要】
基于神经网络的区块链共识方法及其相关设备


[0001]本申请涉及区块链
,尤其涉及基于神经网络的区块链共识方法及其相关设备。

技术介绍

[0002]区块链是一个分布式的共享账本和数据库,具有去中心化、不可篡改、全程留痕、可以追溯、集体维护、公开透明等特点。这些特点保证了区块链的“诚实”与“透明”,为区块链创造信任奠定基础。而区块链丰富的应用场景,基本上都基于区块链能够解决信息不对称问题,实现多个主体之间的协作信任与一致行动。
[0003]区块链系统在满足去中心化的安全要求时,一般除了传统的分布式崩溃容错外,还需要支持拜占庭容错,拜占庭容错机制的引入导致区块链系统并发处理能力弱于传统的非拜占庭分布式系统。
[0004]目前,现有的引入拜占庭容错机制的区块链系统存在区块链共识性能较弱的情况。

技术实现思路

[0005]本申请实施例的目的在于提出一种基于神经网络的区块链共识方法及其相关设备,提高区块链共识性能。
[0006]为了解决上述技术问题,本申请实施例提供一种基于神经网络的区块链共识方法,采用了如下所述的技术方案:
[0007]一种基于神经网络的区块链共识方法,包括下述步骤:
[0008]根据预训练的神经网络对区块链的节点进行分类,获得二分类结果;
[0009]通过普通投票从所述二分类结果为诚实节点的所述节点中选举出主节点;
[0010]通过拜占庭投票从所述二分类结果为待判定节点的所述节点中选举出主节点;
[0011]获取所述主节点发布的新区块消息,对所述新区块消息进行聚类划分操作,获得聚类划分结果;
[0012]对所述新区块消息进行与所述聚类划分结果对应的共识操作,获得目标区块消息,并向节点发送验证目标区块消息的通知;
[0013]节点接收验证目标区块消息的通知,对目标区块消息进行验证操作,在验证通过后,将所述目标区块消息记录到区块链账本中。
[0014]进一步的,所述对所述新区块消息进行与所述聚类划分结果对应的共识操作,获得目标区块消息的步骤包括:
[0015]判断所述聚类划分结果是否为诚实消息、可能异常消息或异常消息;
[0016]若所述聚类划分结果为诚实消息,则确定所述新区块消息对应的主节点是否为诚实节点,若是,则将所述新区块消息作为所述目标区块消息;
[0017]若聚类划分结果为可能异常消息或异常消息,或者,所述聚类划分结果为诚实消
息的新区块消息对应的主节点不是诚实节点,则基于拜占庭算法对所述新区块消息进行共识操作;
[0018]在所述新区块消息通过所述拜占庭算法达成共识后,将所述新区块消息作为所述目标区块消息。
[0019]进一步的,所述对所述新区块消息进行聚类划分操作,获得聚类划分结果的步骤包括:
[0020]获取所述新区块消息的多维度的特征数据;
[0021]将所述特征数据输入至预训练的聚类模型中,获得所述聚类划分结果。
[0022]进一步的,在所述通过预训练的神经网络对节点进行分类,获得二分类结果的步骤之前,还包括:
[0023]接收训练数据,其中,所述训练数据为有标签的诚实节点特征;
[0024]将所述有标签的诚实节点特征转换为特征矩阵数据;
[0025]通过所述特征矩阵数据训练预设的神经网络,获得预训练的所述神经网络。
[0026]进一步的,所述二分类结果包括待判定节点和诚实节点,所述通过预训练的神经网络对节点进行分类,获得二分类结果的步骤包括:
[0027]通过预训练的神经网络重输入节点的特征数据,获得重建误差;
[0028]确定所述重建误差是否大于重建阈值;
[0029]若是,则将对应的所述节点作为待判定节点;
[0030]若否,则将对应的节点作为诚实节点。
[0031]进一步的,所述节点接收验证目标区块消息的通知,对目标区块消息进行验证操作,在验证通过后,将所述目标区块消息记录到区块链账本中的步骤包括:
[0032]节点验证所述目标区块消息是否为欺诈消息;
[0033]若否,则采纳所述目标区块消息,并将所述目标区块消息记录到区块链账本中;
[0034]若是,则放弃所述目标区块消息,或者采纳所述目标区块消息,并将所述目标区块消息记录到区块链账本中。
[0035]进一步的,在所述对所述新区块消息进行聚类划分操作,获得聚类划分结果的步骤之后,还包括:
[0036]确定所述新区块消息的聚类划分结果是否为异常消息;
[0037]若是,则将所述异常消息同步至指定节点;
[0038]接收指定节点的反馈信号,其中,所述反馈信号为发布所述异常消息的主节点为作恶节点,或者发布所述异常消息的主节点为非作恶节点;
[0039]在所述反馈信号为发布所述异常消息的主节点为作恶节点时,冷却所述作恶节点,以使所述作恶节点不能参与区块消息的生产;
[0040]在所述作恶节点冷却预设数量的区块高度时,通过预训练的神经网络重新对所述作恶节点进行分类,以使所述作恶节点重新参与区块链共识。
[0041]为了解决上述技术问题,本申请实施例还提供一种基于神经网络的区块链共识装置,采用了如下所述的技术方案:
[0042]一种基于神经网络的区块链共识系统,所述基于神经网络的区块链共识系统包括基于神经网络的区块链共识装置和区块链的节点,其中,所述基于神经网络的区块链共识
装置包括:
[0043]分类模块,用于根据预训练的神经网络对区块链的节点进行分类,获得二分类结果;
[0044]第一选举模块,用于在所述二分类结果为诚实节点时,通过普通投票从所述诚实节点中选举出主节点;
[0045]第二选举模块,用于在所述二分类结果为待判定节点时,通过拜占庭投票从所述待判定节点中选举出主节点;
[0046]聚类模块,用于获取所述主节点发布的新区块消息,对所述新区块消息进行聚类划分操作,获得聚类划分结果;以及
[0047]共识模块,用于对所述新区块消息进行与所述聚类划分结果对应的共识操作,获得目标区块消息,并向节点发送验证目标区块消息的通知;
[0048]所述节点,用于接收验证目标区块消息的通知,对目标区块消息进行验证操作,在验证通过后,将所述目标区块消息记录到区块链账本中。
[0049]为了解决上述技术问题,本申请实施例还提供一种计算机设备,采用了如下所述的技术方案:
[0050]一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现上述的基于神经网络的区块链共识方法的步骤。
[0051]为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:
[0052]一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现上述的基于神经网本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于神经网络的区块链共识方法,其特征在于,包括下述步骤:根据预训练的神经网络对区块链的节点进行分类,获得二分类结果;通过普通投票从所述二分类结果为诚实节点的所述节点中选举出主节点;通过拜占庭投票从所述二分类结果为待判定节点的所述节点中选举出主节点;获取所述主节点发布的新区块消息,对所述新区块消息进行聚类划分操作,获得聚类划分结果;对所述新区块消息进行与所述聚类划分结果对应的共识操作,获得目标区块消息,并向节点发送验证目标区块消息的通知;节点接收验证目标区块消息的通知,对目标区块消息进行验证操作,在验证通过后,将所述目标区块消息记录到区块链账本中。2.根据权利要求1所述的基于神经网络的区块链共识方法,其特征在于,所述对所述新区块消息进行与所述聚类划分结果对应的共识操作,获得目标区块消息的步骤包括:判断所述聚类划分结果是否为诚实消息、可能异常消息或异常消息;若所述聚类划分结果为诚实消息,则确定所述新区块消息对应的主节点是否为诚实节点,若是,则将所述新区块消息作为所述目标区块消息;若聚类划分结果为可能异常消息或异常消息,或者,所述聚类划分结果为诚实消息的新区块消息对应的主节点不是诚实节点,则基于拜占庭算法对所述新区块消息进行共识操作;在所述新区块消息通过所述拜占庭算法达成共识后,将所述新区块消息作为所述目标区块消息。3.根据权利要求1所述的基于神经网络的区块链共识方法,其特征在于,所述对所述新区块消息进行聚类划分操作,获得聚类划分结果的步骤包括:获取所述新区块消息的多维度的特征数据;将所述特征数据输入至预训练的聚类模型中,获得所述聚类划分结果。4.根据权利要求1所述的基于神经网络的区块链共识方法,其特征在于,在所述通过预训练的神经网络对节点进行分类,获得二分类结果的步骤之前,还包括:接收训练数据,其中,所述训练数据为有标签的诚实节点特征;将所述有标签的诚实节点特征转换为特征矩阵数据;通过所述特征矩阵数据训练预设的神经网络,获得预训练的所述神经网络。5.根据权利要求1所述的基于神经网络的区块链共识方法,其特征在于,所述二分类结果包括待判定节点和诚实节点,所述通过预训练的神经网络对节点进行分类,获得二分类结果的步骤包括:通过预训练的神经网络重输入节点的特征数据,获得重建误差;确定所述重建误差是否大于重建阈值;若是,则将对应的所述节点作为待判定节点;若否,则将对应的节点作为诚实节点。6.根据权利要求1所述的基于神经网络的区块链共识方法,其特征在于,所述节点接收...

【专利技术属性】
技术研发人员:踪训杰
申请(专利权)人:润联软件系统深圳有限公司
类型:发明
国别省市:

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

1