CN115941329A - 区块链节点共识方法、装置、设备及存储介质 - Google Patents
区块链节点共识方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115941329A CN115941329A CN202211573215.3A CN202211573215A CN115941329A CN 115941329 A CN115941329 A CN 115941329A CN 202211573215 A CN202211573215 A CN 202211573215A CN 115941329 A CN115941329 A CN 115941329A
- Authority
- CN
- China
- Prior art keywords
- node
- block
- consensus
- target
- health value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明公开了一种区块链节点共识方法、装置、设备及存储介质。该方法包括:获取在本次共识中,区块链网络中各区块链节点的节点健康值;根据各节点健康值和预先生成的分布式可验证随机数,确定共识节点集合;其中,共识节点集合中包括至少一个目标共识节点;通过共识节点集合中的区块链节点,生成并验证事务区块,得到区块共识结果;根据区块共识结果,在区块链网络中实现事务区块的出块。本发明实施例提高了大规模场景下的共识速度,同时提高了共识过程安全性。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种区块链节点共识方法、装置、设备及存储介质。
背景技术
PBFT(Practical Byzantine Fault Tolerance,实用拜占庭容错算法)是一种确定性的共识协议,可以容忍拜占庭错误,不会产生分叉。在联盟链的场景中,PBFT共识协议被广泛使用,由于PBFT共识协议的网络通讯复杂度为n的平方,甚至是n的立方,因此,PBFT共识协议通常使用在小规模节点的场景中,当节点数量超过一定规模时,其共识速度显著下降。
但现有的解决大规模场景下的PBFT共识协议的使用方案,通常是采用固定的区块链节点集合进行共识,这种方式进行共识的区块链节点身份公开透明,容易被提前布局攻击,因此安全性较低。
发明内容
本发明提供了一种区块链节点共识方法、装置、设备及存储介质,以提高大规模场景下的共识速度,同时提高共识过程安全性。
根据本发明的一方面,提供了一种区块链节点共识方法,所述方法包括:
获取在本次共识中,区块链网络中各区块链节点的节点健康值;
根据各所述节点健康值和预先生成的分布式可验证随机数,确定共识节点集合;其中,所述共识节点集合中包括至少一个目标共识节点;
通过所述共识节点集合中的区块链节点,生成并验证事务区块,得到区块共识结果;
根据所述区块共识结果,在所述区块链网络中实现所述事务区块的出块。
根据本发明的另一方面,提供了一种区块链节点共识装置,所述装置包括:
节点健康值获取模块,用于获取在本次共识中,区块链网络中各区块链节点的节点健康值;
共识节点集合确定模块,用于根据各所述节点健康值和预先生成的分布式可验证随机数,确定共识节点集合;其中,所述共识节点集合中包括至少一个目标共识节点;
事务区块生成模块,用于通过所述共识节点集合中的区块链节点,生成并验证事务区块,得到区块共识结果;
区块出块模块,用于根据所述区块共识结果,在所述区块链网络中实现所述事务区块的出块。
根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的区块链节点共识方法。
根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的区块链节点共识方法。
本发明实施例方案通过获取在本次共识中,区块链网络中各区块链节点的节点健康值;根据各节点健康值和预先生成的分布式可验证随机数,确定共识节点集合;通过共识节点集合中的区块链节点,生成并验证事务区块,得到区块共识结果;根据区块共识结果,在区块链网络中实现事务区块的出块。上述技术方案通过在确定共识节点集合,并采用共识节点集合中的目标共识节点完成本次共识,提高了在大规模场景下的区块链网络进行共识的共识速度,从而提高了共识效率。通过根据各节点健康值和预先生成的分布式可验证随机数,确定共识节点集合,提高了确定的共识节点集合中各目标共识节点的随机性,确保对于各区块链节点而言,对参与共识的目标共识节点的不可知,从而提高了共识过程的安全性。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例一提供的一种区块链节点共识方法的流程图;
图2是根据本发明实施例二提供的一种区块链节点共识方法的流程图;
图3是根据本发明实施例三提供的一种区块链节点共识方法的流程图;
图4是根据本发明实施例四提供的一种区块链节点共识方法的流程图;
图5是根据本发明实施例五提供的一种区块链节点共识装置的结构示意图;
图6是实现本发明实施例的区块链节点共识方法的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
图1为本发明实施例一提供的一种区块链节点共识方法的流程图,本实施例可适用于在大规模区块链节点场景下进行节点共识的情况,该方法可以由区块链节点共识装置来执行,该区块链节点共识装置可以采用硬件和/或软件的形式实现,该区块链节点共识装置可配置于电子设备中,如图1所示,该方法包括:
S110、获取在本次共识中,区块链网络中各区块链节点的节点健康值。
其中,区块链网络可以是联盟链、公链或私链等对应的区块链网络。在区块链网络中可以存在大规模的区块链节点。
其中,区块链网络中各区块链节点的初始节点健康值可以由相关技术人员进行预先设定。例如,可以根据区块链节点的业务属性进行设置。业务属性例如可以是行业地位或影响力等属性因素。
需要说明的是,在每一次完成共识后,区块链网络中存在节点健康值发生更新的区块链节点。因此,后续每一次进行共识的过程中,确定的共识节点集合中参与共识的区块链节点不同。也即,每一次进行共识的共识节点集合内的区块链节点是发生变化的,从而能够避免每次都采用固定的区块链节点完成节点共识。
S120、根据各节点健康值和预先生成的分布式可验证随机数,确定共识节点集合;其中,共识节点集合中包括至少一个目标共识节点。
其中,分布式可验证随机数用于增加共识节点集合内的目标共识节点的选取随机性。目标共识节点可以是用于参与本轮共识的区块链节点。
示例性的,可以基于多人参与随机数生成BLS算法的分布式VRF(verifiablerandom function,可验证随机数)随机生成一个可验证的随机数。
示例性的,可以根据各节点健康值和分布式可验证随机数,基于预先训练得到的节点生成网络模型,确定共识节点集合。其中,节点生成网络模型可以由相关技术人员采用历史周期下的节点健康值和分布式可验证随机数作为样本训练集进行训练得到。其中,共识节点集合中包括至少一个参与本轮共识的目标共识节点。
需要说明的是,由于在确定共识节点集合的过程中引入分布式可验证随机数,因此,能够确保本轮参与共识的目标共识节点的随机性,确保对于各区块链节点而言对参与共识的目标共识节点的不可知,进而确保了共识过程的安全性。
S130、通过共识节点集合中的目标共识节点,生成并验证事务区块,得到区块共识结果。
可以从共识节点集合中的各目标共识节点中,选取任一目标共识节点生成事务区块,并由共识节点集合中除生成事务区块的目标共识节点外的其他目标共识节点,对事务区块进行验证。其中,用于生成事务区块的目标共识节点的选取方式,可以是从共识节点集合中按顺序选取第一个目标共识节点,作为本轮生成事务区块的目标共识节点;或者,也可以是从共识节点集合中随机选取任一目标共识节点,作为本轮生成事务区块的目标共识节点。本实施例对此不进行限定。
示例性的,将共识节点集合中用于生成验证事务区块的目标共识节点,作为区块生成节点;将共识节点集合中用于进行事务区块验证的除区块生成节点之外的其他目标共识节点,作为区块验证节点。可以根据区块生成节点和区块验证节点,基于预先设定的共识算法进行共识,从而得到区块共识结果。其中,共识算法可以由相关技术人员进行预先设定。例如,共识算法可以是PBFT共识算法。
在一个具体实施例中,可以由区块生成节点对交易池中的交易进行打包得到事务区块,并采用自身私钥对事务区块进行签名,得到事务区块的区块签名。区块生成节点将事务区块和区块签名发送至区块验证模块进行区块验证。区块验证节点可以对区块签名的合法性进行验证,并在对区块签名验证通过后对事务区块内的交易进行验证,并在验证通过后在自身本地磁盘内存储,表示对本轮的区块共识结果为验证成功,且事务区块已确认。若区块验证节点对事务区块的签名验证或交易验证未通过,则不在本地进行存储,且表示本轮的区块共识结果为验证失败,且事务区块未确认。
S140、根据区块共识结果,在区块链网络中实现事务区块的出块。
示例性的,若区块共识结果为验证失败,则从共识节点集合中重新选取用于进行事务区块生成的区块生成节点,并由重新选取的区块生成节点,重新进行本轮共识的事务区块生成,以及由其他目标共识节点进行事务区块的验证。
若区块共识结果为验证成功,则由区块验证节点向区块链网络中除共识节点集合外的其他区块链节点进行区块广播,以将事务区块和验证结果发送至其他区块链节点,并由其他区块链节点在本地磁盘存储事务区块,从而在区块链网络中实现事务区块的出块。
本发明实施例方案通过获取在本次共识中,区块链网络中各区块链节点的节点健康值;根据各节点健康值和预先生成的分布式可验证随机数,确定共识节点集合;通过共识节点集合中的区块链节点,生成并验证事务区块,得到区块共识结果;根据区块共识结果,在区块链网络中实现事务区块的出块。上述技术方案通过确定共识节点集合,并采用共识节点集合中的目标共识节点完成本次共识,提高了在大规模场景下的区块链网络进行共识的共识速度,从而提高了共识效率。通过根据各节点健康值和预先生成的分布式可验证随机数,确定共识节点集合,提高了确定的共识节点集合中各目标共识节点的随机性,确保对于各区块链节点而言,对参与共识的目标共识节点的不可知,从而提高了共识过程的安全性。
实施例二
图2为本发明实施例二提供的一种区块链节点共识方法的流程图,本实施例在上述各技术方案的基础上,进行了优化改进和更深层次的细化完善。
进一步的,将步骤“根据各节点健康值和预先生成的分布式可验证随机数,确定共识节点集合”细化为“根据分布式可验证随机数和各节点健康值,生成本次迭代次数下的目标随机数;根据目标随机数和各节点健康值,确定本次迭代次数下的目标共识节点;根据不同迭代次数下的目标共识节点,生成共识节点集合”以完善对共识节点集合的生成方式。
如图2所示,该方法包括以下具体步骤:
S210、获取在本次共识中,区块链网络中各区块链节点的节点健康值。
S220、根据分布式可验证随机数和各节点健康值,生成本次迭代次数下的目标随机数。
需要说明的是,为确保每轮参与共识的目标共识节点具有随机性,可以通过多次迭代的方式生成多个目标共识节点,从而确保每一次迭代的目标共识节点的具有随机性,进而确保生成的包括至少一个目标共识节点的共识节点集合的随机性。
示例性的,可以将分布式可验证随机数作为本次迭代次数下的随机种子;根据各节点健康值确定随机数分布区间,例如可以是将各节点健康值之和作为随机数分布区间上限,零作为随机数分布区间下限,从随机数分布区间中随机选取任一随机数作为本次迭代次数下的目标随机数。
在一个可选实施例中,根据分布式可验证随机数和各节点健康值,生成本次迭代次数下的目标随机数,包括:根据分布式可验证随机数,生成本次迭代次数下的随机种子;根据各节点健康值,生成本次迭代次数下的随机分布区间;根据随机种子和随机分布区间,生成本次迭代次数下的目标随机数。
其中,随机种子用于增加生成的目标共识节点的随机性。随机种子的生成方式与迭代次数,以及每一次迭代次数下所生成的目标随机数相关。
可选的,根据分布式可验证随机数,生成本次迭代次数下的随机种子,包括:若本次迭代次数为首次迭代,则将分布式可验证随机数作为本次迭代次数的随机种子;若本次迭代次数非首次迭代,则将上一次迭代次数的目标随机数,作为本次迭代次数的随机种子。
根据各节点健康值,生成本次迭代次数下的随机分布区间。示例性的,若区块链网络中各区块链节点集合为N={n1,n2,……,nm},其中,m表示区块链网络中区块链节点的节点数量。相应的,若各区块链节点的节点健康值集合为W={w1,w2,……,wm},则随机分布区间可以为0~sum(w1+w2+…+wm)。根据随机种子,生成一个分布在随机分布区间的随机数,作为本次迭代次数下的目标随机数。
需要说明的是,由于每一次迭代均可以得到这一次迭代次数下的目标共识节点。因此,为提高生成的目标共识节点的准确度,也即,提高选取到节点健康值较大的区块链节点的概率,在每一次生成当前迭代次数下的随机分布区间的过程中,需要将已确定为目标共识节点的区块链节点的节点健康值进行剔除,以确保后续迭代次数下所生成的目标共识节点的准确度。
在一个可选实施例中,根据各节点健康值,生成本次迭代次数下的随机分布区间,包括:将各区块链节点中未被确定为目标共识节点的区块链节点,作为本次迭代次数下的剩余共识节点;根据剩余共识节点的节点健康值,生成本次迭代次数下的随机分布区间。
示例性的,确定本次迭代次数下,各区块链节点中未被在之前迭代次数下确定为目标共识节点的区块链节点,并将未被确定为目标共识节点的区块链节点,作为本次迭代次数下的剩余共识节点。根据剩余共识节点的节点健康值之和,生成本地迭代次数下的随机分布区间。
具体的,若区块链节点的节点健康值集合为W={w1,w2,……,wm},其中,节点健康值w1对应的区块链节点和节点健康值w2对应的区块链节点,已经在之前的迭代次数下被确定为目标共识节点。因此,本次迭代次数下的剩余共识节点为w3,w4,……,wm。因此,本次迭代次数下的随机分布区间可以为0~sum(w3+w4+…+wm)。
S230、根据目标随机数和各节点健康值,确定本次迭代次数下的目标共识节点。
示例性的,可以采用将本次迭代次数下的目标随机数与各节点健康值进行大小比较的方式,确定本次迭代次数下的目标共识节点。
在一个可选实施例中,根据目标随机数和各节点健康值,确定本次迭代次数下的目标共识节点,包括:将各区块链节点中未被确定为目标共识节点的区块链节点,作为本次迭代次数下的剩余共识节点;根据目标随机数和各剩余共识节点的节点健康值,确定本次迭代次数下的目标共识节点。
需要说明的是,为避免对目标共识节点的重复选取,可以将已确定为目标共识节点的区块链节点进行剔除,并将剔除后的区块链节点作为本地迭代次数下的剩余共识节点。
示例性的,可以根据本地迭代次数下的各剩余共识节点的节点健康值与目标随机数之间的大小关系,确定本次迭代次数下的目标共识节点。例如可以是将遍历到的第一个节点健康值小于目标随机数的区块链节点,作为本次迭代次数下的目标共识节点。
为进一步提高对每次迭代次数下确定的目标共识节点的准确度,还可以通过确定节点健康值与目标随机数之间差值的方式,选取本次迭代次数下的目标共识节点。
在一个可选实施例中,根据目标随机数和各剩余共识节点的节点健康值,确定本次迭代次数下的目标共识节点,包括:依次遍历剩余共识节点的节点健康值,并确定目标随机数与当前遍历到的节点健康值之间的差值;若差值不大于当前遍历到的节点健康值,则将当前遍历到的节点健康值对应的区块链节点确定为本次迭代次数下的目标共识节点;若差值大于当前遍历到的节点健康值,则将目标随机数更新为差值,继续遍历下一个节点健康值,直到得到本次迭代次数下的目标共识节点。
示例性的,依次遍历剩余共识节点的节点健康值,并确定目标随机数与当前遍历到的节点健康值之间的差值,具体可以是采用目标随机数减去当前遍历到的节点健康值从而得到差值。若差值不大于当前遍历到的节点健康值,则将当前遍历到的节点健康值对应的区块链节点确定为本次迭代次数下的目标共识节点。若差值大于当前遍历到的节点健康值,则将差值赋值给目标随机数,也即将目标随机数更新为差值;继续遍历下一个节点健康值;确定目标随机数与下一个遍历到的节点健康值之间的差值;并根据差值与下一个遍历到的节点健康值的大小关系确定是否将下一个遍历到的节点健康值对应的区块链节点确定为本次迭代次数下的目标共识节点,直到得到本次迭代次数下的目标共识节点后终止迭代。
S240、根据不同迭代次数下的目标共识节点,生成共识节点集合。
示例性的,生成不同迭代次数下的目标共识节点,得到共识节点集合。其中,迭代次数与共识节点集合中的目标共识节点的个数相对应。例如,迭代n次,则共识节点集合内包括n个目标共识节点。迭代次数或目标共识节点的个数可以由相关技术人员根据实际需求进行预先设定。
S250、通过共识节点集合中的目标共识节点,生成并验证事务区块,得到区块共识结果。
S260、根据区块共识结果,在区块链网络中实现事务区块的出块。
本实施例技术方案通过根据分布式可验证随机数和各节点健康值,生成本次迭代次数下的目标随机数;根据目标随机数和各节点健康值,确定本次迭代次数下的目标共识节点;根据不同迭代次数下的目标共识节点,生成共识节点集合,进一步提高了生成的共识节点集合中的目标共识节点的随机性,从而确保每一次参与共识的区块链节点都是随机的而并非固定的,进而提高了每一次节点共识过程的可靠性和安全性。
实施例三
图3为本发明实施例三提供的一种区块链节点共识方法的流程图,本实施例在上述各技术方案的基础上,进行了优化改进和更深层次的细化完善。
进一步的,将步骤“通过共识节点集合中的区块链节点,生成并验证事务区块,得到区块共识结果”细化为“从共识节点集合中选取目标共识节点,作为区块生成节点;通过区块生成节点进行事务处理,得到事务区块;通过共识节点集合中的区块生成节点以外的区块验证节点,验证事务区块,得到区块共识结果;若区块共识结果中存在验证错误结果,则从共识节点集合中重新选取区块生成节点”以完善对区块共识结果的确定方式。
如图3所示,该方法包括以下具体步骤:
S310、获取在本次共识中,区块链网络中各区块链节点的节点健康值。
S320、根据各节点健康值和预先生成的分布式可验证随机数,确定共识节点集合;其中,共识节点集合中包括至少一个目标共识节点。
S330、从共识节点集合中选取任一目标共识节点,作为区块生成节点。
示例性的,可以从共识节点集合中顺序逐个选取目标共识节点,作为区块生成节点,其中,目标共识节点具有序号标识,具体可以基于序号标识选取区块生成节点。可选的,还可以从共识节点集合中随机选取任一目标共识节点,作为区块生成节点。
S340、通过区块生成节点进行事务处理,得到事务区块。
示例性的,可以通过区块生成节点对本次共识的交易池内的交易进行打包,得到事务区块。
S350、通过共识节点集合中的区块生成节点以外的区块验证节点,验证事务区块,得到区块共识结果。
示例性的,可以通过区块验证节点,对事务区块进行验证,得到区块共识结果。其中,区块验证节点可以是共识节点集合中除区块生成节点以外的其他目标共识节点。
需要说明的是,为进一步提高对事务区块验证准确度,从而提高得到的区块共识结果的确定准确度,还可以对事务区块进行多次验证,得到区块共识结果。
在一个可选实施例中,通过共识节点集合中的区块生成节点以外的区块验证节点,验证事务区块,得到区块共识结果,包括:分别通过各区块验证节点对包括事务区块的预准备消息进行签名验证;若签名验证通过,则分别通过各区块验证节点对事务区块进行区块验证;若区块验证通过,则分别通过各区块验证节点向共识节点集合中的其他区块验证节点发送准备消息,并通过接收到的准备消息的数量,确定事务区块的初始投票结果;若初始投票通过,则分别通过各区块验证节点向共识节点集合中的其他区块验证节点发送确认消息,并通过接收到的确认消息的数量,确定事务区块的二次投票结果;其中,区块共识结果包括签名验证结果、区块验证结果、初始投票结果和二次投票结果中的至少一种。
示例性的,区块生成节点可以对生成的事务区块进行签名,得到事务区块的签名;并将包括事务区块以及事务区块的签名的预准备消息发送至各区块验证节点。各区块验证节点对预准备消息进行签名验证,若区块验证节点对签名验证通过,则向除自身区块验证节点外的其他区块验证节点发送准备消息,为该事务区块进行初始投票,得到初始投票结果。当区块验证节点接收到预设数量个一致的准备消息时,则向除自身区块验证节点外的其他区块验证节点发送确认消息,为该事务区块进行二次投票,得到二次投票结果。当区块验证节点收到预设数量个一致的确认消息时,则执行事务区块内的交易,并将该事务区块和交易执行结果写入到磁盘,表示本次共识执行成功。其中,预设数量可以有相关技术人员进行预先设定。例如,预设数量可以为2f+1,其中,f为允许出现故障的节点数量。
其中,区块共识结果包括签名验证结果、区块验证结果、初始投票结果和二次投票结果中的至少一种。
S360、若区块共识结果中存在验证错误结果,则从共识节点集合中重新选取区块生成节点。
其中,验证错误结果可以是签名验证错误结果、区块验证错误结果、初始投票错误结果和二次投票错误结果中的至少一种。
示例性的,当存在区块共识结果中存在验证错误结果,则从共识节点集合中重新选取区块生成节点,重新生成事务区块得到区块共识结果。
S370、根据区块共识结果,在区块链网络中实现事务区块的出块。
需要说明的是,区块生成节点和区块验证节点一旦将事务区块和执行结果写入磁盘,则意味着该事务区块已经确认。将事务区块以及为事务区块的验证和投票结果一起广播给区块链网络中的所有区块链节点。
需要说明的是,每一次共识结果可能存在执行失败的区块生成节点和区块验证节点,以及可能存在执行成功的区块生成节点和区块验证节点。因此,可以根据对本次共识中的事务区块的出块结果,对参与共识的共识节点集合中的各目标共识节点的节点健康值进行更新。此外,通过节点健康值进行更新的方式,能够实现对区块链节点的节点健康值的动态更新,避免每次进行共识的共识节点集合中的目标共识节点相同的情况发生。
在一个可选实施例中,根据事务区块的出块结果,更新共识节点集合中各目标共识节点的节点健康值。
可选的,根据事务区块的出块结果,更新共识节点集合中各目标共识节点的节点健康值,包括:若出块成功,则增加共识节点集合中各目标共识节点的节点健康值;若出块失败,则减小共识节点集合中各目标共识节点的节点健康值。
若出块成功,则增加共识节点集合中的各目标共识节点的节点健康值,例如可以是为出块成功的区块生成节点的节点健康值上涨5%,为出块成功的区块验证节点的节点健康值上涨3%;也可以是为出块成功的区块生成节点和区块验证节点均上涨5%。本实施例对此不进行限制。
若出块失败,则减小共识节点集合中的各目标共识节点的节点健康值,例如可以是为出块成功的区块生成节点的节点健康值降低5%,为出块成功的区块验证节点的节点健康值降低3%;也可以是为出块成功的区块生成节点和区块验证节点均降低5%。本实施例对此不进行限制。
示例性的,在出块成功或出块失败情况下,对共识节点集合的节点健康值的上涨和减小比例可以由相关技术人员进行预先设定。具体的,若出块成功,则为出块成功的区块生成节点以及区块验证节点增加距离最高健康值差值的50%的权重,例如最高健康值为m,当前的节点健康值是a,则可以将节点健康值增加到a+(m-a)*50%。若出块失败,则为出块失败的区块生成节点以及区块验证节点集减少距离最低健康值差值的50%的健康值,例如最低健康值为n,当前的节点健康值是a,则可以将节点健康值减小到a-(a-n)*50%。
本实施例技术方案通过从共识节点集合中选取目标共识节点,作为区块生成节点;通过区块生成节点进行事务处理,得到事务区块;通过共识节点集合中的区块生成节点以外的区块验证节点,验证事务区块,得到区块共识结果;若区块共识结果中存在验证错误结果,则从共识节点集合中重新选取区块生成节点。上述方案通过确定用于进行事务区块生成的区块生成节点,对事务区块进行生成,以及,采用确定的区块验证节点对事务区块进行验证,完善了事务区块的生成和验证方式,提高了对区块共识结果的确定准确度。
实施例四
图4为本发明实施例四提供的一种区块链节点共识方法的流程图。本实施例在以上述实施例为基础上,提供了一种优选实例。
如图4所示,该方法包括以下具体步骤:
S401、获取在本次共识中,区块链网络中各区块链节点的节点健康值。
S402、根据分布式可验证随机数,生成本次迭代次数下的随机种子。
示例性的,若本次迭代次数为首次迭代,则将分布式可验证随机数作为本次迭代次数的随机种子;若本次迭代次数非首次迭代,则将上一次迭代次数的目标随机数,作为本次迭代次数的随机种子。
S403、将各区块链节点中未被确定为目标共识节点的区块链节点,作为本次迭代次数下的剩余共识节点。
S404、根据剩余共识节点的节点健康值,生成本次迭代次数下的随机分布区间。
S405、根据随机种子和随机分布区间,生成本次迭代次数下的目标随机数。
S406、依次遍历剩余共识节点的节点健康值,并确定目标随机数与当前遍历到的节点健康值之间的差值。
S407、若差值不大于当前遍历到的节点健康值,则将当前遍历到的节点健康值对应的区块链节点确定为本次迭代次数下的目标共识节点。
S408、若差值大于当前遍历到的节点健康值,则将目标随机数更新为差值,继续遍历下一个节点健康值,直到得到本次迭代次数下的目标共识节点。
S409、根据不同迭代次数下的目标共识节点,生成共识节点集合。
S410、从共识节点集合中选取任一目标共识节点,作为区块生成节点,共识节点集合中除区块生成节点之外的目标共识节点作为区块验证节点。
S411、通过区块生成节点进行事务处理,得到事务区块。
S412、通过区块验证节点对包括事务区块的预准备消息进行签名验证。
S413、若签名验证通过,则通过区块验证节点对事务区块进行区块验证;
S414、若区块验证通过,则通过区块验证节点向共识节点集合中的其他区块验证节点发送准备消息,并通过接收到的准备消息的数量,确定事务区块的初始投票结果。
S415、若初始投票通过,则通过区块验证节点向共识节点集合中的其他区块验证节点发送确认消息,并通过接收到的确认消息的数量,确定事务区块的二次投票结果。
其中,区块共识结果包括签名验证结果、区块验证结果、初始投票结果和二次投票结果中的至少一种。
S416、若区块共识结果中存在验证错误结果,则从共识节点集合中重新选取区块生成节点。
S417、根据区块共识结果,在区块链网络中实现事务区块的出块。
S418、根据事务区块的出块结果,更新共识节点集合中各目标共识节点的节点健康值。
示例性的,若出块成功,则增加共识节点集合中各目标共识节点的节点健康值;若出块失败,则减小共识节点集合中各目标共识节点的节点健康值。
实施例五
图5为本发明实施例五提供的一种区块链节点共识装置的结构示意图。本发明实施例所提供的一种区块链节点共识装置,该装置可适用于在大规模区块链节点场景下进行节点共识的情况,该区块链节点共识装置可以采用硬件和/或软件的形式实现,如图5所示,该装置具体包括:节点健康值获取模块501、共识节点集合确定模块502、事务区块生成模块503和区块出块模块504。其中,
节点健康值获取模块501,用于获取在本次共识中,区块链网络中各区块链节点的节点健康值;
共识节点集合确定模块502,用于根据各所述节点健康值和预先生成的分布式可验证随机数,确定共识节点集合;其中,所述共识节点集合中包括至少一个目标共识节点;
事务区块生成模块503,用于通过所述共识节点集合中的目标共识节点,生成并验证事务区块,得到区块共识结果;
区块出块模块504,用于根据所述区块共识结果,在所述区块链网络中实现所述事务区块的出块。
本发明实施例方案通过获取在本次共识中,区块链网络中各区块链节点的节点健康值;根据各节点健康值和预先生成的分布式可验证随机数,确定共识节点集合;通过共识节点集合中的区块链节点,生成并验证事务区块,得到区块共识结果;根据区块共识结果,在区块链网络中实现事务区块的出块。上述技术方案通过在确定共识节点集合,并采用共识节点集合中的目标共识节点完成本次共识,提高了在大规模场景下的区块链网络进行共识的共识速度,从而提高了共识效率。通过根据各节点健康值和预先生成的分布式可验证随机数,确定共识节点集合,提高了确定的共识节点集合中各目标共识节点的随机性,确保对于各区块链节点而言,对参与共识的目标共识节点的不可知,从而提高了共识过程的安全性。
可选的,共识节点集合确定模块502,包括:
目标随机数生成单元,用于根据所述分布式可验证随机数和各所述节点健康值,生成本次迭代次数下的目标随机数;
目标共识节点确定单元,用于根据所述目标随机数和各所述节点健康值,确定本次迭代次数下的目标共识节点;
共识节点集合生成单元,用于根据不同迭代次数下的目标共识节点,生成所述共识节点集合。
可选的,所述目标随机数生成单元,包括:
随机种子生成子单元,用于根据所述分布式可验证随机数,生成本次迭代次数下的随机种子;
随机分布区间生成子单元,用于根据各所述节点健康值,生成本次迭代次数下的随机分布区间;
目标随机数生成子单元,用于根据所述随机种子和所述随机分布区间,生成本次迭代次数下的目标随机数。
可选的,所述随机种子生成子单元,具体用于:
若本次迭代次数为首次迭代,则将所述分布式可验证随机数作为本次迭代次数的随机种子;
若本次迭代次数非首次迭代,则将上一次迭代次数的目标随机数,作为本次迭代次数的随机种子。
可选的,所述随机分布区间生成子单元,具体用于:
将各所述区块链节点中未被确定为目标共识节点的区块链节点,作为本次迭代次数下的剩余共识节点;
根据所述剩余共识节点的节点健康值,生成本次迭代次数下的随机分布区间。
可选的,所述目标共识节点确定单元,包括:
剩余共识节点确定子单元,用于将各所述区块链节点中未被确定为目标共识节点的区块链节点,作为本次迭代次数下的剩余共识节点;
目标共识节点确定子单元,用于根据所述目标随机数和各所述剩余共识节点的节点健康值,确定本次迭代次数下的目标共识节点。
可选的,所述目标共识节点确定子单元,具体用于:
依次遍历所述剩余共识节点的节点健康值,并确定所述目标随机数与当前遍历到的节点健康值之间的差值;
若所述差值不大于当前遍历到的节点健康值,则将当前遍历到的节点健康值对应的区块链节点确定为本次迭代次数下的目标共识节点;
若所述差值大于当前遍历到的节点健康值,则将所述目标随机数更新为所述差值,继续遍历下一个节点健康值,直到得到本次迭代次数下的目标共识节点。
可选的,所述事务区块生成模块503,包括:
区块生成节点确定单元,用于从所述共识节点集合中选取任一目标共识节点,作为区块生成节点;
事务区块生成单元,用于通过所述区块生成节点进行事务处理,得到事务区块;
区块共识结果确定单元,用于通过所述共识节点集合中的所述区块生成节点以外的区块验证节点验证所述事务区块,得到区块共识结果;
区块生成节点重新选取单元,用于若区块共识结果中存在验证错误结果,则从所述共识节点集合中重新选取区块生成节点。
可选的,所述区块共识结果确定单元,包括:
签名验证子单元,用于通过所述区块验证节点对包括所述事务区块的预准备消息进行签名验证;
区块验证子单元,用于若签名验证通过,则通过所述区块验证节点对所述事务区块进行区块验证;
初始投票结果确定子单元,用于若区块验证通过,则通过所述区块验证节点向所述共识节点集合中的其他区块验证节点发送准备消息,并通过接收到的准备消息的数量,确定所述事务区块的初始投票结果;
二次投票结果确定子单元,用于若初始投票通过,则通过所述区块验证节点向所述共识节点集合中的其他区块验证节点发送确认消息,并通过接收到的确认消息的数量,确定所述事务区块的二次投票结果;
其中,所述区块共识结果包括签名验证结果、区块验证结果、初始投票结果和二次投票结果中的至少一种。
可选的,所述装置还包括:
节点健康值更新模块,用于根据所述事务区块的出块结果,更新所述共识节点集合中各所述目标共识节点的节点健康值。
可选的,所述节点健康值更新模块,包括:
节点健康值增加单元,用于若出块成功,则增加所述共识节点集合中各目标共识节点的节点健康值;
节点健康值减小单元,用于若出块失败,则减小所述共识节点集合中各目标共识节点的节点健康值。
本发明实施例所提供的区块链节点共识装置可执行本发明任意实施例所提供的区块链节点共识方法,具备执行方法相应的功能模块和有益效果。
实施例六
图6示出了可以用来实施本发明的实施例的电子设备60的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图6所示,电子设备60包括至少一个处理器61,以及与至少一个处理器61通信连接的存储器,如只读存储器(ROM)62、随机访问存储器(RAM)63等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器61可以根据存储在只读存储器(ROM)62中的计算机程序或者从存储单元68加载到随机访问存储器(RAM)63中的计算机程序,来执行各种适当的动作和处理。在RAM 63中,还可存储电子设备60操作所需的各种程序和数据。处理器61、ROM 62以及RAM 63通过总线64彼此相连。输入/输出(I/O)接口65也连接至总线64。
电子设备60中的多个部件连接至I/O接口65,包括:输入单元66,例如键盘、鼠标等;输出单元67,例如各种类型的显示器、扬声器等;存储单元68,例如磁盘、光盘等;以及通信单元69,例如网卡、调制解调器、无线通信收发机等。通信单元69允许电子设备60通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器61可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器61的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器61执行上文所描述的各个方法和处理,例如区块链节点共识方法。
在一些实施例中,区块链节点共识方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元68。在一些实施例中,计算机程序的部分或者全部可以经由ROM 62和/或通信单元69而被载入和/或安装到电子设备60上。当计算机程序加载到RAM 63并由处理器61执行时,可以执行上文描述的区块链节点共识方法的一个或多个步骤。备选地,在其他实施例中,处理器61可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行区块链节点共识方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (14)
1.一种区块链节点共识方法,其特征在于,包括:
获取在本次共识中,区块链网络中各区块链节点的节点健康值;
根据各所述节点健康值和预先生成的分布式可验证随机数,确定共识节点集合;其中,所述共识节点集合中包括至少一个目标共识节点;
通过所述共识节点集合中的目标共识节点,生成并验证事务区块,得到区块共识结果;
根据所述区块共识结果,在所述区块链网络中实现所述事务区块的出块。
2.根据权利要求1所述的方法,其特征在于,所述根据各所述节点健康值和预先生成的分布式可验证随机数,确定共识节点集合,包括:
根据所述分布式可验证随机数和各所述节点健康值,生成本次迭代次数下的目标随机数;
根据所述目标随机数和各所述节点健康值,确定本次迭代次数下的目标共识节点;
根据不同迭代次数下的目标共识节点,生成所述共识节点集合。
3.根据权利要求2所述的方法,其特征在于,所述根据所述分布式可验证随机数和各所述节点健康值,生成本次迭代次数下的目标随机数,包括:
根据所述分布式可验证随机数,生成本次迭代次数下的随机种子;
根据各所述节点健康值,生成本次迭代次数下的随机分布区间;
根据所述随机种子和所述随机分布区间,生成本次迭代次数下的目标随机数。
4.根据权利要求3所述的方法,其特征在于,所述根据所述分布式可验证随机数,生成本次迭代次数下的随机种子,包括:
若本次迭代次数为首次迭代,则将所述分布式可验证随机数作为本次迭代次数的随机种子;
若本次迭代次数非首次迭代,则将上一次迭代次数的目标随机数,作为本次迭代次数的随机种子。
5.根据权利要求3所述的方法,其特征在于,所述根据各所述节点健康值,生成本次迭代次数下的随机分布区间,包括:
将各所述区块链节点中未被确定为目标共识节点的区块链节点,作为本次迭代次数下的剩余共识节点;
根据所述剩余共识节点的节点健康值,生成本次迭代次数下的随机分布区间。
6.根据权利要求2所述的方法,其特征在于,所述根据所述目标随机数和各所述节点健康值,确定本次迭代次数下的目标共识节点,包括:
将各所述区块链节点中未被确定为目标共识节点的区块链节点,作为本次迭代次数下的剩余共识节点;
根据所述目标随机数和各所述剩余共识节点的节点健康值,确定本次迭代次数下的目标共识节点。
7.根据权利要求6所述的方法,其特征在于,所述根据所述目标随机数和各所述剩余共识节点的节点健康值,确定本次迭代次数下的目标共识节点,包括:
依次遍历所述剩余共识节点的节点健康值,并确定所述目标随机数与当前遍历到的节点健康值之间的差值;
若所述差值不大于当前遍历到的节点健康值,则将当前遍历到的节点健康值对应的区块链节点确定为本次迭代次数下的目标共识节点;
若所述差值大于当前遍历到的节点健康值,则将所述目标随机数更新为所述差值,继续遍历下一个节点健康值,直到得到本次迭代次数下的目标共识节点。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述通过所述共识节点集合中的目标共识节点,生成并验证事务区块,得到区块共识结果,包括:
从所述共识节点集合中选取任一目标共识节点,作为区块生成节点;
通过所述区块生成节点进行事务处理,得到事务区块;
通过所述共识节点集合中的所述区块生成节点以外的区块验证节点,验证所述事务区块,得到区块共识结果;
若区块共识结果中存在验证错误结果,则从所述共识节点集合中重新选取区块生成节点。
9.根据权利要求8所述的方法,其特征在于,所述通过所述共识节点集合中的所述区块生成节点以外的区块验证节点,验证所述事务区块,得到区块共识结果,包括:
通过所述区块验证节点对包括所述事务区块的预准备消息进行签名验证;
若签名验证通过,则通过所述区块验证节点对所述事务区块进行区块验证;
若区块验证通过,则通过所述区块验证节点向所述共识节点集合中的其他区块验证节点发送准备消息,并通过接收到的准备消息的数量,确定所述事务区块的初始投票结果;
若初始投票通过,则通过所述区块验证节点向所述共识节点集合中的其他区块验证节点发送确认消息,并通过接收到的确认消息的数量,确定所述事务区块的二次投票结果;
其中,所述区块共识结果包括签名验证结果、区块验证结果、初始投票结果和二次投票结果中的至少一种。
10.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述事务区块的出块结果,更新所述共识节点集合中各所述目标共识节点的节点健康值。
11.根据权利要求10所述的方法,其特征在于,所述根据所述事务区块的出块结果,更新所述共识节点集合中各所述目标共识节点的节点健康值,包括:
若出块成功,则增加所述共识节点集合中各目标共识节点的节点健康值;
若出块失败,则减小所述共识节点集合中各目标共识节点的节点健康值。
12.一种区块链节点共识装置,其特征在于,包括:
节点健康值获取模块,用于获取在本次共识中,区块链网络中各区块链节点的节点健康值;
共识节点集合确定模块,用于根据各所述节点健康值和预先生成的分布式可验证随机数,确定共识节点集合;其中,所述共识节点集合中包括至少一个目标共识节点;
事务区块生成模块,用于通过所述共识节点集合中的区块链节点,生成并验证事务区块,得到区块共识结果;
区块出块模块,用于根据所述区块共识结果,在所述区块链网络中实现所述事务区块的出块。
13.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-11中任一项所述的区块链节点共识方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-11中任一项所述的区块链节点共识方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211573215.3A CN115941329A (zh) | 2022-12-08 | 2022-12-08 | 区块链节点共识方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211573215.3A CN115941329A (zh) | 2022-12-08 | 2022-12-08 | 区块链节点共识方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115941329A true CN115941329A (zh) | 2023-04-07 |
Family
ID=86648638
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211573215.3A Pending CN115941329A (zh) | 2022-12-08 | 2022-12-08 | 区块链节点共识方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115941329A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116545765A (zh) * | 2023-06-26 | 2023-08-04 | 北京百度网讯科技有限公司 | 区块链网络的节点共识方法、装置、设备和介质 |
-
2022
- 2022-12-08 CN CN202211573215.3A patent/CN115941329A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116545765A (zh) * | 2023-06-26 | 2023-08-04 | 北京百度网讯科技有限公司 | 区块链网络的节点共识方法、装置、设备和介质 |
CN116545765B (zh) * | 2023-06-26 | 2023-12-19 | 北京百度网讯科技有限公司 | 区块链网络的节点共识方法、装置、设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11830001B2 (en) | Blockchain consensus method, accounting node and node | |
CN110597719B (zh) | 一种用于适配测试的图像聚类方法、装置及介质 | |
CN115941329A (zh) | 区块链节点共识方法、装置、设备及存储介质 | |
CN110830587B (zh) | 一种数据传输方法、装置、设备和存储介质 | |
CN110930254A (zh) | 基于区块链的数据处理方法、装置、终端及介质 | |
CN113573146B (zh) | 主播互动方法、装置、设备、存储介质和程序产品 | |
CN113037489B (zh) | 数据处理方法、装置、设备和存储介质 | |
CN112181599B (zh) | 模型训练方法、装置及存储介质 | |
CN111352832A (zh) | 自动测试页面的方法、装置 | |
CN116567077A (zh) | 裸金属指令发送方法、装置、设备及存储介质 | |
CN108170403B (zh) | 数据筛选方法和装置 | |
CN114579311B (zh) | 执行分布式计算任务的方法、装置、设备以及存储介质 | |
CN107104829B (zh) | 一种基于网络拓扑数据的物理设备匹配分配方法及装置 | |
Mohammadi et al. | Machine learning assisted stochastic unit commitment: A feasibility study | |
CN114722048A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN114792125A (zh) | 基于分布式训练的数据处理方法、装置、电子设备和介质 | |
CN111405297A (zh) | 活动榜单结算方法、装置及存储介质 | |
CN115801259B (zh) | 事务监管方法、装置、电子设备及存储介质 | |
CN115905021B (zh) | 一种模糊测试方法、装置、电子设备以及存储介质 | |
CN117113942B (zh) | 一种模型同步方法、装置、电子设备以及存储介质 | |
CN116915870B (zh) | 任务创建请求处理方法、装置、电子设备和可读介质 | |
CN116933088A (zh) | 一种二次设备故障数据生成方法、装置、电子设备及介质 | |
CN116702667A (zh) | 一种芯片的回归测试方法、装置、设备及介质 | |
CN115714688A (zh) | 区块链共识机制运行方法、装置、计算机设备及存储介质 | |
CN114362968A (zh) | 区块链获取随机数的方法、装置、设备和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |