[go: up one dir, main page]

HK1244599B - 一种共识校验的方法及装置 - Google Patents

一种共识校验的方法及装置 Download PDF

Info

Publication number
HK1244599B
HK1244599B HK18103909.4A HK18103909A HK1244599B HK 1244599 B HK1244599 B HK 1244599B HK 18103909 A HK18103909 A HK 18103909A HK 1244599 B HK1244599 B HK 1244599B
Authority
HK
Hong Kong
Prior art keywords
blockchain node
business
request
service request
verification
Prior art date
Application number
HK18103909.4A
Other languages
English (en)
Other versions
HK1244599A1 (zh
Inventor
李宁
Original Assignee
创新先进技术有限公司
Filing date
Publication date
Application filed by 创新先进技术有限公司 filed Critical 创新先进技术有限公司
Priority to HK18103909.4A priority Critical patent/HK1244599B/zh
Publication of HK1244599A1 publication Critical patent/HK1244599A1/zh
Publication of HK1244599B publication Critical patent/HK1244599B/zh

Links

Description

一种共识校验的方法及装置
技术领域
本申请涉及计算机技术领域,尤其涉及一种共识校验的方法及装置。
背景技术
区块链技术具有能够使区块链中存储的数据具有不可篡改、去中心化等特性,所以,区块链技术一经面世以来,就受到了人们的广泛关注。随着人们对区块链技术的不断深入研究,除了通过区块链技术实现更加安全的数据存储环境外,还利用区块链技术实现了多种业务的优化处理。
当前,区块链节点接收到客户端向其发送的业务请求时,会将该业务请求存储在自身中。与此同时,该区块链节点还会将该业务请求广播给共识网络的其他区块链节点中,其他区块链节点则相应的会将接收到的该业务请求存储在自身中。
而在共识校验阶段,区块链节点首先需要从自身存储的各业务请求中捞取一定数量的业务请求,并对这些业务请求进行非对称签名合法验证;当确定这些业务请求通过非对称签名合法验证后,则将这些业务请求打包成预处理块广播给整个共识网络中的其他区块链节点。其他区块链节点接收到该预处理块后,则先对该预处理块中包含的各业务请求进行非对称签名合法验证,并在确定出这些业务请求通过非对称签名合法验证后,对这些业务请求进行共识校验,以决定是否需要将这些业务请求以区块的形式存储在区块链中。
从上述过程中可以看出,在共识校验阶段中,区块链节点需要对待共识的各业务请求进行较为繁琐的处理后,才能将这些业务请求打包成预处理块广播给共识网络中的其他区块链节点。其他区块链节点也需要对该预处理块进行一定处理后,才能对该预处理块中包含的各业务请求进行共识校验。由此可以看出,在现有技术中,共识阶段涉及的过程较为复杂,共识过程所耗费的时间过长,从而降低了区块链业务的共识校验效率。
发明内容
本申请实施例提供一种共识校验的方法,用以解决现有技术区块链业务中共识校验效率较低的问题。
本申请实施例提供了一种共识校验的方法,包括:
第一区块链节点接收客户端发送的业务请求并对所述业务请求进行第一安全性验证;
当确定所述业务请求通过所述第一安全性验证时,存储所述业务请求,并将所述业务请求广播给各第二区块链节点,以使所述各第二区块链节点在确定所述业务请求通过第二安全性验证时存储所述业务请求;
在确定满足预设条件时,对存储的至少一个业务请求进行预处理,得到预处理块并存储;
在进行共识校验时,捞取预处理块并广播给共识网络中的各第二区块链节点,以通过所述各第二区块链节点对捞取的预处理块进行共识校验。
本申请实施例提供一种共识校验的装置,用以解决现有技术区块链业务中共识校验效率较低的问题。
本申请实施例提供了一种共识校验的装置,包括:
接收模块,接收客户端发送的业务请求并对所述业务请求进行第一安全性验证;
存储模块,当确定所述业务请求通过所述第一安全性验证时,存储所述业务请求,并将所述业务请求广播给各第二区块链节点,以使所述各第二区块链节点在确定所述业务请求通过第二安全性验证时存储所述业务请求;
预处理模块,在确定满足预设条件时,对存储的至少一个业务请求进行预处理,得到预处理块并存储;
捞取模块,在进行共识校验时,捞取预处理块并广播给共识网络中的各第二区块链节点,以通过所述各第二区块链节点对捞取的预处理块进行共识校验。
本申请实施例提供一种共识校验的方法,用以解决现有技术区块链业务中共识校验效率较低的问题。
本申请实施例提供了一种共识校验的方法,包括:
第二区块链节点接收第一区块链节点广播的业务请求并对所述业务请求进行第二安全性验证;
当确定所述业务请求通过所述第二安全性验证时,存储所述业务请求;
当接收到所述第一区块链节点广播的预处理块时,则对所述预处理块进行共识校验。
本申请实施例提供一种共识校验的装置,用以解决现有技术区块链业务中共识校验效率较低的问题。
本申请实施例提供了一种共识校验的装置,包括:
接收请求模块,接收第一区块链节点广播的业务请求并对所述业务请求进行第二安全性验证;
请求存储模块,当确定所述业务请求通过所述第二安全性验证时,存储所述业务请求;
校验模块,当接收到所述第一区块链节点广播的预处理块时,则对所述预处理块进行共识校验。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
在本申请实施例中,第一区块链节点是在接收到客户端发送的业务请求后,即可对该业务请求进行第一安全性验证,而非等到共识校验阶段,才对该业务请求进行第一安全性验证,这就极大的简化了共识校验的过程。并且,第一区块链节点在共识校验阶段之前,可先从自身存储的各业务请求中捞取至少一个业务请求,并对捞取的各业务请求进行处理,以得到预处理块,这样一来,第一区块链节点在共识校验阶段则可直接将先前得到的预处理块广播给共识网络中的各第二区块链节点,以通过各第二区块链节点对该预处理块所对应的各业务请求进行共识校验,从而极大的简化了共识校验阶段的过程,降低了共识校验阶段所耗费的时间,提高了区块链业务的共识效率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的共识校验过程的示意图;
图2为本申请实施例提供的整个共识网络对业务请求进行非对称签名合法验证的详细过程示意图;
图3为本申请实施例提供的确定待校验特征值的示意图;
图4为本申请实施例提供的服务器集群的示意图;
图5为本申请实施例提供的一种共识校验的装置示意图;
图6为本申请实施例提供的另一种共识校验的装置示意图。
具体实施方式
当前,区块链节点进行业务处理的过程大致如下:客户端向区块链节点发送业务请求后,区块链节点会将接收到的业务请求以广播的形式发送至其他区块链节点中;其他区块链节点会将接收到的该业务请求进行存储。向其他区块链节点发送该业务请求的区块链节点也会将该业务请求存储在自身中。
在由各区块链节点组成的共识网络中,各区块链节点均有向其他区块链节点发起共识请求的权利。区块链节点可将自身存储的一定数量的业务请求按照一定顺序进行排列,得到一个业务请求队列,并生成针对该业务请求队列的一个哈希(Hash)值。而后,区块链节点可将该业务请求队列以及该Hash打包成一个预处理块,将该预处理块以广播的形式的发送至其他的区块链节点,以进行共识校验。
在共识校验的过程中,当其他区块链节点接收到该预处理块后,将对该预处理块中的包含的各业务请求进行诸如非对称签名合法验证之类的安全性验证,如,区块链节点可根据自身所持有的公钥,将该预处理块中包含的各业务请求进行解析,以验证各业务请求是否为合法的业务请求。
除此之外,由于区块链节点每当接收客户端发送的业务请求时,就会将该业务请求广播给其他的区块链节点,因此,通常情况下,各区块链节点自身均应存储有整个共识网络接收的各业务请求。基于此,其他区块链节点接收到该预处理块后,将对该预处理块中的各业务请求进行哈希完整性验证,即,区块链节点可从自身存储的各业务请求中查找到该预处理块中包含的业务请求,并将查找到的业务请求按照该业务请求在该预处理块中的排列顺序进行排列,得到一个业务请求队列;而后,区块链节点可生成针对该业务请求队列的一个Hash值,进而将得到的Hash值与该预处理块中包含的Hash值进行比对,以确认该预处理块中的各业务请求是否发生篡改。
各区块链节点将根据对该预处理块进行的安全性验证以及哈希完整性验证,得到自身针对该预处理块整体是否合法的校验结果,并将自身得到的校验结果以广播的形式广播给其他的区块链节点。
各区块链节点将根据其他区块链节点针对该预处理块所发送的校验结果以及自身得到的校验结果,得到整个共识网络中各区块链节点针对该预处理块是否通过的综合校验结果,并将得到的综合校验结果再次以广播的形式广播给其他的区块链节点。
共识网络中的各区块链节点接收到相互广播的综合校验结果后,将进一步判断共识网络中各区块链节点得出各综合校验结果大部分是否均为校验通过。若是,则将该预处理块中的各业务请求以区块的形式存储在自身的区块链中,若否,则确定该预处理块中的各业务请求共识校验不通过。
从上述过程中可以看出,在现有技术中,区块链节点对各业务请求进行共识校验时,共识校验过程较为复杂,共识校验过程所耗费的时间过长,从而导致了区块链业务的业务处理效率低下。
为了有效解决上述问题,在本申请中,第一区块链节点可将安全性验证以及预处理块的生成提前到共识校验阶段之前来进行。换句话说,第一区块链节点可将现有技术中共识校验阶段涉及的一部分过程提前到共识校验阶段之前来进行,从而极大的降低了共识校验过程的复杂度,缩短了共识校验阶段所耗费的时间,提高了区块链业务的共识校验效率。
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
图1为本申请实施例提供的共识校验过程的示意图,具体包括以下步骤:
S101:第一区块链节点接收客户端发送的业务请求并对所述业务请求进行第一安全性验证。
在本申请实施例中,用户在业务处理的过程中,可通过终端中安装的客户端向第一区块链节点发送的业务请求,即,用户在客户端所展示的界面中填写相应的业务处理内容,客户端根据用户在该界面中填写的业务处理内容,生成相应的业务请求,进而通过终端将该业务请求发送至第一区块链节点中。当然,用户也可在自己所持有的用户终端填写相应的业务处理内容,而终端将根据用户填写的业务处理内容,生成相应的业务请求,并将业务请求发送至整个共识网络中的第一区块链节点中。其中,这里提到的终端可以是诸如电脑、智能手机等设备。
需要说明的是,在实际应用中,共识网络中包含有多个区块链节点,而本申请实施例所提到的第一区块链节点指的是接收客户端业务请求的区块链节点。除第一区块链节点之外其他区块链节点,在本申请实施例中可以称之为第二区块链节点。第一区块链节点和第二区块链节点是一个相对概念。从客户端接收业务请求的区块链节点可以为第一区块链节点,而接收由第一区块链节点通过广播的方式所发送的该业务请求的区块链节点则可以称之为第二区块链节点。由于共识网络中的各区块链节点均可接收客户端发送的业务请求,因此,各区块链节点实质上均可以是第一区块链节点,也可以是第二区块链节点。第一区块链节点和第二区块链节点的划分可以取决于业务请求是从何处接收的。
在现有技术中,第一区块链节点在接收到客户端发送的业务请求时,通常是将该业务请求直接存储在自身中的。在此过程中,第一区块链节点不对该业务请求进行任何验证。而验证的过程则通常是在共识校验的阶段进行的。在共识校验过程中,共识网络中的各区块链节点先是对第一区块链节点广播的预处理块中包含的各业务请求进行安全性验证,诸如RSA等非对称签名合法验证,以验证该预处理块中包含的各业务请求是否合法。之后,共识网络中的各区块链节点将对各业务请求的内容进行验证。验证的方式可以通过哈希完整性验证的方式来实现。
在完成上述两个验证后,共识网络中的各区块链节点将进一步根据针对该预处理块验证后得到的校验结果进行共识,从而决定该预处理块中包含的各业务请求是否可以写入到区块链中。
从上述可以看出,在共识校验过程中,共识网络需要对上述预处理块中包含的各业务请求进行安全性验证、哈希完整性验证以及校验结果共识三个阶段。这三个阶段使得现有技术中共识校验的过程耗时过长,从而降低了区块链业务的共识校验效率。
为了有效解决上述问题,在本申请实施例中,可将共识校验中的安全性验证提前到共识校验之前,从而简化整个共识校验过程,提升共识校验的效率,进而提高区块链业务的业务处理效率。
具体的,第一区块链节点在接收到客户端发送的业务请求后,可对该业务请求进行第一安全性验证。在本申请实施例中,第一安全性验证可以是非对称签名合法验证,而这里提到的非对称签名合法验证可以通过诸如RSA加密算法等非对称加密算法来实现。所以,客户端在向第一区块链节点发送该业务请求时,可通过自己所持有的私钥对该业务请求进行加密,而第一区块链节点接收到该业务请求后,可通过自己所持有的公钥对该业务请求进行解析,并对解析出的内容进行验证。
其中,客户端在向第一区块链节点发送上述业务请求时,可将解析该业务请求的公钥携带在该业务请求中进行发送,第一区块链节点接收到该业务请求后,可根据该业务请求中包含的公钥,对该业务请求进行解析。当然,第一区块链节点也可事先从客户端中获取到该公钥,相应的,客户端向第一区块链节点发送该业务请求时,第一区块链节点可通过事先获取到的公钥对该业务请求进行解析。
需要说明的是,上述说明的第一安全性验证是指第一区块链节点对上述业务请求所进行的安全性验证,后续提到的第二安全性验证则是指第二区块链节点对上述业务请求进行的安全性验证,第一安全性验证和第二安全性验证所采用的具体验证方式可以是同一验证方式,如,均为非对称签名合法验证。所以,这里提到的第一安全性验证以及后续提到的第二安全性验证仅为区分是哪一区块链节点对上述业务请求所执行的安全性验证。
S102:当确定所述业务请求通过所述第一安全性验证时,存储所述业务请求,并将所述业务请求广播给各第二区块链节点,以使所述各第二区块链节点在确定所述业务请求通过第二安全性验证时存储所述业务请求。
当第一区块链节点确定该业务请求通过第一安全性验证后,可将该业务请求进行存储。当第一区块链节点确定该业务请求未通过第一安全性验证后,则不对该业务请求进行存储,并可向客户端发送该业务请求受理失败的提示,客户端接收到该提示后可向用户进行展示,以使用户重新编辑业务请求,并通过客户端发送给第一区块链节点。
除此之外,第一区块链节点接收到客户端发送的业务请求时,可将该业务请求以广播的形式发送给各第二区块链节点。这里提到的各第二区块链节点可以为共识网络中除第一区块链节点以外的其他区块链节点。各第二区块链节点接收到该业务请求后,可对该业务请求进行第二安全性验证,以决定是否对该业务请求进行存储,如图2所示。
图2为本申请实施例提供的整个共识网络对业务请求进行安全性验证的详细过程示意图。
以交易业务为例,当用户需要进行转账业务时,可在终端安装的客户端中选择转账对象并输入转账金额。客户端将根据用户输入的内容,生成相应的交易请求,并将这笔交易请求发送至第一区块链节点中。其中,客户端在发送该业务请求之前,可通过自己所持有的私钥对这笔交易请求进行加密,并将加密后的交易请求发送至第一区块链节点中。
第一区块链节点接收到客户端发送的交易请求(即业务请求)后,可通过该交易请求中所携带的公钥(当然,第一区块链节点也可事先从客户端中获取到该公钥)对该交易请求进行解密(即对该交易请求进行第一安全性验证),以得到这笔交易请求中所涉及的交易双方的账户地址,进而验证交易双方的账户地址是否合法。当确定出这笔交易请求所涉及的交易双方的账户地址均为合法账户,且交易发起方的账户中所存有的金额数大于等于这笔交易请求中所涉及的转账金额数时,则确定这笔交易请求通过第一安全性验证,进而将这笔交易请求存储在第一区块链节点所对应的业务存储器中。第一区块链节点将这笔交易请求存储在该业务存储器则相当于对这笔交易请求进行了受理。而当第一区块链节点确定这笔交易请求未通过第一安全性验证时,则拒绝受理这笔交易请求,即,不会将这笔交易请求存储在自身对应的业务存储器中。
除此之外,第一区块链节点在接收到这笔交易请求时,可将这笔交易请求以广播的形式发送给共识网络中的其他区块链节点,即各第二区块链节点。各第二区块链节点在接收到这笔交易请求后,可对这笔交易请求进行第二安全性验证。对于每个第二区块链节点来说,当确定出这笔交易请求通过第二安全性验证时,则可将这笔交易请求存储在自身对应的业务存储器中,即受理这笔交易请求;同样,当确定出这笔交易请求未通过第二安全性验证时,则不对这笔交易请求进行受理。
在本申请实施例中,共识网络中的各区块链节点和各业务存储器中可通过一个预设的分布式中间件实现数据传输。即,第一区块链节点确定该业务请求通过第一安全性验证时,可将该业务请求发送至分布式中间件中,该分布式中间件可根据该第一区块链节点的节点标识,将该业务请求发送至该第一区块链节点所对应的业务存储器中进行存储。
S103:在确定满足预设条件时,对存储的至少一个业务请求进行预处理,得到预处理块并存储。
由于本申请实施例意在简化区块链业务共识校验的过程,缩短共识校验的耗时,提高共识校验的效率。为此,第一区块链节点在对自身存储的各业务请求进行共识校验之前,可先对各业务请求进行预处理,得到预处理块,从而在共识校验过程中,直接将该预处理块广播给共识网络中的各第二区块链节点进行共识校验。
具体的,在本申请实施例中,第一区块链节点当确定满足预设条件时,可从自身对应的业务存储器中捞取至少一个业务请求,并在后续过程中,通过整个共识网络对这些业务请求进行共识。
其中,第一区块链节点在确定当前时刻到达下一个捞取业务请求的设定时间周期时,则确定满足捞取请求的条件,进而从自身对应的业务存储器中捞取至少一个业务请求,并对捞取的至少一个业务请求进行预处理。除此之外,上述预设条件也可以是其他的条件。如,第一区块链节点当监测到业务存储器中的业务请求到达设定的存储时间时,则确定该业务请求满足预设条件,而后,第一区块链节点可将满足预设条件的各业务请求进行预处理,并得到相应的预处理块。当然,这里提到的预设条件也可以是其他的形式,在此就不一一举例说明了。
而第一区块链节点从业务存储器捞取业务请求的过程中,可按照业务类型优先级的方式从自身对应的业务存储器中捞取一定数量的业务请求,例如,第一区块链节点可以某一业务类型为界限,将业务类型优先级位于该业务类型之上的各业务请求从该业务存储器中捞取出来。
当然,第一区块链节点通过共识网络对业务请求进行共识时,可选定一个业务,并将这个业务所对应的各业务请求从业务存储器中捞取出来,其中,第一区块链节点选定业务时,可随机选取,也可按照一定顺序进行选取;或是按照各业务请求进入该业务存储器中时间的先后顺序,从该业务存储器中捞取一定数量的业务请求。当然,第一区块链节点还可通过其他标准来捞取业务请求,在此就不进行详细赘述了。
第一区块链节点捞取到各业务请求后,可通过预设的特征值确定规则,分别确定出各业务请求所对应的各子特征值。如,当预设的特征值确定规则为Hash算法时,第一区块链节点可分别确定出各业务请求所对应的各子Hash值,而当预设的特征值确定规则为消息摘要算法第五版(Message Digest Algorith m,MD5)时,第一区块链节点可分别确定出各业务请求所对应的子MD5值。
第一区块链节点确定出各业务请求对应的各子特征值后,可根据确定出的各子特征值以及各业务请求的排列顺序,确定出各业务请求唯一对应的待验证特征值。
其中,该待验证特征值与各业务请求整体上唯一对应,即,当各业务请求中的某一业务请求在内容上发生变化时,则该待验证特征值也将发生变化。而各业务请求的排列顺序可以是第一区块链节点设定的一个排列顺序,也可按照各业务请求在业务存储器中的排列顺序来确定。第一区块链节点确定待验证特征值的方式如图3所示。
图3为本申请实施例提供的确定待验证特征值的示意图。
在图3中,第一区块链节点所采用的特征值确定规则为Hash算法。假设,第一区块链节点从其自身存储的各业务请求中捞取到四个业务请求,这四个业务请求的排序如图3所示。第一区块链节点分别确定出这四个业务请求对应的四个子Hash值后,可将这四个子Hash值,按照这四个业务请求的排序,从左到右依次置于Merkle树的四个叶子节点上,并以此确定出Merkle树的非叶子节点以及根节点。而后,第一区块链节点可将该Merkle树的根节点Hash7确定为这四个业务请求唯一对应的待验证特征值。
需要说明的是,上述说明的确定待验证特征值的方法并不唯一,第一区块链节点也可采用其他的方式进行,只需保证各业务请求在一定顺序下,该待验证特征值与各业务请求唯一对应即可。
第一区块链节点在确定出各业务请求(即从业务存储器中捞取的至少一个业务请求)唯一对应的待验证特征值后,可将该待验证特征值以及各业务请求对应的各业务请求标识(如对于交易业务来说,交易请求标识可以是一笔交易的流水号)打包成预处理块。其中,第一区块链节点可将各业务请求标识按照上述各业务请求的排列顺序进行排序,得到业务请求标识队列,并将该业务请求标识队列保存在该预处理块中。
第一区块链节点确定出上述预处理块后,可将该预处理块保存在自身所对应的业务存储器中。待到达共识校验阶段时,第一区块链节点可以从该业务存储器中捞取出该预处理块,并将该预处理块广播给共识网络中的各第二区块链节点进行共识校验。其中,第一区块链节点可将该预处理块与各业务请求混合存储在自身所对应的业务存储器中,也可在该业务存储器中划分出指定的存储区域,并将该预处理块存储在该指定的存储区域中。
S104:在进行共识校验时,捞取预处理块并广播给共识网络中的各第二区块链节点,以通过所述各第二区块链节点对捞取的预处理块进行共识校验。
在共识校验过程中,第一区块链节点可从自身存储的先前通过预处理各业务请求所对应的预处理块中捞取预处理块,并将该预处理块通过广播发送给整个共识网络中的其他区块链节点(即各第二区块链节点),进而通过共识网络对该预处理块所对应的各业务请求进行共识校验。
具体的,第一区块链节点可将上述预处理块广播给共识网络中的各第二区块链节点,而对于每个第二区块链节点来说,当接收到第一区块链节点发送的预处理块时,第二区块链节点可对该预处理块进行解析,以确定出该预处理块中所包含的各业务请求的业务请求标识。
第二区块链节点可进一步的从自身存储的各业务请求中确定出与该业务请求标识对应的各业务请求,并通过预设的特征值确定规则,分别确定出各业务请求所对应的各子特征值,其中,第二区块链节点所采用的特征值确定规定与第一区块链节点的相同。
第二区块链节点确定出各业务请求对应的各子特征值后,可根据该业务请求标识的排列顺序(即业务请求标识队列中各业务请求标识的排列顺序)以及各子特征值,确定出各业务请求在整体上唯一对应的一个特征值,继而将该特征值与该预处理块中的待验证总特征值进行对比,当这两个特征值相同时,则可确定出第一区块链节点所要共识的这些业务请求在内容上没有发生过篡改,即,确定这些业务请求通过哈希完整性验证,其中,第二区块链节点在确定各业务请求标识的排列顺序时,可通过该预处理块中包含的各业务请求标识的排列顺序进行确定。
各第二区块链节点可按照上述方法对上述预处理块进行哈希完整性验证,并分别得到各自针对该预处理块的校验结果,随后,各第二区块链节点可将各自得到的校验结果以广播的形式发送给共识网络中的其他区块链节点,而共识网络中的各区块链节点接收到相互广播的各校验结果后,可通过接收到的各校验结果以及自身得到的校验结果,得到共识网络中各区块链节点针对该预处理块是否通过校验的综合校验结果,并将得到的综合校验结果再次广播给整个共识网络中的其他区块链节点。
共识网络中的各区块链节点接收到相互广播的综合校验结果后,可进一步判断整个共识网络中,各区块链节点得出的各综合校验结果大部分是否均为校验通过,若是,则将该预处理块包含的各业务请求标识所对应的业务请求写入到一个区块中进行存储,并进一步将该区块按照时序写入到自身保存的区块链中;若否,则确定该预处理块所对应的各业务请求未通过共识网络的共识校验,并拒绝将各业务请求写入到区块链中。
当区块链节点(这里提到的区块链节点即可以是第一区块链节点,也可以是第二区块链节点)将所述各业务请求以区块的形式存储在区块链中后,可将这些业务请求在各自业务存储器中所占用的存储空间进行释放,并将这些业务请求转移至用于保存历史业务请求的数据库中。
从上述方法可以看出,第一区块链节点在接收到客户端发送的业务请求后,可对该业务请求进行第一安全性验证,并在确定该业务请求通过第一安全性验证后,将该业务请求进行存储,而后,第一区块链节点可对自身的至少一个业务请求进行预处理,得到预处理块,并将该预处理块进行存储,这样一来,第一区块链节点在进行共识校验的过程中,可直接将先前在共识校验阶段之前得到的预处理块捞取出来,并将该预处理块广播给共识网络中的其他区块链节点进行共识校验,继而极大的简化了共识校验阶段的过程,缩短了共识校验阶段的耗时,从而提高了区块链节点的共识校验效率,进而在一定程度上提高了区块链业务的共识校验效率。
需要说明的是,为了进一步的提升区块链业务的业务处理效率,在本申请实施例中,共识网络中的各区块链节点(即第一区块链节点以及各第二区块链节点)也可通过服务器集群来接收、存储、验证、预处理上述业务请求,换句话说,在现有技术中,区块链节点通常都是由一个单一的设备组成的,而在本申请实施例中,区块链节点也可以是一个服务器集群,服务器集群中的各服务器可以地位等同,也可设有专门处理指定任务的服务器,而服务器集群中的各服务器可共享相同的节点配置,如,各服务器可共享一个节点身份标识号码(Identity、ID)、点对点路由表、节点非对称公私钥等节点配置,因此,在外界看来,服务器集群中各服务器所发出的动作以及指令均可以看出是从一个区块链节点中发出的,服务器集群示意图如下图所示。
图4为本申请实施例提供的服务器集群的示意图。
图4中展示了第一区块链节点的服务器集群架构,在该服务器集群中存在一个具有路由功能的设备,该具有路由功能的设备负责将用户终端发送的业务请求分配至该服务器集群中的一个服务器中。其中,该具有路由功能的设备可以通过随机分配的方式将该业务请求分配至该服务器集群中的一个服务器上,也可通过负载均衡的方式将该业务请求分配至该服务器集群中的服务器中,所以,该具有路由功能的设备也可以是一个负载均衡设备。而服务器集群中的服务器接收到该业务请求后,可对该业务请求进行第一安全性验证,并在确定出该业务请求通过第一安全性验证,将该业务请求存储在第一区块链节点所对应的业务存储器中,其中,第一区块链节点的服务器集群可对应一个业务存储器。当然,服务器集群中的服务器各自也可对应有一个业务存储器,此时,第一区块链节点将对应有多个业务存储器。
服务器集群中的服务器可从业务存储器中捞取一定数量的业务请求,并对该业务请求进行预处理,得到预处理块,而后,该服务器可将得到的预处理块存储在第一区块链节点所对应的业务存储器中,以备后续共识校验中所使用,其中,该服务器可以是先前负载均衡设备选取的用于接收客户端发送的业务请求的服务器(或是通过具有路由功能的设备选取的服务器),也可以是重新从第一区块链节点包含的多个服务器中选取出的服务器。
需要说明的是,当服务器集群中的某一服务器从上述业务存储器中捞取一定数量的业务请求时,可直接将这些业务请求转移至该服务器中进行预处理,这样,服务器集群中的其他服务器将无法从业务存储器中捞取这些业务请求,从而避免这些业务请求被服务器集群中的服务器重复预处理的情况发生。
当然,服务器集群中的某一服务器在捞取这些业务请求的过程中,也可将这些业务请求在业务存储器中进行标记,这样,服务器集群中的其他服务器一旦在业务存储器中查看到被标记的业务请求,则不对该业务请求进行预处理。除此之外,服务器集群中的服务器也可通过其他的方式来放置业务请求被重复预处理的情况发生,在此就不一一举例说明了。
在共识校验过程中,服务器集群中的服务器可从第一区块链节点所对应的业务存储器中捞取先前预处理各业务请求所得到的预处理块,并将该预处理块通过网关发送至共识网络中的其他区块链节点(即各第二区块链节点),而各第二区块链节点接收到该预处理块后,可通过各自的负载均衡设备(或是具有路由功能的设备),将该预处理块分配至自身服务器集群中的一个服务器,并通过该服务器来对该预处理块进行共识校验。
其中,从业务存储器中捞取上述预处理块的服务器可以是服务器集群中任意一个服务器,选取服务器的工作可以由负载均衡设备通过负载均衡的方式来决定(或是由具有路由功能的设备来选取),也可以由服务器集群中的一个指定服务器来决定,抑或是服务器集群中的各服务器可分别设有一个共识周期,不同服务器的共识周期不同,换句话说,不同服务器的共识周期在时间上是错开的。对于服务器集群中的每个服务器来说,该服务器可每经过一段时间(即自身对应的共识周期),则自动从第一区块链节点对应的业务存储器中捞取先前得到的预处理块,并通过网关将该预处理块广播至共识网络中的各第二区块链节点中。除此之外,预处理块的捞取工作也可由服务器集群中一个指定的服务器来负责,而其他服务器则不参与预处理块的捞取工作。
从上述图4中可以看出,整个服务器集群就相当于是第一区块链节点,由于第一区块链节点的服务器数量从单一服务器转变成服务器集群的模式,所以无论在服务器压力上还是业务处理效率上均得到了明显的提升,从而为后续用户数量增加所带来的服务压力加大提供了有效的应对措施。
需要说明的是,上述图4中除了可以通过具有路由功能的设备(或负载均衡设备)从第一区块链节点中包含的多个服务器中选取服务器来完成指定任务外,也可通过诸如网关的形式来实现,若通过网关来实现服务器的选取工作,则该网关可以通过负载均衡的方式从第一区块链节点包含的多个服务器中选取出一个服务器来完成指定任务,也可采用随机选取的方式,当然也可采用其他的方式来实现服务器的选取工作,在此就不一一举例说明了。
而通过上述具有路由功能的设备(或是负载均衡设备)选取出的服务器在接收到客户端发送业务请求后,该具有路由功能的设备可重新从第一区块链节点包含的多个服务器中选取出用于存储该业务请求的服务器,并通过接收该业务请求的服务器将该业务请求发送至选取出的用于存储该业务请求的服务器,进而通过存储该业务请求的服务器实现该业务请求的存储。当然,第一区块链节点通过该具有路由功能的设备(或是负载均衡设备)选取出的服务器进行业务请求的预处理工作时,同样可采用这种方式,即,当选取出的服务器完成业务请求的预处理工作后,该具有路由功能的设备可从第一区块链节点包含的多个服务器中重新确定出一个服务器,并通知完成业务请求预处理工作的服务器将得到的预处理块发送至重新确定出的服务器,以通过重新确定出的服务器将该预处理块存储在第一区块链节点包含的业务存储器中。
上述图4中仅仅以第一区块链节点的服务器集群举例说明了服务器集群在区块链业务中是如何工作的,而共识网络中各第二区块链节点的服务器集群可与上述说明的服务器集群相同,而在一些处理过程中也与上述第一区块链节点的服务器集群相似,在此就不进行详细赘述了。
还需说明的是,在本申请实施例中,整个共识网络可以是联盟链的共识网络,而各区块链节点则可以是联盟链中的各区块链节点。
以上为本申请实施例提供的共识校验方法,基于同样的思路,本申请实施例还提供两种共识校验的装置,如图5、6所示。
图5为本申请实施例提供的一种共识校验的装置示意图,具体包括:
接收模块501,接收终端发送的业务请求并对所述业务请求进行第一安全性验证;
存储模块502,当确定所述业务请求通过所述第一安全性验证时,存储所述业务请求,并将所述业务请求广播给各第二区块链节点,以使所述各第二区块链节点在确定所述业务请求通过第二安全性验证时存储所述业务请求;
预处理模块503,在确定满足预设条件时,对存储的至少一个业务请求进行预处理,得到预处理块并存储;
捞取模块504,在进行共识校验时,捞取预处理块并广播给共识网络中的各第二区块链节点,以通过所述各第二区块链节点对捞取的预处理块进行共识校验。
所述第一安全性验证包括:非对称签名合法验证。
所述存储模块502,当确定所述业务请求未通过所述第一安全性验证时,则不对所述业务请求进行存储。
所述预处理模块503,当监测到经过设定时间周期时,则确定满足所述预设条件。
所述预处理模块503,按照预设的特征值确定规则,确定所述至少一个业务请求对应的待验证特征值;将所述至少一个业务请求对应的各业务请求标识以及所述待验证特征值打包成预处理块。
图6为本申请实施例提供的另一种共识校验的装置示意图,具体包括:
接收请求模块601,接收第一区块链节点广播的业务请求并对所述业务请求进行第二安全性验证;
请求存储模块602,当确定所述业务请求通过所述安全性验证时,存储所述业务请求;
校验模块603,当接收到所述第一区块链节点广播的预处理块时,则对所述预处理块进行共识校验。
所述第二安全性验证包括:非对称签名合法验证。
所述请求存储模块602,当确定所述业务请求未通过所述第二安全性验证时,则不对所述业务请求进行存储。
所述校验模块603,当接收到所述第一区块链节点广播的预处理块时,则从自身存储的各业务请求中查找与所述预处理块中包含的各业务请求标识对应的各业务请求,并根据预设的特征值确定规则,确定各业务请求对应的特征值;通过所述特征值,对所述预处理块中包含的待验证特征值进行共识校验。
在本申请实施例中,第一区块链节点在接收到客户端发送的业务请求后,可对该业务请求进行第一安全性验证,并在确定该业务请求通过第一安全性验证后,将该业务请求存储在自身中,而后,第一区块链节点可对自身存储的各业务请求中的至少一个业务请求进行预处理,得到预处理块,并将该预处理块进行存储,这样一来,第一区块链节点在进行共识校验的过程中,可直接从存储的各预处理块中捞取预处理块,并将该预处理块广播给共识网络中的其他区块链节点进行共识校验,继而极大的简化了共识校验阶段的过程,缩短了共识校验阶段的耗时,从而提高了区块链节点的共识校验效率。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (29)

1.一种共识校验的方法,其特征在于,包括:
第一区块链节点接收客户端发送的业务请求并对所述业务请求进行第一安全性验证;
当确定所述业务请求通过所述第一安全性验证时,存储所述业务请求,并将所述业务请求广播给各第二区块链节点,以使所述各第二区块链节点在确定所述业务请求通过第二安全性验证时存储所述业务请求;
在确定满足预设条件时,对存储的至少一个业务请求进行预处理,得到预处理块并存储;
在进行共识校验时,捞取预处理块并广播给共识网络中的各第二区块链节点,以通过所述各第二区块链节点对捞取的预处理块进行共识校验;
对存储器的至少一个业务请求进行预处理,得到预处理块并存储,具体包括:
按照预设的特征值确定规则,确定所述至少一个业务请求对应的待验证特征值;
将所述至少一个业务请求对应的各业务请求标识以及所述待验证特征值打包成预处理块并存储。
2.如权利要求1所述的方法,其特征在于,所述第一安全性验证包括:非对称签名合法验证。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
当确定所述业务请求未通过所述第一安全性验证时,则不对所述业务请求进行存储。
4.如权利要求1所述的方法,其特征在于,确定满足预设条件,具体包括:
当监测到经过设定时间周期时,则确定满足所述预设条件。
5.如权利要求1~4任一所述的方法,其特征在于,所述第一区块链节点中包含多个服务器、至少一个业务存储器。
6.如权利要求5所述的方法,其特征在于,第一区块链节点接收客户端发送的业务请求并对所述业务请求进行第一安全性验证,具体包括:
从所述第一区块链节点包含的多个服务器中选取服务器;
通过选取出的所述服务器接收客户端发送的业务请求并对所述业务请求进行第一安全性验证;
存储所述业务请求,具体包括:
通过选取出的所述服务器将所述业务请求存储在所述第一区块链节点包含的业务存储器中。
7.如权利要求6所述的方法,其特征在于,所述第一区块链节点还包含负载均衡设备;
从所述第一区块链节点包含的多个服务器中选取服务器,具体包括:
通过所述负载均衡设备从所述第一区块链节点包含的多个服务器中选取服务器。
8.如权利要求7所述的方法,其特征在于,对存储的至少一个业务请求进行预处理,得到预处理块并存储,具体包括:
通过所述负载均衡设备从所述第一区块链节点包含的多个服务器中选取服务器;
通过选取出的服务器对存储的至少一个业务请求进行预处理,得到预处理块,并将所述预处理块存储在所述业务存储器中。
9.如权利要求7所述的方法,其特征在于,捞取预处理块并广播给共识网络中的各第二区块链节点,具体包括:
通过所述负载均衡设备从所述第一区块链节点包含的多个服务器中选取服务器;
通过选取出的所述服务器从所述业务存储器中捞取预处理块并广播给共识网络中的各第二区块链节点。
10.一种共识校验的方法,其特征在于,包括:
第二区块链节点接收第一区块链节点广播的业务请求并对所述业务请求进行第二安全性验证;
当确定所述业务请求通过所述第二安全性验证时,存储所述业务请求;
当接收到所述第一区块链节点广播的预处理块时,则对所述预处理块进行共识校验;
对所述预处理块进行共识校验,具体包括:
当接收到所述第一区块链节点广播的预处理块时,则从自身存储的各业务请求中查找与所述预处理块中包含的各业务请求标识对应的各业务请求,并根据预设的特征值确定规则,确定各业务请求对应的特征值;
通过所述特征值,对所述预处理块中包含的待验证特征值进行共识校验。
11.如权利要求10所述的方法,其特征在于,所述第二安全性验证包括:非对称签名合法验证。
12.如权利要求10所述的方法,其特征在于,所述方法还包括:
当确定所述业务请求未通过所述第二安全性验证时,则不对所述业务请求进行存储。
13.如权利要求10~12任一所述的方法,其特征在于,所述第二区块链节点包含有多个服务器、至少一个业务存储器。
14.如权利要求13所述的方法,其特征在于,第二区块链节点接收第一区块链节点广播的业务请求并对所述业务请求进行第二安全性验证,具体包括:
从所述第二区块链节点包含的多个服务器中选取服务器;
通过选取出的所述服务器接收第一区块链节点广播的业务请求并对所述业务请求进行第二安全性验证;
存储所述业务请求,具体包括:
通过选取出的所述服务器将所述业务请求存储在所述第二区块链节点包含的业务存储器中。
15.如权利要求13所述的方法,其特征在于,所述第二区块链节点还包含负载均衡设备;
从所述第二区块链节点包含的多个服务器中选取服务器,具体包括:
通过所述负载均衡设备从所述第二区块链节点包含的多个服务器中选取服务器。
16.如权利要求15所述的方法,其特征在于,接收所述第一区块链节点广播的预处理块,具体包括:
通过所述负载均衡设备从所述第二区块链节点包含的多个服务器中选取出服务器;
通过选取出的所述服务器接收所述第一区块链节点广播的预处理块。
17.一种共识校验的装置,其特征在于,包括:
接收模块,接收客户端发送的业务请求并对所述业务请求进行第一安全性验证;
存储模块,当确定所述业务请求通过所述第一安全性验证时,存储所述业务请求,并将所述业务请求广播给各第二区块链节点,以使所述各第二区块链节点在确定所述业务请求通过第二安全性验证时存储所述业务请求;
预处理模块,在确定满足预设条件时,对存储的至少一个业务请求进行预处理,得到预处理块并存储;
捞取模块,在进行共识校验时,捞取预处理块并广播给共识网络中的各第二区块链节点,以通过所述各第二区块链节点对捞取的预处理块进行共识校验;
所述预处理模块,按照预设的特征值确定规则,确定所述至少一个业务请求对应的待验证特征值;将所述至少一个业务请求对应的各业务请求标识以及所述待验证特征值打包成预处理块。
18.如权利要求17所述的装置,其特征在于,所述第一安全性验证包括:非对称签名合法验证。
19.如权利要求17所述的装置,其特征在于,所述存储模块,当确定所述业务请求未通过所述第一安全性验证时,则不对所述业务请求进行存储。
20.如权利要求17所述的装置,其特征在于,所述预处理模块,当监测到经过设定时间周期时,则确定满足所述预设条件。
21.一种区块链节点,其特征在于,包括:多个如权利要求17~20所述的装置、至少一个业务存储器。
22.如权利要求21所述的区块链节点,其特征在于,所述装置,接收客户端发送的业务请求并对所述业务请求进行第一安全性验证,将所述业务请求存储在所述区块链节点包含的业务存储器中,对存储在所述业务存储器中的至少一个业务请求进行预处理,得到预处理块,并将所述预处理块存储在所述业务存储器中,从所述业务存储器中捞取预处理块并广播给共识网络中的各第二区块链节点。
23.如权利要求21所述的区块链节点,其特征在于,所述区块链节点还包含负载均衡设备;
所述负载均衡设备,从所述区块链节点包含的多个所述装置中选取接收客户端发送的业务请求的装置,从所述区块链节点包含的多个所述装置中选取对存储的至少一个业务请求进行预处理的装置,从所述区块链节点包含的多个所述装置中选取从所述业务存储器中捞取预处理块并广播给共识网络中各第二区块链节点的装置。
24.一种共识校验的装置,其特征在于,包括:
接收请求模块,接收第一区块链节点广播的业务请求并对所述业务请求进行第二安全性验证;
请求存储模块,当确定所述业务请求通过所述第二安全性验证时,存储所述业务请求;
校验模块,当接收到所述第一区块链节点广播的预处理块时,则对所述预处理块进行共识校验;
所述校验模块,当接收到所述第一区块链节点广播的预处理块时,则从自身存储的各业务请求中查找与所述预处理块中包含的各业务请求标识对应的各业务请求,并根据预设的特征值确定规则,确定各业务请求对应的特征值;通过所述特征值,对所述预处理块中包含的待验证特征值进行共识校验。
25.如权利要求24所述的装置,其特征在于,所述第二安全性验证包括:非对称签名合法验证。
26.如权利要求24所述的装置,其特征在于,所述请求存储模块,当确定所述业务请求未通过所述第二安全性验证时,则不对所述业务请求进行存储。
27.一种区块链节点,其特征在于,包括:多个如权利要求24~26所述的装置,至少一个业务存储器。
28.如权利要求27所述的区块链节点,其特征在于,所述装置,接收第一区块链节点广播的业务请求并对所述业务请求进行第二安全性验证,当确定所述业务请求通过所述第二安全性验证时,将所述业务请求存储在所述区块链节点包含的业务存储器中,接收第一区块链节点广播的预处理块。
29.如权利要求27所述的区块链节点,其特征在于,所述区块链节点还包含负载均衡设备;
所述负载均衡设备,从所述区块链节点包含的多个所述装置中选取接收第一区块链节点发送的业务请求的装置,从所述区块链节点包含的多个所述装置中选取接收第一区块链节点广播的预处理块的装置。
HK18103909.4A 2018-03-21 一种共识校验的方法及装置 HK1244599B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
HK18103909.4A HK1244599B (zh) 2018-03-21 一种共识校验的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
HK18103909.4A HK1244599B (zh) 2018-03-21 一种共识校验的方法及装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
HK42021026416.4A Division HK40036395A (zh) 2018-03-21 一种共识校验的方法及装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
HK42021026416.4A Addition HK40036395A (zh) 2018-03-21 一种共识校验的方法及装置

Publications (2)

Publication Number Publication Date
HK1244599A1 HK1244599A1 (zh) 2018-08-10
HK1244599B true HK1244599B (zh) 2021-04-01

Family

ID=

Similar Documents

Publication Publication Date Title
TWI685764B (zh) 共識校驗的方法及裝置
KR102315306B1 (ko) 비즈니스 검증 방법 및 장치
CN107592292B (zh) 一种区块链节点间通信方法及装置
CN107196989A (zh) 一种业务请求的处理方法及装置
CN111211911B (zh) 一种协同签名方法、装置、设备及系统
WO2024092932A1 (zh) 交易执行方法和区块链节点
CN114862380B (zh) 额度共享处理方法及装置
HK1244599B (zh) 一种共识校验的方法及装置
HK1241594B (zh) 一种业务校验的方法及装置
HK40040423B (zh) 一种业务校验的方法及装置
HK1247454B (zh) 一种业务受理及共识的方法及装置
HK1244599A1 (zh) 一种共识校验的方法及装置
HK40036395A (zh) 一种共识校验的方法及装置
HK40037938B (zh) 一种业务请求的处理方法及装置
HK1241594A (zh) 一種業務校驗的方法及裝置
HK1241594A1 (zh) 一种业务校验的方法及装置
HK1247457B (zh) 一种区块链业务受理及业务共识方法及装置
HK1246533B (zh) 一种区块链共识方法、设备及系统