【技术实现步骤摘要】
共识节点确定方法、装置及存储介质
[0001]本申请涉及区块链
,尤其涉及一种共识节点确定方法、装置及存储介质。
技术介绍
[0002]共识(consensus)算法是区块链(block chain)系统中使得每个节点达成共识的算法机制。由于区块链是一个分布式系统,其中的每个节点之间需要达成共识才能够确定执行新的区块写入的节点。
[0003]目前的共识算法通常分为竞争型共识算法以及协商型共识算法,其中,竞争型共识算法通常需要消耗大量资源(例如电力资源、算力资源)以达成共识。协商型共识算法通常需要每个节点感知到其他节点对共识信息(例如区块写入操作)的响应结果以达成共识。这就导致该方法的通信复杂度过高,区块链系统中的节点越多,达成共识所消耗的时间也就越长。因此,目前的共识算法存在共识效率低下的问题。
技术实现思路
[0004]本申请提供一种共识节点确定方法、装置及存储介质,能够提高共识效率。
[0005]为达到上述目的,本申请采用如下技术方案:
[0006]第一方面,本申请提供一种共识节点确定方法,该方法包括:确定第一顶点数组以及m个顶点的顶点参数;其中,第一顶点数组包括m个顶点的标识,顶点参数包括顶点的度、顶点的权重、区块高度中的至少一项;m为正整数;向a个节点发送第一顶点数组;a为正整数;接收a个第二顶点数组;a个第二顶点数组与a个节点一一对应;一个第二顶点数组由一个第二顶点数组对应的节点根据第一顶点数组随机排序生成;向a个节点发送m个顶点的顶点参数;接收a个最短路径;a ...
【技术保护点】
【技术特征摘要】
1.一种共识节点确定方法,其特征在于,所述方法包括:确定第一顶点数组以及m个顶点的顶点参数;其中,所述第一顶点数组包括所述m个顶点的标识,所述顶点参数包括顶点的度、顶点的权重、区块高度中的至少一项;m为正整数;向a个节点发送所述第一顶点数组;a为正整数;接收a个第二顶点数组;所述a个第二顶点数组与所述a个节点一一对应;一个第二顶点数组由所述一个第二顶点数组对应的节点根据所述第一顶点数组随机排序生成;向所述a个节点发送所述m个顶点的顶点参数;接收a个最短路径;所述a个最短路径与所述a个节点一一对应;一个最短路径由所述一个最短路径对应的节点根据有向无环图确定;一个有向无环图由目标节点根据所述目标节点对应的第二顶点数组以及所述m个顶点的顶点参数生成;所述目标节点为所述一个有向无环图对应的节点;根据所述a个最短路径确定共识节点,所述共识节点用于执行区块写入。2.根据权利要求1所述的方法,其特征在于,所述根据所述a个最短路径确定共识节点,包括:确定所述a个节点中所述最短路径最小的节点为所述共识节点。3.根据权利要求1所述的方法,其特征在于,所述根据所述a个最短路径确定共识节点,包括:接收a个有向无环图;所述a个有向无环图与所述a个节点一一对应;向验证节点发送所述a个节点的第一数据验证信息;所述第一数据验证信息包括所述a个第二顶点数组、所述a个有向无环图以及所述a个最短路径中的至少一项;所述验证节点为所述a个节点中的一个或多个节点;接收所述验证节点发送的所述a个节点的数据验证结果;所述数据验证结果包括数据验证通过或数据验证不通过;确定所述a个节点中满足第一预设条件的节点为所述共识节点;所述第一预设条件包括:数据验证结果为数据验证通过,且最短路径最小。4.根据权利要求1所述的方法,其特征在于,所述根据所述a个最短路径确定共识节点,包括:接收a个有向无环图;所述a个有向无环图与所述a个节点一一对应;去除所述a个节点中最短路径的数值大于预设阈值的节点,得到b个节点;b为小于或等于a的正整数;向验证节点发送所述b个节点的第二数据验证信息;所述第二数据验证信息包括b个第二顶点数组、b个有向无环图以及b个最短路径中的至少一项;所述验证节点为所述a个节点中的一个或多个节点;接收所述验证节点发送的所述b个节点的数据验证结果;所述数据验证结果包括数据验证通过或数据验证不通过;确定所述b个节点中满足第一预设条件的节点为所述共识节点;所述第一预设条件包括:数据验证结果为数据验证通过,且最短路径最小。5.根据权利要求1
‑
4任一项所述的方法,其特征在于,所述确定第一顶点数组以及m个顶点的顶点参数,包括:
随机抽取m个区块;所述m个区块与所述第一顶点数组包括的所述m个顶点一一对应;根据所述m个区块的区块信息确定所述m个顶点的顶点参数;所述区块信息包括区块标识、区块写入节点信息中的至少一项。6.根据权利要求5所述的方法,其特征在于,所述根据所述m个区块的区块信息确定所述m个顶点的顶点参数,包括:在所述区块信息包括所述区块标识的情况下,根据所述区块标识确定所述顶点的权重;在所述区块信息包括所述区块写入节点信息的情况下,根据所述区块写入节点信息确定所述顶点的度。7.一种共识节点确定方法,其特征在于,所述方法包括:接收共识模块发送的第一顶点数组;其中,第一顶点数组包括m个顶点的标识;m为正整数;将所述第一顶点数组中所述m个顶点的标识随机排序,生成第二顶点数组;向所述共识模块发送所述第二顶点数组;接收所述共识模块发送的所述m个顶点的顶点参数;所述顶点参数包括顶点的度、顶点的权重、区块高度中的至少一项;根据所述第二顶点数组以及所述m个顶点的顶点参数生成有向无环图;根据所述有向无环图确定最短路径,并向所述共识模块发送所述最短路径;所述最短路径用于共识模块确定共识节点,所述共识节点用于执行区块写入。8.根据权利要求7所述的方法,其特征在于,所述方法还包括:向所述共识模块发送所述有向无环图;在接收到共识模块发送的a个节点的第一数据验证信息的情况下,验证所述第一数据验证信息,得到所述a个节点的数据验证结果;所述第一数据验证信息包括a个第二顶点数组、a个有向无环图以及a个最短路径中的至少一项;所述数据验证结果包括数据验证通过或数据验证不通过;a为正整数;向所述共识模块发送所述a个节点的数据验证结果。9.根据权利要求7所述的方法,其特征在于,所述方法还包括:向所述共识模块发送所述有向无环图;在接收到所述共识模块发送的b个节点的第二数据验证信息的情况下,验证所述第二数据验证信息,得到所述b个节点的数据验证结果;所述第二数据验证信息包括b个第二顶点数组、b个有向无环图以及b个最短路径中的至少一项;所述数据验证结果包括数据验证通过或数据验证不通过;向所述共识模块发送所述b个节点的数据验证结果。10.根据权利要求8或9所述的方法,其特征在于,所述方法还包括:根据目标数据验证信息中的第二顶点数组,确定对应的有向无环图是否正确;和/或根据所述目标数据验证信息中的有向无环图,确定对应的最短路径是否正确;其中,所述目标数据验证信息为第一数据验证信息或第二数据验证信息。11.一种共识节点确定装置,其特征在于,包括通信单元和处理单元;所述处理单元,用于确定第一顶点数组以及m个顶点的顶点参数;其中,所述第一顶点
数组包括所述m个顶点的标识,所述顶点参数包括顶点的度、顶点的权重、区块高度中的至少一项;m为正整数;所述通信单元,用于向a个节点发送所述第一顶点数组;a为正整数;所述通信单元,还用于接收a个第二顶点数组;所述a个第二顶点数组与所述a个节点一一对应;一个第二顶点数组由所述一个第二顶点数组对应的节点根据所述第一顶点数组随机排序生成;所述通信单元,还用...
【专利技术属性】
技术研发人员:任杰,薛淼,任梦璇,刘千仞,王光全,
申请(专利权)人:中国联合网络通信集团有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。