CN111427957A - 区块链投票信息校验方法、装置、设备以及存储介质 - Google Patents
区块链投票信息校验方法、装置、设备以及存储介质 Download PDFInfo
- Publication number
- CN111427957A CN111427957A CN202010224335.7A CN202010224335A CN111427957A CN 111427957 A CN111427957 A CN 111427957A CN 202010224335 A CN202010224335 A CN 202010224335A CN 111427957 A CN111427957 A CN 111427957A
- Authority
- CN
- China
- Prior art keywords
- consensus
- proposal
- node
- information
- target
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
Abstract
本申请实施例提供了一种区块链投票信息校验方法、装置、设备以及存储介质,该方法包括:获取区块链网络中至少两个共识节点分别单播的提案投票信息,根据提案投票信息获取针对目标提案的赞成投票数;赞成投票数是指每个共识节点的提案投票信息中,属于赞成投票信息的总数量;当赞成投票数大于或等于数量阈值时,获取至少两个共识节点针对目标提案的共识结果;将共识结果发送给至少两个共识节点,以使至少两个共识节点根据共识结果确定目标提案通过共识,并对通过共识的目标提案中的交易区块进行上链。采用本申请实施例,可以减少区块链网络中的数据传输量,从而提高区块链网络中的数据传输效率。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及区块链投票信息校验方法、装置、设备以及存储介质。
背景技术
区块链是一种去中心化的分布式账本系统,具有数据不可篡改、去中心化、开放性的特点。共识机制作为区块链技术中的核心,可以保证最新区块被准确添加至区块链,以及节点存储的区块链信息一致不分叉甚至可以抵御恶意攻击。
现有的共识过程中,区块链网络中的共识节点通过对提案进行验证,且每个共识节点在完成对提案的验证后,均需要将验证结果广播给区块链网络中的其他共识节点,每个共识节点需要基于各共识节点的验证结果才能确定提案是否有效。然而,当区块链网络中存在较多共识节点时,每个共识节点对验证结果进行广播均需要发起多条消息,进而造成区块链网络的数据传输量过多,从而导致区块链网络的数据传输效率过低。
发明内容
本申请实施例提供一种区块链投票信息校验方法、装置、设备以及存储介质,可以减少区块链网络中的数据传输量,从而提高区块链网络中的数据传输效率。
本申请实施例一方面提供了一种区块链投票信息校验方法,包括:
获取区块链网络中至少两个共识节点分别单播的提案投票信息,根据提案投票信息获取针对目标提案的赞成投票数;赞成投票数是指每个共识节点的提案投票信息中,属于赞成投票信息的总数量;
当赞成投票数大于或等于数量阈值时,获取至少两个共识节点针对目标提案的共识结果;
将共识结果发送给至少两个共识节点,以使至少两个共识节点根据共识结果确定目标提案通过共识,并对通过共识的目标提案中的交易区块进行上链。
本申请实施例一方面提供了一种区块链投票信息校验装置,包括:
获取模块,用于获取区块链网络中至少两个共识节点分别单播的提案投票信息,根据提案投票信息获取针对目标提案的赞成投票数;赞成投票数是指每个共识节点的提案投票信息中,属于赞成投票信息的总数量;
结果获取模块,用于当赞成投票数大于或等于数量阈值时,获取至少两个共识节点针对目标提案的共识结果;
结果发送模块,用于将共识结果发送给至少两个共识节点,以使至少两个共识节点根据共识结果确定目标提案通过共识,并对通过共识的目标提案中的交易区块进行上链。
其中,获取模块包括:
时间记录单元,用于获取区块链网络中至少两个共识节点分别单播的提案投票信息,记录提案投票信息的接收时间;
第一统计单元,用于将接收时间属于目标时间范围的提案投票信息确定为有效投票信息,根据有效投票信息统计赞成投票信息的数量,得到针对目标提案的赞成投票数。
其中,获取模块包括:
验签单元,用于获取区块链网络中至少两个共识节点分别单播的提案投票信息,根据至少两个共识节点上传至区块链网络的公钥,对至少两个共识节点对应的提案投票信息进行验签;
第二统计单元,用于将通过验签的提案投票信息确定为有效投票信息,根据有效投票信息统计赞成投票信息的数量,得到针对目标提案的赞成投票数。
其中,第二统计单元包括:
节点确定子单元,用于根据提案投票信息中所包含的节点标识,从区块链网络中确定与节点标识相匹配的目标共识节点;目标共识节点属于至少两个共识节点;
信息验签子单元,用于获取目标共识节点上传至区块链网络的公钥,对提案投票信息进行验签。
其中,结果获取单元具体用于:
当赞成投票数大于或等于数量阈值时,将赞成投票信息进行合并,得到至少两个共识节点针对目标提案的共识结果;
则结果发送单元具体用于:
将共识结果发送给至少两个共识节点,以使至少两个共识节点对共识结果中所包含的赞成投票信息进行验证,并在赞成投票信息通过验证时确定目标提案通过共识,对通过共识的目标提案中的交易区块进行上链。
其中,结果获取模块包括:
信息筛选单元,用于当赞成投票数大于或等于数量阈值时,从提案投票信息中筛选出赞成投票信息,将赞成投票信息进行合并得到初始共识结果;
添加单元,用于将赞成投票数添加至初始共识结果,得到至少两个共识节点针对目标提案的共识结果。
其中,结果获取模块包括:
节点签名获取单元,当赞成投票数大于或等于数量阈值时,获取赞成投票信息中所包含的节点签名信息;
全局签名生成单元,用于根据节点签名信息生成针对目标提案的全局签名信息;全局签名信息用于表征赞成投票信息对应的共识节点的节点签名信息;
结果确定单元,用于将全局签名信息和赞成投票数,确定为至少两个共识节点针对目标提案的共识结果。
其中,全局签名生成单元包括:
节点选择子单元,用于从至少两个共识节点中选择赞成投票信息对应的共识节点,得到至少两个候选共识节点;
第一累加子单元,用于对至少两个候选共识节点分别对应的节点签名信息进行累加,得到针对目标提案的全局签名信息。
其中,全局签名生成单元包括:
节点选择子单元,用于从至少两个共识节点中选择赞成投票信息对应的共识节点,得到至少两个候选共识节点;
候选节点获取子单元,用于获取至少两个候选共识节点中的候选共识节点Ni,以及候选共识节点Ni对应的节点签名信息Si;i为小于或等于至少两个候选共识节点的数量M的正整数;
系数确定子单元,用于将候选共识节点Ni对应的公钥与M个候选共识节点分别对应的公钥进行拼接,根据哈希算法对拼接后的公钥进行哈希运算,得到节点签名信息Si对应的系数ai;
乘积子单元,用于获取节点签名信息Si与系数ai的乘积,作为候选共识节点Ni对应的乘积值;
第二累加子单元,用于将M个候选共识节点分别对应的乘积值进行累加,得到针对目标提案的全局签名信息。
其中,该装置还包括:
公钥发送模块,用于将与全局签名信息相关联的全局公钥发送至区块链网络中的至少两个共识节点,以使至少两个共识节点分别根据全局公钥,对共识结果中的全局签名信息进行校验;全局公钥由至少两个候选共识节点分别对应的公钥所确定。
其中,该装置还包括:
通知模块,用于当赞成投票数小于数量阈值时,确定目标提案未通过区块链网络中的共识过程,通知区块链网络中的至少两个共识节点重新提交目标提案。
本申请实施例一方面提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行本申请实施例中一方面中方法的步骤。
本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被处理器执行时,执行如本申请实施例中一方面中方法的步骤。
本申请实施例可以通过获取区块链网络中各共识节点分别单播的提案投票信息,根据提案投票信息获取针对目标提案的赞成投票数,当赞成投票数大于或等于数量阈值时,可以获取各共识节点针对目标提案的共识结果,进而可以将共识结果发送给各共识节点,以使各共识节点根据共识结果确定该目标提案通过共识,并对通过共识的目标提案中的交易区块进行上链。可见,对于区块链网络中的每个共识节点,在完成对目标提案的验证过程后,可以将提案投票信息单播给中转节点,由中转节点对各共识节点分别对应的提案投票信息进行统计,得到目标提案的最终共识结果,当最终共识结果为通过时,可以向各共识节点发送一条共识消息,以通知各共识节点该提案的最终共识结果,即各共识节点仅根据中转节点发送的共识结果即可确定该提案是否通过了区块链网络中的共识过程;在共识过程中,共识节点无需对提案的验证结果广播多条消息,可以减少区块链网络中的数据传输量,进而提高区块链网络中的数据传输效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种网络架构图;
图2是本申请实施例提供的一种区块链投票信息校验场景示意图;
图3是本申请实施例提供的一种区块链投票信息校验方法的流程示意图;
图4是本申请实施例提供的一种验证提案投票信息有效性的示意图;
图5是本申请实施例提供的一种生成针对目标提案的共识结果的示意图;
图6是本申请实施例提供的另一种生成针对目标提案的共识结果的示意图;
图7是本申请实施例提供的一种区块链投票信息校验装置的结构示意图;
图8是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
区块链(Blockchain)是一种分布式数据存储、点对点传输(P2P传输)、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储,共识算法是指区块链网络中实现不同节点之间建立信任、获取权益的数学算法;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
请参见图1,是本申请实施例提供的一种网络架构图。如图1所示,该网络架构可以包括多个区块链节点(具体可以包括如图1所示的中转节点10a、区块链节点10b、区块链节点10c以及区块链节点10d等)和终端设备10e。其中,终端设备10e可以是指用户终端,该终端设备10e可以用于将交易数据(该交易数据是指根据用户交易操作而产生的数据)上传至区块链网络;区块链节点10b、区块链节点10c以及区块链节点10d均表示为区块链网络中的共识节点,区块链网络中的区块链节点可以将终端设备10e上传至区块链网络的交易数据打包成新区块,并广播包含该新区块的提案,以使区块链网络中的共识节点对提案进行验证,共识节点完成对该提案的验证过程后,可以将提案投票信息(即提案的验证结果,验证结果可以为通过,也可以为未通过)单播给中转节点10a。中转节点10a可以为区块链网络中的任一区块链节点,当中转节点10a为区块链网络中的共识节点时,中转节点10a本身就可以参与区块链网络中的共识过程,即可以对提案进行验证,得到提案对应的验证结果,该中转节点10a还可以用于接收其余共识节点针对提案的验证结果,并对其余共识节点对应的验证结果和自身验证结果进行统计得到各共识节点针对上述提案的最终共识结果;当中转节点10a为区块链网络中的非共识节点(如轻量节点等)时,中转节点10a不具备参与区块链网络中共识过程的权限,中转节点10a可以用于接收区块链网络中所有共识节点针对提案的验证结果,并对所接收到的所有验证结果进行统计得到各共识节点针对上述提案的最终共识结果。提案的最终共识结果为通过(如验证结果为通过的共识节点数量超过所有共识节点数量的2/3)时,表明该提案通过共识,可以将赞成投票数作为共识结果信息发送给各共识节点,以通知各共识节点该提案已经通过共识,可以将该提案中所包含的新区块进行正式上链。当然,提案的最终共识结果为未通过时,可以通知区块链网络重新提交上述提案。
其中,终端设备10e等可以包括手机、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internet device,MID)、可穿戴设备(例如智能手表、智能手环等)等。
请参见图2,是本申请实施例提供的一种区块链投票信息校验场景示意图。如图2所示,在客户端向区块链网络上传交易数据后,区块链网络中的区块链节点可以获取客户端上传的交易数据,并将接收到的交易数据打包成新区块(此时的区块链节点即为出块节点),在出块节点生成新区块后,可以在区块链网络中对包含该新区块的提案20a进行广播,以使区块链网络中的共识节点对提案20a进行共识验证。其中,交易数据可以是指客户端根据用户的交易操作所生成的数据,上传至区块链网络的每笔交易数据可以包括交易发起方、交易接收方以及交易内容。出块节点所生成的新区块中可以包括客户端上传至区块链网络的多笔交易数据,上述多笔交易数据可以是由同一客户端在一段时间内上传至区块链网络的,或者是由不同客户端在一段时间内上传至区块链网络的;出块节点所接收的每笔交易数据均可以进行验证,通过验证的交易数据方可打包进新区块中;对交易数据进行验证的目的在于防止出块节点所接收到的交易数据在上传至区块链网络的过程中被恶意篡改,如检测到出块节点接收到的交易数据中所携带的签名不是客户端的签名时,可以表明交易数据在上传过程中可能被篡改,该交易数据即可认为是无效数据等。提案20a中可以包括但不限于:出块节点所生成的新区块,出块节点的签名信息,出块节点的工作状态,新区块的区块高度;区块链网络中的每个共识节点均可以对提案20a进行共识,通过共识后的提案20a中所包含的新区块可以进行正式上链。
区块链网络中的共识节点(如共识节点1、共识节点2、共识节点3等)均可以接收到出块节点广播的提案20a,每个共识节点均可以对提案20a进行共识验证。共识节点1在接收到提案20a后,对提案20a的验证可以包括但不限于:验证提案20a中所包含签名是否为出块节点的签名;验证提案20a中所包含的区块高度是否与区块链中的最高区块高度相邻,且区块高度大于区块链中的最高区块高度;验证新区块的区块头中的随机数是否符合目标难度值;检查新区块的区块头中的默克尔(Merkle)树根是否正确;检查新区块的区块容量是否小于区块链中区块容量的上限;验证新区块中的每笔交易数据是否有效。当上述每一项均满足条件,即验证提案20a中所包含签名为出块节点的签名,且区块高度比区块链中的最大区块高度大1,且新区块的区块头中的随机数符合目标难度值,且区块头中的默克尔树根正确,且新区块的区块容量小于区块链中区块容量的上限,且新区块中的每笔交易数据均有效时,共识节点1可以确定提案20a通过验证,即共识节点1对提案20a持赞成投票,共识节点1可以将验证结果作为提案投票信息1单播给中转节点10a。当然,区块链网络中的每个共识节点均可以对提案20a进行上述验证,并将各自的验证结果作为提案投票信息单播给中转节点10a。
中转节点10a可以获得各共识节点对应的投票信息集合20b,该投票信息集合20b中可以包括各共识节点针对提案20a的验证结果,如共识节点1针对提案20a的验证结果为:提案投票信息1,共识节点2针对提案20a的验证结果为:提案投票信息2,共识节点3针对提案20a的验证结果为:提案投票信息3等。中转节点10a可以对对投票信息集合20b中所包含的所有提案投票信息进行统计,得到各共识节点针对提案20a的赞成投票数为a,即区块链网络的所有共识节点中持赞成投票的节点数量为a(也可以理解为验证结果为通过的节点数量为a)。中转节点10a可以将赞成投票数a与共识过程中的数量阈值(该数量阈值取决于区块链网络中所采用的共识算法,所采用的共识算法不同,数量阈值可能存在差异,如一些共识算法中的数量阈值可以是指区块链网络中所有共识节点数量的2/3,或者一些共识算法中的数量阈值可以是指区块链网络中所有共识节点数量的51%等)作比较,当提案20a的赞成投票数a大于等于数量阈值时,可以确定提案20a通过了区块链网络中的共识过程,进而可以将投票信息集合20b中的所有赞成投票信息进行合并,得到针对提案20a的共识结果20c。换言之,在确定提案20a通过区块链网络中的共识过程后,可以将a条赞成投票信息合并成一条共识结果20c,中转节点10a可以将共识结果20c发送给区块链网络中的各共识节点。各共识节点在接收到中转节点10a发送的共识结果20c后,可以确定提案20a通过共识,并将提案20a中的新区块进行正式上链。当然,各共识节点在接收到共识节点20c后,可以验证共识结果20c中所包含的赞成投票信息的有效性,当共识结果20c中的赞成投票信息均为有效信息时,对提案20a中的新区块进行正式上链。当提案20a的赞成投票数a小于数量阈值时,可以确定提案20a未通过共识,即该提案20a被确定为无效提案,无需将投票信息集合20b中的a条赞成投票信息合并成一条共识结果发送给各共识节点。若区块链网络中的各共识节点未接收到中转节点10a发送的共识结果,则可以重新向区块链网络提交提案。
请参见图3,是本申请实施例提供的一种区块链投票信息校验方法的流程示意图,可以理解的是,该方法可以由计算机设备执行,计算机设备为区块链网络中的中转节点,该中转节点可以是区块链网络中的节点服务器,或者是区块链网络中的其他节点设备。如图3所示,该区块链投票信息校验方法可以包括以下步骤:
步骤S101,获取区块链网络中至少两个共识节点分别单播的提案投票信息,根据提案投票信息获取针对目标提案的赞成投票数;赞成投票数是指每个共识节点的提案投票信息中,属于赞成投票信息的总数量。
具体的,在目标提案(如上述图2所对应实施例中的提案20a)的共识过程中,区块链网络中的至少两个共识节点均可以对目标提案进行共识验证,在完成对目标提案的验证过程后,每个共识节点均可以将验证结果作为提案投票信息单播给中转节点(如上述图2所对应实施例中的中转节点10a)。中转节点可以获取区块链网络中至少两个共识节点分别单播的提案投票信息,对所接收的提案投票信息进行统计,得到至少两个共识节点针对目标提案的赞成投票数。其中,中转节点可以为区块链网络中参与共识过程的任意一个共识节点,该中转节点可以获取区块链网络中每个共识节点分别对应的提案投票信息;目标提案可以包括但不限于:目标提案对应的区块生成节点,区块生成节点所生成的新区块,区块生成节点的签名信息,区块生成节点的工作状态,新区块的区块高度,因此,共识节点对目标提案的验证过程包括新区块的验证过程和区块生成节点相关信息(即目标提案中除新区块之外的其余信息,如区块生生节点的签名信息、工作状态等信息)的验证过程;中转节点所接收到的提案投票信息可以包括赞成投票信息和反对投票信息,赞成投票信息表示共识节点对目标提案的验证结果为通过,反对投票信息表示共识节点对目标提案的验证结果为未通过,赞成投票数用于表示至少两个共识节点分别对应的提案投票信息中赞成投票信息的数量;区块链网络中的每个共识节点均可以基于共识算法对目标提案进行共识验证,共识算法可以包括但不限于:工作量证明(Proof of Work,PoW)、权益证明(Proof of Stake,PoS)、工作量证明与权益证明混合(PoW+PoS)、股份授权证明(Delegated Proof of Stake,DPoS)、实用拜占庭容错算法(Practical Byzantine Fault Tolerance,PBFT)、瑞波共识协议(Ripple Consensus Protocol,RCP)。
可以理解的是,中转节点接收针对目标提案的提案投票信息可以具有时间限制,即在目标时间范围内所接收的提案投票信息才进行统计分析,超出目标时间范围的提案投票信息可以确定为无效提案投票信息。中转节点可以获取区块链网络中至少两个共识节点分别单播的提案投票信息,记录提案投票信息的接收时间,将接收时间属于目标时间范围的提案信息确定为有效投票信息,根据有效投票信息统计赞成投票信息的数量,得到针对目标提案的赞成投票数。换言之,在区块链网络中,可以预先设置针对目标提案的目标时间范围,该目标时间范围可以为目标提案生成之后的一个小时,或者两个小时等其余时间范围;中转节点在接收到共识节点单播的提案投票信息后,可以记录该提案投票信息的接收时间,若接收时间属于目标时间范围,则可以将该接收时间对应的提案投票信息确定为有效投票信息;若接收时间不属于目标时间范围,则可以将该接收时间对应的提案投票信息确定为无效投票信息,即该接收时间对应的提案投票信息即使为赞成投票信息,都不计入赞成投票数;中转节点可以对有效投票信息进行统计,得到针对目标提案的赞成投票数(即所有有效投票信息中,赞成投票信息的总数量)。例如,目标提案的生成时间为9:00,目标时间范围为一个小时,则该目标提案对应的目标时间范围为9:00至10:00,接收时间属于9:00至10:00的提案投票消息可以确定为有效投票信息,接收时间不属于9:00至10:00(即接收时间超过10:00)的提案投票信息可以确定为无效投票信息。若区块链网络中包括n(n为小于2的正整数)个共识节点,中转节点在9:00至10:00范围内接收到的提案投票信息的数量为m(m为小于或等于n的正整数)个,则可以确定n个共识节点中只有m个共识节点的提案投票信息为有效投票信息,中转节点可以从m个有效投票信息中统计得到赞成投票信息的数量,作为针对目标提案的赞成投票数。
可选的,为了防止提案投票信息在单播过程中被篡改,中转节点可以对接收到的提案投票信息进行验签,验签通过的提案投票信息才能进行统计分析。中转节点可以获取区块链网络中至少两个共识节点分别单播的提案投票信息,根据至少两个共识节点上传至区块链网络的公钥,对至少两个共识节点对应的提案投票信息进行验签,将通过验签的提案投票信息确定为有效投票信息,根据有效投票信息统计赞成投票信息的数量,得到针对目标提案的赞成投票数。进一步地,共识节点对应的提案投票信息中可以包括相应共识节点的节点标识;中转节点可以根据提案投票信息中所包含的节点标识,从区块链网络中确定与节点标识相匹配的目标共识节点,获取目标共识节点上传至区块链网络的公钥,对提案投票信息进行验签,目标共识节点为至少两个共识节点中的任一共识节点。
其中,每个共识节点均可以采用非对称加密算法创建密钥对,该密钥对可以包括私钥和公钥,共识节点可以将公钥上传至区块链网络,而私钥由共识节点管理。非对称加密算法可以包括但不限于:Elgamal算法(一种非对称加密算法)、Rabin算法(一种非对称加密算法)、Diffie-Hellman算法(一种非对称加密算法)、ECC算法(椭圆曲线加密算法);密钥对中的私钥用于共识节点对单播给中转节点的提案投票信息进行数字签名,密钥中的公钥用于区块链网络中的节点(包括中转节点)对接收的提案投票信息进行验签。需要说明的是,区块链网络中的公钥是具有唯一性的,一个公钥对应一个共识节点。
中转节点在接收到任一共识节点单播的提案投票信息后,可以从提案投票信息中获取节点标识,根据节点标识可以从区块链网络的至少两个共识节点中确定该提案投票信息对应的目标共识节点(即与节点标识相匹配的共识节点),获取目标共识节点上传至区块链网络的公钥,对该提案投票信息进行验签。换言之,对于中转节点所接收的每个提案投票信息,均可以通过提案投票信息中所包含的节点标识确定提案投票信息对应的目标共识节点,根据目标共识节点对应的公钥对相应的提案投票信息进行验签。
提案投票信息的具体验签过程可以包括:中转节点在接收到某提案投票信息后,根据该提案投票信息中所包含的节点标识,确定该提案投票信息对应的共识节点为区块链网络中的共识节点1,进而可以根据共识节点1上传至区块链网络的公钥,对该提案投票信息所携带的节点签名信息进行解密,得到第一摘要信息,进而根据哈希运算对该提案投票信息进行哈希运算,得到该提案投票信息对应的第二摘要信息,当第一摘要信息与第二摘要信息相同时,可以确定该提案投票信息通过验签;当第一摘要信息与第二摘要不相同时,表明该提案投票信息可能在单播过程中被篡改,可以确定该提案投票信息未通过验签。其中,第一摘要信息为共识节点1根据哈希运算计算得到的针对该提案投票信息的摘要信息,第二摘要信息为中转节点根据哈希运算计算得到的针对实际所接收的提案投票信息的摘要信息,共识节点1与中转节点所使用的哈希算法是相同的。基于上述验签过程,可以对中转节点所接收的每个提案投票信息进行验签,以确定提案投票信息的有效性。
其中,哈希算法可以将数据或者消息压缩成摘要,不仅可以将数据的格式固定下来,还可以使数据量变小,哈希算法可以包括但不限于SHA-1、SHA-224、SHA-256、SHA-384以及SHA-512。以SHA-256算法为例,对于任意大小的数据,SHA-256算法均可以产生一个256比特的哈希值,对于不同的数据可以产生不同的哈希值。
验签通过的提案投票信息可以确定为有效投票信息,验签未通过的提案投票信息可以确定为无效投票信息,可以将验签未通过的提案投票信息进行删除,不计入统计;通过对所接收到的有效投票信息进行统计,得到所有有效投票信息中赞成投票信息的数量,即针对目标提案的赞成投票数。例如,区块链网络中包括n个共识节点,中转节点可以接收到n个提案投票信息,当n个提案投票信息中有x(x为小于或等于n的正整数)个提案投票信息通过验证,则可以确定n个共识节点中只有x个共识节点的提案投票信息为有效投票信息,中转节点可以从x个有效投票信息中统计得到赞成投票信息的数量,作为针对目标提案的赞成投票数。
可选的,中转节点在接收到提案投票信息后,既可以对该提案投票信息进行验签,也可以记录该提案投票信息的接收时间,通过验签结果和接收时间确定该提案投票信息的有效性。当提案投票信息通过验签,且该提案投票信息的接收时间属于目标时间范围时,可以确认该提案投票信息为有效投票信息;当提案投票信息未通过验签,或者提案投票信息的接收时间不属于目标时间范围时,可以确认该提案投票信息为无效投票信息,可以将该提案投票信息进行删除。
请一并参见图4,是本申请实施例提供的一种验证提案投票信息有效性的示意图。如图4所示,区块链网络中的中转节点30a可以接收各共识节点发送的针对目标提案的提案投票信息,如共识节点1在完成对目标提案的验证过程后,可以将验证结果作为提案投票信息1单播给中转节点30a,即共识节点1无需对提案投票信息1进行广播;同理,共识节点2可以将目标提案对应的验证结果作为提案投票信息2单播给中转节点30a,共识节点3可以将目标提案对应的验证结果作为提案投票信息3单播给中转节点30a等。每个提案投票信息中均包括相应共识节点对目标提案的验证结果、相应共识节点对应的节点标识以及相应共识节点的节点签名等信息,例如,提案投票信息1中可以包括:共识节点1对目标提案的验证结果(如验证结果为:通过)、共识节点1对应的节点标识1以及共识节点1的节点签名1等信息;提案投票信息2中可以包括:共识节点2对目标提案的验证结果(如验证结果为:未通过)、共识节点2对应的节点标识2以及共识节点2的节点签名2等信息。
中转节点30a在接收到各共识节点分别对应的提案投票信息后,可以记录每个提案投票信息的接收时间,并将所接收到的提案投票信息添加到投票信息集合30b中,如提案投票信息1接收时间为xx年x月x日8:00,提案投票信息2接收时间为xx年x月x日8:02,提案投票信息3接收时间为xx年x月x日9:02等。中转节点30a还可以获取各共识节点分别上传至区块链网络的公钥,使用共识节点对应的公钥,对该共识节点单播的提案投票信息进行验签,如中转节点可以根据提案投票信息1中所包含的节点标识1,确定提案投票信息1对应的共识节点为:共识节点1,通过共识节点1对应的公钥1对提案投票信息1进行验签,当提案投票信息1验签通过,且提案投票信息1的接收时间xx年x月x日8:02属于目标时间范围(这里默认目标提案的目标时间范围为:xx年x月x日8:00至xx年x月x日9:00)时,可以确定提案投票信息1为有效投票信息,将提案投票信息1添加至有效投票信息集合30c中。基于上述同样的验证过程,可以对投票信息集合30b中的每个提案投票信息进行验证,得到针对目标提案的有效投票信息集合30c(提案投票信息2验签通过且提案投票信息2的接收时间属于目标时间范围,因此提案投票信息2为有有效投票信息)和无效投票信息集合30d(提案投票信息3的接收时间超出目标时间范围,因此提案投票信息3为无效投票信息)。中转节点30a通过对有效投票信息集合30c中所包含的有效投票信息进行统计,可以得到针对目标提案的赞成投票数。
可选的,上述目标提案为区块链网络中的共识节点根据客户端上传至区块链网络的交易数据所生成的。客户端可以根据用户的交易操作生成交易数据,并将交易数据上传至区块链网络;区块链网络中的共识节点在接收到客户端上传的交易数据后,可以对交易数据进行验证,通过验证的交易数据可以缓存在共识节点对应的交易池(该交易池可以用于存储共识节点所接收的所有交易数据)中。区块链网络中的任一共识节点均可以将交易数据打包成新区块(为方便描述,下面将生成新区块的共识节点称为出块节点),该出块节点可以从交易池中选择优先级高的交易数据打包成新区块,将包含新区块、出块节点、出块节点对应的节点签名信息、出块节点的工作状态以及新区块的区块高度等信息的目标提案广播给区块链网络中的其余共识节点,以使区块链网络中的每个共识节点均可以获取到目标提案,并对目标提案进行验证,得到针对目标提案的验证结果。当区块链网络中的共识节点达成一致性(如通过验证的共识节点数量超过所有共识节点的2/3)时,该目标提案方可确定为通过共识,通过共识的目标提案中的新区块可以进行正式上链。其中,交易数据的优先级可以与交易数据的手续费相关联,交易数据的手续费越高,优先级越高;交易数据的手续费越低,优先级越低。共识节点对目标提案的验证过程除了对新区块的验证之外,还需要验证出块节点的相关信息,如出块节点是否具备生成新区块的权限,若按照区块链网络中的节点委员会列表(包括区块链网络中处于有效工作状态的所有共识节点,共识节点在节点委员会列表中的排列顺序即为共识节点生成新区块的顺序),当前新区块应该由共识节点2打包生成,检测到目标提案中的出块节点为共识节点1,则可以确定该目标提案未通过验证。
步骤S102,当赞成投票数大于或等于数量阈值时,获取至少两个共识节点针对目标提案的共识结果。
具体的,中转节点可以将目标提案的赞成投票数与区块链网络所采用的共识算法中的数量阈值作比较,当赞成投票数大于或等于数量阈值时,可以确定目标提案通过区块链网络中的共识过程,中转节点可以将赞成投票数作为目标提案的共识结果。例如,区块链网络中包括n个共识节点,中转节点统计得到的赞成投票数为a,当赞成投票数a大于或等于数量阈值时,中转节点可以将赞成投票数a作为目标提案的共识结果。
可选的,当赞成投票数大于或等于数量阈值时,中转节点可以将所接收到的所有提案投票信息中的赞成投票信息进行合并,得到区块链网络中至少两个共识节点针对目标提案的共识结果。换言之,当目标提案通过共识时,中转节点可以将接收到的多条赞成投票信息合并成一条共识结果。例如,区块链网络中包括n个共识节点,中转节点统计得到的赞成投票数为a,即中转节点接收到n个共识节点分别对应的提案投票信息中包括a条赞成投票信息,当赞成投票数a大于或等于数量阈值时,中转节点可以将a条赞成投票信息进行合并,得到一条针对目标提案的共识结果。
可选的,当赞成投票数大于或等于数量阈值时,中转节点可以从所接收到的提案投票信息中筛选出赞成投票信息,将赞成投票信息进行合并得到初始共识结果,进而可以将赞成投票数添加至初始共识结果,得到至少两个共识节点针对目标提案的共识结果,即共识结果中可以包括中转节点所接收的所有赞成投票信息和赞成投票数。
可选的,当赞成投票数小于数量阈值时,中转节点可以确定目标提案未通过区块链网络中的共识过程,可以通知区块链网络中的至少两个共识节点重新提交目标提案,即目标提案未通过区块链网络中的共识过程时,中转节点可以向区块链网络通知该目标提案未通过共识过程,可以更换共识节点重现提交提案。当然,中转节点在确定目标提案未通过共识时,可以忽略该目标提案,并删除该目标提案对应的提案投票信息;对于区块链网络中的共识节点而言,若在预设时间范围内(如生成目标提案后的两个小时内等)未接收到中转节点发送的共识结果,则可以更换共识节点重新提交提案。
请一并参见图5,是本申请实施例提供的一种生成针对目标提案的共识结果的示意图。如图5所示,区块链网络中的中转节点40a可以接收各共识节点发送的针对目标提案的提案投票信息,如共识节点1在完成对目标提案的验证过程后,可以将验证结果作为提案投票信息1单播给中转节点40a,共识节点2可以将目标提案对应的验证结果作为提案投票信息2单播给中转节点40a,共识节点3可以将目标提案对应的验证结果作为提案投票信息3单播给中转节点40a等。中转节点40a可以对所接收的每个提案投票信息进行验证,验证通过的提案投票信息可以添加至投票信息集合40b中,投票信息集合40b中的每个提案投票信息均包括相应共识节点对目标提案的验证结果、相应共识节点对应的节点标识以及相应共识节点的节点签名等信息,例如,提案投票信息1中可以包括:共识节点1对目标提案的验证结果(如验证结果为:通过)、共识节点1对应的节点标识1以及共识节点1的节点签名1等信息;提案投票信息2中可以包括:共识节点2对目标提案的验证结果(如验证结果为:未通过)、共识节点2对应的节点标识2以及共识节点2的节点签名2等信息。
中转节点40a可以对投票信息集合40b中所包含的提案投票信息进行统计,得到针对目标提案的赞成投票数为:a,当赞成投票数a大于或等于数量阈值时,中转节点40a可以将赞成投票数a和赞成投票信息(即验证结果为通过的提案投票信息,包括提案投票信息1和提案投票信息3等信息)进行合并,得到针对目标提案的共识结果40c。
可选的,当赞成投票数大于或等于数量阈值时,中转节点可以获取赞成投票信息中所包含的节点签名信息,根据节点签名信息生成针对目标提案的全局签名信息,将全局签名信息和赞成投票数确定为至少两个共识节点针对目标提案的共识结果,其中,全局签名信息用于表征赞成投票信息对应的共识节点的节点签名信息。换言之,当目标提案通过区块链网络中的共识过程时,中转节点可以将多条赞成投票信息中的节点签名信息进行聚合,得到一个全局签名信息,进而将赞成投票数和全局签名信息确定为针对目标提案的共识结果。如前述举例,区块链网络的n个共识节点中包括a个共识节点对提案投票信息的验证结果为:通过,即中转节点接收到a条赞成投票信息;当赞成投票数a大于或等于数量阈值时,中转节点可以将a条赞成投票信息中所携带的节点签名信息进行聚合,得到一个用于表征a个节点签名信息的全局签名信息,本申请实施例中的全局签名信息是基于签名算法计算得到的,而不是对a个节点签名进行简单的拼接。
其中,全局签名信息的生成过程可以包括:中转节点可以从至少两个共识节点中选择赞成投票信息对应的共识节点,得到至少两个候选共识节点(即验证结果为通过的共识节点),对至少两个候选共识节点分别对应的节点签名信息进行累加,可以得到针对目标提案的全局签名信息,即全局签名信息可以表示为:S=S1+S2+…+SM。其中,S表示为针对目标提案的全局签名信息,Si表示为第i个候选共识节点对应的节点签名信息,i为小于M的正整数,M用于表示候选共识节点的数量。
应当理解,节点签名信息可以是指使用签名算法所计算得到的结果,每个节点签名均需要占用一定的存储空间,将至少两个共识节点分别对应的节点签名信息累加所得到的全局签名信息所占用的存储空间即为一个节点签名信息所占用的存储空间,可以减少内存占用量,在数据传输过程中可以节省网络资源。上述签名算法包括但不限于:BLS(Boneh-Lynn-Shacham)签名算法、Schnorr签名算法(一种签名算法)以及椭圆曲线数字签名算法(Elliptic curve digital signature algorithm,ECDSA)签名算法。
可选的,全局签名信息的生成过程还可以包括:中转节点可以从至少两个共识节点中选择赞成投票信息对应的共识节点,得到至少两个候选共识节点(即验证结果为通过的共识节点);可以从至少两个候选共识节点中获取候选共识节点Ni,以及候选共识节点Ni对应的节点签名信息Si,i为小于或等于至少两个候选共识节点的数量M的正整数,进而可以将候选共识节点Ni对应的公钥与M个候选共识节点分别对应的公钥进行拼接,根据哈希算法对拼接后的公钥进行哈希运算,得到节点签名信息Si对应的系数ai;获取节点签名信息Si与系数ai的乘积,作为候选共识节点Ni对应的乘积值,将M个候选共识节点分别对应的乘积值进行累加,得到针对目标提案的全局签名信息,即全局签名信息可以表示为:S=a1×S1+a2×S2+…+aM×SM,其中,S表示为针对目标提案的全局签名信息,Si表示为第i个候选共识节点对应的节点签名信息,ai用于表示第i个节点签名对应的系数,i为小于M的正整数,M用于表示候选共识节点的数量。
其中,系数ai可以表示为:ai=hash(Pi||P1||P2||…||PM),Pi可以表示为第i个候选共识节点对应的公钥,hash()用于表示哈希函数,||用于表示拼接符号。
可选的,中转节点在生成全局签名信息后,可以将与全局签名信息相关联的全局公钥发送至区块链网络中的至少两个共识节点,以使至少两个共识节点分别根据全局公钥,对共识结果中的全局签名信息进行校验;全局公钥由至少两个候选共识节点分别对应的公钥所确定。在生成全局签名信息时,可以得到该全局签名信息对应的全局公钥,该全局公钥由M个候选共识节点分别对应的公钥所确定,若全局签名信息为M个候选共识节点分别对应的节点签名信息进行累加所得到的,则全局公钥即为M个候选共识节点分别对应的公钥进行累加所得到的值;若全局签名信息为M个候选共识节点分别对应的节点签名信息与系数相乘后累加所得到的,则全局公钥即为M个候选共识节点分别对应的公钥与系数相乘后累加所得到的值。
请一并参见图6,是本申请实施例提供的另一种生成针对目标提案的共识结果的示意图。如图6所示,区块链网络中的中转节点50a可以接收各共识节点发送的针对目标提案的提案投票信息,如共识节点1在完成对目标提案的验证过程后,可以将验证结果作为提案投票信息1单播给中转节点50a,共识节点2可以将目标提案对应的验证结果作为提案投票信息2单播给中转节点50a,共识节点3可以将目标提案对应的验证结果作为提案投票信息3单播给中转节点50a等。中转节点50a可以对所接收的每个提案投票信息进行验证,验证通过的提案投票信息可以添加至投票信息集合50b中,投票信息集合50b中的每个提案投票信息均包括相应共识节点对目标提案的验证结果、相应共识节点对应的节点标识以及相应共识节点的节点签名等信息,例如,提案投票信息1中可以包括:共识节点1对目标提案的验证结果(如验证结果为:通过)、共识节点1对应的节点标识1以及共识节点1的节点签名1等信息;提案投票信息2中可以包括:共识节点2对目标提案的验证结果(如验证结果为:未通过)、共识节点2对应的节点标识2以及共识节点2的节点签名2等信息。
中转节点50a可以对投票信息集合50b中所包含的提案投票信息进行统计,得到针对目标提案的赞成投票数为:a,当赞成投票数a大于或等于数量阈值时,中转节点可以从a个赞成投票信息中获取节点签名信息,将节点签名信息添加至节点签名集合50c中,节点签名集合50c中可以包括所有赞成投票信息中所携带的节点标签信息,如提案投票信息1中所携带的节点标签1,提案投票信息3中所携带的节点标签3等。中转节点50a可以将节点签名集合50c中所包含的节点签名信息进行聚合,得到一个全局签名信息50d,将全局签名信息50d和赞成投票数a作为针对目标提案的共识结果50e。
步骤S103,将共识结果发送给至少两个共识节点,以使至少两个共识节点根据共识结果确定目标提案通过共识,并对通过共识的目标提案中的交易区块进行上链。
具体的,中转节点可以将目标提案的共识结果发送给区块链网络中的每个共识节点,区块链网络中的共识节点在接收到中转节点的共识结果后,可以根据该共识结果确定目标提案通过区块链网络中的共识过程,可以对目标提案中所包含的交易区块进行正式上链。
可选的,可以理解的是,区块链网络中的共识节点在接收到中转节点发送的共识节点后,若共识结果中仅包含目标提案对应的赞成投票数,则各共识节点在确定了共识结果中的赞成投票数大于或等于数量阈值后,就可以确定目标提案通过共识,并将目标提案中的交易区块进行上链。若共识结果中包含目标提案对应的赞成投票数和赞成投票信息,则各共识节点可以对共识结果中所包含的赞成投票信息进行有验证,如赞成投票信息中所携带的签名信息是否正确,赞成投票信息对应的发送节点是否为区块链网络中的共识节点等,在共识结果中所包含的赞成投票信息均通过验证,且共识结果中的赞成投票数大于或等于数量阈值时,可以确定目标提案通过共识,并将目标提案中的交易区块进行上链。若共识结果中包含目标提案对应的赞成投票数和全局签名信息,则各共识节点可以通过中转节点发送的全局公钥,对共识结果中的全局签名信息进行解密,得到全局签名信息对应的赞成投票信息,进而可以对赞成投票信息进行验证,若赞成投票信息均是没有问题的,且共识结果中的赞成投票数大于或等于数量阈值,则可以确定目标提案通过共识,将目标提案中所包含的交易区块进行正式上链。
本申请实施例可以通过获取区块链网络中各共识节点分别单播的提案投票信息,根据提案投票信息获取针对目标提案的赞成投票数,当赞成投票数大于或等于数量阈值时,获取各共识节点针对目标提案的共识结果,进而可以将共识结果发送给各共识节点,以使各共识节点根据共识结果确定该目标提案通过共识,并对通过共识的目标提案中的交易区块进行上链。可见,对于区块链网络中的每个共识节点,在完成对目标提案的验证过程后,可以将提案投票信息单播给中转节点,由中转节点对各共识节点分别对应的提案投票信息进行统计,得到目标提案的最终共识结果,当最终共识结果为通过时,可以向各共识节点发送一条包含所有赞成投票信息的共识消息,以通知各共识节点该提案的最终共识结果,即各共识节点仅根据中转节点发送的共识结果即可确定该提案是否通过了区块链网络中的共识过程;在共识过程中,共识节点无需对提案的验证结果广播多条消息,可以减少区块链网络中的数据传输量,进而提高区块链网络中的数据传输效率;通过对赞成投票信息所携带的节点签名信息进行聚合,得到一个全局签名信息,可以减少内存占用量,在数据传输过程中可以节省网络资源。
请参见图7,是本申请实施例提供的一种区块链投票信息校验装置的结构示意图。该区块链投票信息校验装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该区块链投票信息校验装置为一个应用软件;该装置可以用于执行本申请实施例提供的方法中的相应步骤。如图7所示,该区块链投票信息校验装置1可以包括:获取模块11,结果获取模块12,结果发送模块13;
获取模块11,用于获取区块链网络中至少两个共识节点分别单播的提案投票信息,根据提案投票信息获取针对目标提案的赞成投票数;赞成投票数是指每个共识节点的提案投票信息中,属于赞成投票信息的总数量;
结果获取模块12,用于当赞成投票数大于或等于数量阈值时,获取至少两个共识节点针对目标提案的共识结果;
结果发送模块13,用于将共识结果发送给至少两个共识节点,以使至少两个共识节点根据共识结果确定目标提案通过共识,并对通过共识的目标提案中的交易区块进行上链。
其中,结果获取模块12可以具体用于:
当赞成投票数大于或等于数量阈值时,将赞成投票信息进行合并,得到至少两个共识节点针对目标提案的共识结果;
则结果发送单元可以具体用于:
将共识结果发送给至少两个共识节点,以使至少两个共识节点对共识结果中所包含的赞成投票信息进行验证,并在赞成投票信息通过验证时确定目标提案通过共识,对通过共识的目标提案中的交易区块进行上链。
其中,获取模块11,结果获取模块12,结果发送模块13的具体功能实现方式可以参见上述图3所对应实施例中的步骤S101-步骤S103,这里不再进行赘述。
请一并参见图7,获取模块11可以包括:时间记录单元111,第一统计单元112,验签单元113,第二统计单元114;
时间记录单元111,用于获取区块链网络中至少两个共识节点分别单播的提案投票信息,记录提案投票信息的接收时间;
第一统计单元112,用于将接收时间属于目标时间范围的提案投票信息确定为有效投票信息,根据有效投票信息统计赞成投票信息的数量,得到针对目标提案的赞成投票数;
验签单元113,用于获取区块链网络中至少两个共识节点分别单播的提案投票信息,根据至少两个共识节点上传至区块链网络的公钥,对至少两个共识节点对应的提案投票信息进行验签;
第二统计单元114,用于将通过验签的提案投票信息确定为有效投票信息,根据有效投票信息统计赞成投票信息的数量,得到针对目标提案的赞成投票数。
其中,时间记录单元111,第一统计单元112,验签单元113,第二统计单元114的具体功能实现方式可以参见上述图3所对应实施例中的步骤S101,这里不再进行赘述。
请一并参见图7,第二统计单元114可以包括:节点确定子单元1141,信息验签子单元1142;
节点确定子单元1141,用于根据提案投票信息中所包含的节点标识,从区块链网络中确定与节点标识相匹配的目标共识节点;目标共识节点属于至少两个共识节点;
信息验签子单元1142,用于获取目标共识节点上传至区块链网络的公钥,对提案投票信息进行验签。
其中,节点确定子单元1141,信息验签子单元1142的具体功能实现方式可以参见上述图3所对应实施例中的步骤S101,这里不再进行赘述。
请一并参见图7,结果获取模块12可以包括:信息筛选单元121,添加单元122,节点签名获取单元123,全局签名生成单元124,结果确定单元125;
信息筛选单元121,用于当赞成投票数大于或等于数量阈值时,从提案投票信息中筛选出赞成投票信息,将赞成投票信息进行合并得到初始共识结果;
添加单元122,用于将赞成投票数添加至初始共识结果,得到至少两个共识节点针对目标提案的共识结果;
节点签名获取单元123,当赞成投票数大于或等于数量阈值时,获取赞成投票信息中所包含的节点签名信息;
全局签名生成单元124,用于根据节点签名信息生成针对目标提案的全局签名信息;全局签名信息用于表征赞成投票信息对应的共识节点的节点签名信息;
结果确定单元125,用于将全局签名信息和赞成投票数,确定为至少两个共识节点针对目标提案的共识结果。
其中,信息筛选单元121,添加单元122,节点签名获取单元123,全局签名生成单元124,结果确定单元125的具体功能实现方式可以参见上述图3所对应实施例中的步骤S102,这里不再进行赘述。
请一并参见图7,全局签名生成单元124可以包括:节点选择子单元1241,第一累加子单元1242,候选节点获取子单元1243,系数确定子单元1244,乘积子单元1245,第二累加子单元1246;
节点选择子单元1241,用于从至少两个共识节点中选择赞成投票信息对应的共识节点,得到至少两个候选共识节点;
第一累加子单元1242,用于对至少两个候选共识节点分别对应的节点签名信息进行累加,得到针对目标提案的全局签名信息;
候选节点获取子单元1243,用于获取至少两个候选共识节点中的候选共识节点Ni,以及候选共识节点Ni对应的节点签名信息Si;i为小于或等于至少两个候选共识节点的数量M的正整数;
系数确定子单元1244,用于将候选共识节点Ni对应的公钥与M个候选共识节点分别对应的公钥进行拼接,根据哈希算法对拼接后的公钥进行哈希运算,得到节点签名信息Si对应的系数ai;
乘积子单元1245,用于获取节点签名信息Si与系数ai的乘积,作为候选共识节点Ni对应的乘积值;
第二累加子单元1246,用于将M个候选共识节点分别对应的乘积值进行累加,得到针对目标提案的全局签名信息。
其中,节点选择子单元1241,第一累加子单元1242,候选节点获取子单元1243,系数确定子单元1244,乘积子单元1245,第二累加子单元1246的具体功能实现方式可以参见上述图3所对应实施例中的步骤S102,这里不再进行赘述。
请一并参见图7,该区块链投票信息校验装置1还可以包括:公钥发送模块14,通知模块15;
公钥发送模块14,用于将与全局签名信息相关联的全局公钥发送至区块链网络中的至少两个共识节点,以使至少两个共识节点分别根据全局公钥,对共识结果中的全局签名信息进行校验;全局公钥由至少两个候选共识节点分别对应的公钥所确定;
通知模块15,用于当赞成投票数小于数量阈值时,确定目标提案未通过区块链网络中的共识过程,通知区块链网络中的至少两个共识节点重新提交目标提案。
其中,公钥发送模块14,通知模块15的具体功能实现方式可以参见上述图3所对应实施例中的步骤S102,这里不再进行赘述。
本申请实施例可以通过获取区块链网络中各共识节点分别单播的提案投票信息,根据提案投票信息获取针对目标提案的赞成投票数,当赞成投票数大于或等于数量阈值时,可以获取各共识节点针对目标提案的共识结果,进而可以将共识结果发送给各共识节点,以使各共识节点根据共识结果确定该目标提案通过共识,并对通过共识的目标提案中的交易区块进行上链。可见,对于区块链网络中的每个共识节点,在完成对目标提案的验证过程后,可以将提案投票信息单播给中转节点,由中转节点对各共识节点分别对应的提案投票信息进行统计,得到目标提案的最终共识结果,当最终共识结果为通过时,可以向各共识节点发送一条包含所有赞成投票信息的共识消息,以通知各共识节点该提案的最终共识结果,即各共识节点仅根据中转节点发送的共识结果即可确定该提案是否通过了区块链网络中的共识过程;在共识过程中,共识节点无需对提案的验证结果广播多条消息,可以减少区块链网络中的数据传输量,进而提高区块链网络中的数据传输效率;通过对赞成投票信息所携带的节点签名信息进行聚合,得到一个全局签名信息,可以减少内存占用量,在数据传输过程中可以节省网络资源。
请参见图8,是本申请实施例提供的一种计算机设备的结构示意图。如图8所示,该计算机设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,上述计算机设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1004可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图8所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在如图8所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
获取区块链网络中至少两个共识节点分别单播的提案投票信息,根据提案投票信息获取针对目标提案的赞成投票数;赞成投票数是指每个共识节点的提案投票信息中,属于赞成投票信息的总数量;
当赞成投票数大于或等于数量阈值时,获取至少两个共识节点针对目标提案的共识结果;
将共识结果发送给至少两个共识节点,以使至少两个共识节点根据共识结果确定目标提案通过共识,并对通过共识的目标提案中的交易区块进行上链。
应当理解,本申请实施例中所描述的计算机设备1000可执行前文图3所对应实施例中对区块链投票信息校验方法的描述,也可执行前文图7所对应实施例中对区块链投票信息校验装置1的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且计算机可读存储介质中存储有前文提及的区块链投票信息校验装置1所执行的计算机程序,且计算机程序包括程序指令,当处理器执行程序指令时,能够执行前文图3所对应实施例中对区块链投票信息校验方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。作为示例,程序指令可被部署在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行,分布在多个地点且通过通信网络互连的多个计算设备可以组成区块链系统。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储存储器(Read-Only Memory,ROM)或随机存储存储器(Random Access Memory,RAM)等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (14)
1.一种区块链投票信息校验方法,其特征在于,包括:
获取区块链网络中至少两个共识节点分别单播的提案投票信息,根据所述提案投票信息获取针对目标提案的赞成投票数;所述赞成投票数是指每个共识节点的提案投票信息中,属于赞成投票信息的总数量;
当所述赞成投票数大于或等于数量阈值时,获取所述至少两个共识节点针对所述目标提案的共识结果;
将所述共识结果发送给所述至少两个共识节点,以使所述至少两个共识节点根据所述共识结果确定所述目标提案通过共识,并对通过共识的目标提案中的交易区块进行上链。
2.根据权利要求1所述的方法,其特征在于,所述获取区块链网络中至少两个共识节点分别单播的提案投票信息,根据所述提案投票信息获取针对目标提案的赞成投票数,包括:
获取所述区块链网络中至少两个共识节点分别单播的提案投票信息,记录所述提案投票信息的接收时间;
将所述接收时间属于目标时间范围的提案投票信息确定为有效投票信息,根据所述有效投票信息统计赞成投票信息的数量,得到针对所述目标提案的赞成投票数。
3.根据权利要求1所述的方法,其特征在于,所述获取区块链网络中至少两个共识节点分别单播的提案投票信息,根据所述提案投票信息获取针对目标提案的赞成投票数,包括:
获取所述区块链网络中至少两个共识节点分别单播的提案投票信息,根据所述至少两个共识节点上传至所述区块链网络的公钥,对所述至少两个共识节点对应的提案投票信息进行验签;
将通过验签的提案投票信息确定为有效投票信息,根据所述有效投票信息统计赞成投票信息的数量,得到针对所述目标提案的赞成投票数。
4.根据权利要求3所述的方法,其特征在于,所述根据所述至少两个共识节点上传至所述区块链网络的公钥,对所述至少两个共识节点对应的提案投票信息进行验签,包括:
根据所述提案投票信息中所包含的节点标识,从所述区块链网络中确定与所述节点标识相匹配的目标共识节点;所述目标共识节点属于所述至少两个共识节点;
获取所述目标共识节点上传至所述区块链网络的公钥,对所述提案投票信息进行验签。
5.根据权利要求1所述的方法,其特征在于,所述当所述赞成投票数大于或等于数量阈值时,获取所述至少两个共识节点针对所述目标提案的共识结果,包括:
当所述赞成投票数大于或等于数量阈值时,将所述赞成投票信息进行合并,得到所述至少两个共识节点针对所述目标提案的共识结果;
则所述将所述共识结果发送给所述至少两个共识节点,以使所述至少两个共识节点根据所述共识结果确定所述目标提案通过共识,并对通过共识的目标提案中的交易区块进行上链,包括:
将所述共识结果发送给所述至少两个共识节点,以使所述至少两个共识节点对所述共识结果中所包含的所述赞成投票信息进行验证,并在所述赞成投票信息通过验证时确定所述目标提案通过共识,对通过共识的目标提案中的交易区块进行上链。
6.根据权利要求5所述的方法,其特征在于,所述当所述赞成投票数大于或等于数量阈值时,将所述赞成投票信息进行合并,得到所述至少两个共识节点针对所述目标提案的共识结果,包括:
当所述赞成投票数大于或等于所述数量阈值时,从所述提案投票信息中筛选出赞成投票信息,将所述赞成投票信息进行合并得到初始共识结果;
将所述赞成投票数添加至所述初始共识结果,得到所述至少两个共识节点针对所述目标提案的共识结果。
7.根据权利要求1所述的方法,其特征在于,所述当所述赞成投票数大于或等于数量阈值时,获取所述至少两个共识节点针对所述目标提案的共识结果,包括:
当所述赞成投票数大于或等于所述数量阈值时,获取所述赞成投票信息中所包含的节点签名信息;
根据所述节点签名信息生成针对所述目标提案的全局签名信息;全局签名信息用于表征所述赞成投票信息对应的共识节点的节点签名信息;
将所述全局签名信息和所述赞成投票数,确定为所述至少两个共识节点针对所述目标提案的共识结果。
8.根据权利要求7所述的方法,其特征在于,所述根据所述节点签名信息生成针对所述目标提案的全局签名信息,包括:
从所述至少两个共识节点中选择所述赞成投票信息对应的共识节点,得到至少两个候选共识节点;
对所述至少两个候选共识节点分别对应的节点签名信息进行累加,得到针对所述目标提案的全局签名信息。
9.根据权利要求7所述的方法,其特征在于,所述根据所述节点签名信息生成针对所述目标提案的全局签名信息,包括:
从所述至少两个共识节点中选择所述赞成投票信息对应的共识节点,得到至少两个候选共识节点;
获取所述至少两个候选共识节点中的候选共识节点Ni,以及所述候选共识节点Ni对应的节点签名信息Si;i为小于或等于所述至少两个候选共识节点的数量M的正整数;
将所述候选共识节点Ni对应的公钥与M个候选共识节点分别对应的公钥进行拼接,根据哈希算法对拼接后的公钥进行哈希运算,得到所述节点签名信息Si对应的系数ai;
获取所述节点签名信息Si与所述系数ai的乘积,作为所述候选共识节点Ni对应的乘积值;
将所述M个候选共识节点分别对应的乘积值进行累加,得到针对所述目标提案的全局签名信息。
10.根据权利要求8或9所述的方法,其特征在于,还包括:
将与所述全局签名信息相关联的全局公钥发送至所述区块链网络中的至少两个共识节点,以使所述至少两个共识节点分别根据所述全局公钥,对所述共识结果中的所述全局签名信息进行校验;所述全局公钥由所述至少两个候选共识节点分别对应的公钥所确定。
11.根据权利要求1所述的方法,其特征在于,还包括:
当所述赞成投票数小于所述数量阈值时,确定所述目标提案未通过所述区块链网络中的共识过程,通知所述区块链网络中的所述至少两个共识节点重新提交所述目标提案。
12.一种区块链投票信息校验装置,其特征在于,包括:
获取模块,用于获取区块链网络中至少两个共识节点分别单播的提案投票信息,根据所述提案投票信息获取针对目标提案的赞成投票数;所述赞成投票数是指每个共识节点的提案投票信息中,属于赞成投票信息的总数量;
结果获取模块,用于当所述赞成投票数大于或等于数量阈值时,获取所述至少两个共识节点针对所述目标提案的共识结果;
结果发送模块,用于将所述共识结果发送给所述至少两个共识节点,以使所述至少两个共识节点根据所述共识结果确定所述目标提案通过共识,并对通过共识的目标提案中的交易区块进行上链。
13.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至11中任一项所述方法的步骤。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,执行如权利要求1至11中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010224335.7A CN111427957B (zh) | 2020-03-26 | 2020-03-26 | 区块链投票信息校验方法、装置、设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010224335.7A CN111427957B (zh) | 2020-03-26 | 2020-03-26 | 区块链投票信息校验方法、装置、设备以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111427957A true CN111427957A (zh) | 2020-07-17 |
CN111427957B CN111427957B (zh) | 2021-05-11 |
Family
ID=71555658
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010224335.7A Active CN111427957B (zh) | 2020-03-26 | 2020-03-26 | 区块链投票信息校验方法、装置、设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111427957B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112037062A (zh) * | 2020-08-31 | 2020-12-04 | 成都质数斯达克科技有限公司 | 交易共识方法、装置、电子设备及可读存储介质 |
CN112040015A (zh) * | 2020-11-06 | 2020-12-04 | 腾讯科技(深圳)有限公司 | 一种共识节点列表生成方法及相关装置 |
CN112118239A (zh) * | 2020-09-03 | 2020-12-22 | 腾讯科技(深圳)有限公司 | 区块链共识方法及装置、电子设备、存储介质 |
CN112511312A (zh) * | 2020-11-23 | 2021-03-16 | 北京微芯区块链与边缘计算研究院 | 一种可组装的共识方法及系统 |
CN112600671A (zh) * | 2021-03-02 | 2021-04-02 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备及存储介质 |
CN112804333A (zh) * | 2021-01-15 | 2021-05-14 | 北京百度网讯科技有限公司 | 出块节点的异常处理方法、装置、设备和存储介质 |
CN113096299A (zh) * | 2021-04-28 | 2021-07-09 | 浙江数秦科技有限公司 | 一种基于联盟链的不记名电子投票方法 |
CN113630247A (zh) * | 2021-08-14 | 2021-11-09 | 永旗(北京)科技有限公司 | 一种区块链节点间的通信方法 |
CN113935665A (zh) * | 2021-12-17 | 2022-01-14 | 南京金宁汇科技有限公司 | 一种用于联盟链的投票管理方法和系统 |
CN114422155A (zh) * | 2022-03-30 | 2022-04-29 | 杭州趣链科技有限公司 | 提案共识执行方法、区块链系统、设备和存储介质 |
WO2022134233A1 (zh) * | 2020-12-24 | 2022-06-30 | 杭州趣链科技有限公司 | 一种区块链的共识方法、装置、服务器及存储介质 |
CN115396504A (zh) * | 2022-08-23 | 2022-11-25 | 浪潮工业互联网股份有限公司 | 一种区块链投票数据缓存方法、设备及介质 |
CN115514608A (zh) * | 2021-06-22 | 2022-12-23 | 腾讯科技(深圳)有限公司 | 一种区块共识方法、装置、设备及存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108122165A (zh) * | 2017-12-15 | 2018-06-05 | 北京中电普华信息技术有限公司 | 一种区块链共识方法及系统 |
WO2019019056A1 (zh) * | 2017-07-26 | 2019-01-31 | 杭州复杂美科技有限公司 | 前置机参与区块链共识的方法 |
CN109447810A (zh) * | 2018-11-29 | 2019-03-08 | 杭州秘猿科技有限公司 | 并行区块链共识方法、系统、电子设备和计算机可读存储介质 |
KR101975822B1 (ko) * | 2018-10-26 | 2019-05-08 | (주)리그시스템 | 프라이빗 블록체인 네트워크 시스템 및 경량화된 고성능 블록체인 기반 합의 방법 |
CN109961287A (zh) * | 2019-02-12 | 2019-07-02 | 众安信息技术服务有限公司 | 一种区块链的监管方法及监管系统 |
CN109981281A (zh) * | 2019-01-14 | 2019-07-05 | 北京领主科技有限公司 | 基于区块链提案随机共识确定候选元素的方法及装置 |
CN110187831A (zh) * | 2019-05-13 | 2019-08-30 | 华宇金信(北京)软件有限公司 | 区块链联盟链的区块数据存储系统及方法 |
CN110599175A (zh) * | 2019-09-23 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 一种区块处理方法及相关设备 |
CN110708171A (zh) * | 2019-12-13 | 2020-01-17 | 腾讯科技(深圳)有限公司 | 区块链共识投票方法、装置、设备以及存储介质 |
CN110708163A (zh) * | 2019-09-10 | 2020-01-17 | 杭州秘猿科技有限公司 | 一种区块链的共识方法、装置、系统和电子设备 |
CN110796547A (zh) * | 2019-10-30 | 2020-02-14 | 桂林电子科技大学 | 一种基于联盟区块链的改进的实用拜占庭容错系统 |
-
2020
- 2020-03-26 CN CN202010224335.7A patent/CN111427957B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019019056A1 (zh) * | 2017-07-26 | 2019-01-31 | 杭州复杂美科技有限公司 | 前置机参与区块链共识的方法 |
CN108122165A (zh) * | 2017-12-15 | 2018-06-05 | 北京中电普华信息技术有限公司 | 一种区块链共识方法及系统 |
KR101975822B1 (ko) * | 2018-10-26 | 2019-05-08 | (주)리그시스템 | 프라이빗 블록체인 네트워크 시스템 및 경량화된 고성능 블록체인 기반 합의 방법 |
CN109447810A (zh) * | 2018-11-29 | 2019-03-08 | 杭州秘猿科技有限公司 | 并行区块链共识方法、系统、电子设备和计算机可读存储介质 |
CN109981281A (zh) * | 2019-01-14 | 2019-07-05 | 北京领主科技有限公司 | 基于区块链提案随机共识确定候选元素的方法及装置 |
CN109961287A (zh) * | 2019-02-12 | 2019-07-02 | 众安信息技术服务有限公司 | 一种区块链的监管方法及监管系统 |
CN110187831A (zh) * | 2019-05-13 | 2019-08-30 | 华宇金信(北京)软件有限公司 | 区块链联盟链的区块数据存储系统及方法 |
CN110708163A (zh) * | 2019-09-10 | 2020-01-17 | 杭州秘猿科技有限公司 | 一种区块链的共识方法、装置、系统和电子设备 |
CN110599175A (zh) * | 2019-09-23 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 一种区块处理方法及相关设备 |
CN110796547A (zh) * | 2019-10-30 | 2020-02-14 | 桂林电子科技大学 | 一种基于联盟区块链的改进的实用拜占庭容错系统 |
CN110708171A (zh) * | 2019-12-13 | 2020-01-17 | 腾讯科技(深圳)有限公司 | 区块链共识投票方法、装置、设备以及存储介质 |
Non-Patent Citations (3)
Title |
---|
刘懿中 等: "区块链共识机制研究综述", 《密码学报》 * |
李燕 等: "区块链关键技术的研究进展", 《计算机工程与应用》 * |
胡亚菲: "面向学校教务系统的区块链共识机制研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112037062B (zh) * | 2020-08-31 | 2023-08-25 | 成都质数斯达克科技有限公司 | 交易共识方法、装置、电子设备及可读存储介质 |
CN112037062A (zh) * | 2020-08-31 | 2020-12-04 | 成都质数斯达克科技有限公司 | 交易共识方法、装置、电子设备及可读存储介质 |
CN112118239A (zh) * | 2020-09-03 | 2020-12-22 | 腾讯科技(深圳)有限公司 | 区块链共识方法及装置、电子设备、存储介质 |
CN112040015B (zh) * | 2020-11-06 | 2021-02-12 | 腾讯科技(深圳)有限公司 | 一种共识节点列表生成方法及相关装置 |
CN112040015A (zh) * | 2020-11-06 | 2020-12-04 | 腾讯科技(深圳)有限公司 | 一种共识节点列表生成方法及相关装置 |
CN112511312A (zh) * | 2020-11-23 | 2021-03-16 | 北京微芯区块链与边缘计算研究院 | 一种可组装的共识方法及系统 |
CN112511312B (zh) * | 2020-11-23 | 2023-10-17 | 北京微芯区块链与边缘计算研究院 | 一种可组装的共识方法及系统 |
WO2022134233A1 (zh) * | 2020-12-24 | 2022-06-30 | 杭州趣链科技有限公司 | 一种区块链的共识方法、装置、服务器及存储介质 |
CN112804333A (zh) * | 2021-01-15 | 2021-05-14 | 北京百度网讯科技有限公司 | 出块节点的异常处理方法、装置、设备和存储介质 |
CN112804333B (zh) * | 2021-01-15 | 2022-10-11 | 北京百度网讯科技有限公司 | 出块节点的异常处理方法、装置、设备和存储介质 |
CN112600671A (zh) * | 2021-03-02 | 2021-04-02 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备及存储介质 |
CN113096299A (zh) * | 2021-04-28 | 2021-07-09 | 浙江数秦科技有限公司 | 一种基于联盟链的不记名电子投票方法 |
CN113096299B (zh) * | 2021-04-28 | 2022-05-24 | 浙江数秦科技有限公司 | 一种基于联盟链的不记名电子投票方法 |
CN115514608A (zh) * | 2021-06-22 | 2022-12-23 | 腾讯科技(深圳)有限公司 | 一种区块共识方法、装置、设备及存储介质 |
CN115514608B (zh) * | 2021-06-22 | 2023-06-06 | 腾讯科技(深圳)有限公司 | 一种区块共识方法、装置、设备及存储介质 |
CN113630247A (zh) * | 2021-08-14 | 2021-11-09 | 永旗(北京)科技有限公司 | 一种区块链节点间的通信方法 |
CN113935665A (zh) * | 2021-12-17 | 2022-01-14 | 南京金宁汇科技有限公司 | 一种用于联盟链的投票管理方法和系统 |
CN114422155A (zh) * | 2022-03-30 | 2022-04-29 | 杭州趣链科技有限公司 | 提案共识执行方法、区块链系统、设备和存储介质 |
WO2023184881A1 (zh) * | 2022-03-30 | 2023-10-05 | 杭州趣链科技有限公司 | 提案共识执行方法、区块链系统、设备和存储介质 |
CN115396504A (zh) * | 2022-08-23 | 2022-11-25 | 浪潮工业互联网股份有限公司 | 一种区块链投票数据缓存方法、设备及介质 |
CN115396504B (zh) * | 2022-08-23 | 2024-01-16 | 浪潮工业互联网股份有限公司 | 一种区块链投票数据缓存方法、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111427957B (zh) | 2021-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111427957B (zh) | 区块链投票信息校验方法、装置、设备以及存储介质 | |
CN112214780B (zh) | 一种数据处理方法、装置、智能设备及存储介质 | |
CN111382456B (zh) | 提案消息处理方法、装置、设备以及存储介质 | |
CN110599173B (zh) | 区块链的共识节点确定方法、装置、设备及存储介质 | |
CN111445333B (zh) | 区块生成方法、装置、计算机设备以及存储介质 | |
CN111444211B (zh) | 区块链共识节点校验方法、装置、设备以及存储介质 | |
CN111314067B (zh) | 区块存储方法、装置、计算机设备及存储介质 | |
US11943237B2 (en) | Malicious peer identification for database block sequence | |
CN115210741B (zh) | 部分有序的区块链 | |
CN110602217B (zh) | 基于区块链的联盟管理方法、装置、设备及存储介质 | |
WO2021233049A1 (zh) | 基于区块链的数据处理方法、装置、设备及可读存储介质 | |
EP4216077A1 (en) | Blockchain network-based method and apparatus for data processing, and computer device | |
CN112085504B (zh) | 一种数据处理方法、装置、计算机设备及存储介质 | |
CN111654395B (zh) | 投票信息处理方法、装置、设备以及存储介质 | |
CN110598456B (zh) | 一种数据存储方法、装置、电子设备以及存储介质 | |
CN111523890A (zh) | 基于区块链的数据处理方法、装置、存储介质及设备 | |
US11343313B1 (en) | Fault tolerant periodic leader rotation for blockchain | |
CN111488372A (zh) | 一种数据处理方法、设备及存储介质 | |
WO2021233109A1 (zh) | 基于区块链的消息处理方法、装置、设备以及存储介质 | |
CN110599384A (zh) | 组织关系的转移方法、装置、设备及存储介质 | |
CN110689348A (zh) | 基于联盟链的收入验证方法、装置、终端及介质 | |
CN110910091A (zh) | 一种数据处理方法、设备及介质 | |
CN111008251A (zh) | 一种数据处理方法以及设备 | |
CN117668924B (zh) | 一种基于链上结算数据的pos机业务审计系统 | |
CN113301118B (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40026378 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |