联盟链的预期共识方法技术

技术编号:31679133 阅读:81 留言:0更新日期:2022-01-01 10:24
本申请涉及一种联盟链的预期共识方法。方法包括:通过联盟链中接收交易信息的接收节点广播带有背书结果的交易信息至最终出块节点,最终出块节点是通过预期共识算法对每一联盟链组织的出块节点进行选取所得到的且数量至少为两个。最终出块节点将带有背书结果的交易信息打包为区块,并将打包后的区块广播至联盟链中的其他最终出块节点,最终出块节点将接收到的区块所属父区块的哈希值一致的区块打包为一个区块集,并将打包好的区块集发送至各个联盟链组织下的验证节点,验证节点对区块集中的交易信息进行校验并执行合法的交易信息。本发明专利技术提供的方法提高了联盟链网络的运行效率,预防单节点出块时节点作恶对整个联盟链运行的损失。的损失。的损失。

【技术实现步骤摘要】
联盟链的预期共识方法


[0001]本申请涉及区块链
,特别是涉及一种联盟链的预期共识方法、装置、计算机设备、存储介质和计算机程序产品。

技术介绍

[0002]随着区块链技术的发展,为了满足企业应用对区块链的技术要求,区块链由公链模式转换为联盟链模式,相比较完全去中心化、任何人均可参与、吞吐量较低的公链模式,联盟链克服了上述公链模式的缺点,参与联盟链需要许可、且联盟链具备高吞吐量、确认延迟小、数据隐私保护的优点。
[0003]在相关技术中,联盟链采用非拜占庭容错CFT共识模型实现共识,主要是由各个参与联盟链网络的组织各自提供一个出块节点。这些出块节点中起初没有主节点,均为从节点。其中,每一从节点均设置有计时器,当存在从节点计时达到了超时时长时,则这些从节点会转换为候选节点。候选节点在向自己投票的同时,也会向整个联盟链中其它节点发起请求,要求其它节点向自身投票。对于最先得票数超过一半的候选节点,则进一步会晋升为leader节点,并立刻向其它节点发起通知,告知其他节点leader节点已产生。收到通知的其它节点全部会变回从节点,并将计时器清零。其中,leader节点即为通过Raft算法所选举出的出块者,由这个出块者进行消息排序、打包出块、广播消息。由上述Raft算法的机制可知,每次只会产生一个leader节点作为出块者。当该leader节点为作恶节点时,会对整个联盟链造成损失。

技术实现思路

[0004]基于此,有必要针对上述技术问题,提供一种能够预防联盟链网络中的节点作恶对联盟链网络正常运行造成的危害的一种联盟链的预期共识方法。
[0005]本申请提供了一种联盟链的预期共识方法,所述方法包括:若联盟链中存在组织的接收节点接收到交易信息,则由接收到交易信息的接收节点向联盟链中每一组织的背书节点广播交易信息;每一背书节点根据交易信息获取第一校验信息,根据第一校验信息对交易信息进行背书,将每一背书结果发送至接收到交易信息的接收节点;接收到交易信息的接收节点将每一背书结果及交易信息发送至每一出块节点;所有出块节点中的最终出块节点将交易信息及每一背书结果整体打包成区块,并发送至每一最终出块节点;其中,每一组织对应一个出块节点,最终出块节点是由每一出块节点对自身进行选取后所确定的;每一最终出块节点在接收到区块后,根据接收到的区块所从属的父区块的哈希值对接收到的区块进行分类,将分为同一类的区块打包成区块集,并发送至每一组织的验证节点;每一验证节点在接收到区块集后,对接收到的区块集进行校验并根据校验结果更
新每一验证节点所维护的账本。
[0006]在其中一个实施例中,第一校验信息是从每一背书节点对应的组织所维护的账本得到的;相应地,根据第一校验信息对交易信息进行背书,包括:每一背书节点根据第一校验信息验证交易信息是否正确,并将验证结果作为背书结果。
[0007]在其中一个实施例中,根据接收到的区块所从属的父区块的哈希值对接收到的区块进行分类,包括:每一最终出块节点确定接收到的区块所从属的父区块哈希值,将所从属的父区块哈希值一致的区块分为同一类。
[0008]在其中一个实施例中,对接收到的区块集进行校验,包括:对于任一验证节点,任一验证节点根据接收到的区块集中每一区块所包含的背书结果为正确的交易信息获取第二校验信息;根据第二校验信息校验每一区块所包含的背书结果为正确的交易信息是否合法。
[0009]在其中一个实施例中,最终出块节点的确定过程包括:每一出块节点获取自身对应的选举命中概率;每一出块节点对自身进行选举,由选举结果为命中的出块节点作为最终出块节点;其中,每一出块节点的选举结果是由每一出块节点对应的选举命中概率所决定的。
[0010]在其中一个实施例中,每一出块节点自身对应的选举命中概率是预先设置的。
[0011]在其中一个实施例中,根据校验结果更新每一验证节点所维护的账本,包括:每一验证节点基于校验结果为合法的交易信息,更新每一验证节点所维护的账本。
[0012]本申请还提供了一种联盟链的预期共识系统。所述系统包括:接收模块,用于若联盟链中存在组织的接收节点接收到交易信息,则由接收到交易信息的接收节点向联盟链中每一组织的背书节点广播交易信息;背书模块,用于每一背书节点根据交易信息获取第一校验信息,根据第一校验信息对交易信息进行背书,将每一背书结果发送至接收到交易信息的接收节点;出块模块,用于接收到交易信息的接收节点将每一背书结果及交易信息发送至每一出块节点;所有出块节点中的最终出块节点将交易信息及每一背书结果整体打包成区块,并发送至每一最终出块节点;其中,每一组织对应一个出块节点,最终出块节点是由每一出块节点对自身进行选取后所确定的;分类模块,用于每一最终出块节点在接收到区块后,根据接收到的区块所从属的父区块的哈希值对接收到的区块进行分类,将分为同一类的区块打包成区块集,并发送至每一组织的验证节点;执行模块,用于每一验证节点在接收到区块集后,对接收到的区块集进行校验并根据校验结果更新每一验证节点所维护的账本。
[0013]本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:若联盟链中存在组织的接收节点接收到交易信息,则由接收到交易信息的接收节点向联盟链中每一组织的背书节点广播交易信息;
每一背书节点根据交易信息获取第一校验信息,根据第一校验信息对交易信息进行背书,将每一背书结果发送至接收到交易信息的接收节点;接收到交易信息的接收节点将每一背书结果及交易信息发送至每一出块节点;所有出块节点中的最终出块节点将交易信息及每一背书结果整体打包成区块,并发送至每一最终出块节点;其中,每一组织对应一个出块节点,最终出块节点是由每一出块节点对自身进行选取后所确定的;每一最终出块节点在接收到区块后,根据接收到的区块所从属的父区块的哈希值对接收到的区块进行分类,将分为同一类的区块打包成区块集,并发送至每一组织的验证节点;每一验证节点在接收到区块集后,对接收到的区块集进行校验并根据校验结果更新每一验证节点所维护的账本。
[0014]本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:若联盟链中存在组织的接收节点接收到交易信息,则由接收到交易信息的接收节点向联盟链中每一组织的背书节点广播交易信息;每一背书节点根据交易信息获取第一校验信息,根据第一校验信息对交易信息进行背书,将每一背书结果发送至接收到交易信息的接收节点;接收到交易信息的接收节点将每一背书结果及交易信息发送至每一出块节点;所有出块节点中的最终出块节点将交易信息及每一背书结果整体打包成区块,并发送至每一最终出块节点;其中,每一组织对应一个出块节点,最终出块节点是由每一出块节点对自身进行选取后所确定的;每一最终出块节点在接收到区块后,根据接收到的区块所从属的父区块的哈希值对接收到的区块进行分类,将分为同一类的区块打包成区块集,并发送至每一组织的验证节点;每一验证节本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种联盟链的预期共识方法,其特征在于,所述方法包括:若联盟链中存在组织的接收节点接收到交易信息,则由接收到交易信息的接收节点向所述联盟链中每一组织的背书节点广播所述交易信息;每一背书节点根据所述交易信息获取第一校验信息,根据所述第一校验信息对所述交易信息进行背书,将每一背书结果发送至接收到交易信息的接收节点;接收到交易信息的接收节点将每一背书结果及所述交易信息发送至每一出块节点;所有出块节点中的最终出块节点将所述交易信息及每一背书结果整体打包成区块,并发送至每一最终出块节点;其中,每一组织对应一个出块节点,最终出块节点是由每一出块节点对自身进行选取后所确定的;每一最终出块节点在接收到区块后,根据接收到的区块所从属的父区块的哈希值对接收到的区块进行分类,将分为同一类的区块打包成区块集,并发送至每一组织的验证节点;每一验证节点在接收到区块集后,对接收到的区块集进行校验并根据校验结果更新每一验证节点所维护的账本。2.根据权利要求1所述的方法,其特征在于,所述第一校验信息是从每一背书节点对应的组织所维护的账本得到的;相应地,所述根据所述第一校验信息对所述交易信息进行背书,包括:每一背书节点根据所述第一校验信息验证所述交易信息是否正确,并将验证结果作为背书结果。3.根据权利要求1所述的方法,其特征在于,所述根据接收到的区块所从属的父区块的哈希值对接收到的区块进行分类,包括:每一最终出块节点确定接收到的区块所从属的父区块哈希值,将所从属的...

【专利技术属性】
技术研发人员:傅亦威闫核心
申请(专利权)人:深圳市名竹科技有限公司
类型:发明
国别省市:

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

1