基于区块链的异步共识方法及系统及装置及介质
技术领域
本发明涉及数据安全领域,具体涉及基于区块链的异步共识方法及系统及装置及介质。
背景技术
区块链根据访问权限,通常可以分为公有链、联盟链和私有链。公有链是指任何人都可以根据协议接入并参共识的区块链;联盟链是指共识过程受到预选节点控制的区块链;私有链是指权限在一个组织中,并受该组织完全控制的区块链。
区块链在技术层面,通常分为共识算法、密码学、P2P网络等几个大的技术点。其中共识算法是区块链项目中最核心的部分,有分布式,就需要达成共识。
蜜獾拜占庭容错(HoneyBadgerBFT)作为一种异步网络的BFT共识协议,不依赖于任何关于网络环境的时间假设,与传统的实用拜占庭容错(PBFT,PracticalByzantineFault Tolerance)共识协议相比,HoneyBadgerBFT具有更高的处理效率,因此被越来越多的机构认可。
现有的区块链共识方法通常需要在共识过程中与大多数节点连接,获取投票。节点对网体依赖较大,很难提高系统数据传输效率;其次,在实际的数据共享应用过程中,特别是数据生产、存储、共享涉及到多方的状态下,数据的生产结果、存储结果受到攻击、篡改等风险影响时,数据真实性的可信度较差,即使利用举证方的权威性强制在非数学证明层次推动其他参与方的信任,其信任结果也缺乏科学性、公共性。
发明内容
本发明的目的在于针对数据库记录类型的数据,提出了多方对数据库字段及记录值依据约定的规则计算取值的方法,在高效率下实现共识共认。
为实现上述发明目的,本发明提供了基于区块链的异步共识方法,包括:
请求方获取目标数据,并将共识请求发送给参与方;
请求方根据目标数据,获取目标数据的第一参数数据和第二参数数据;
请求方将目标数据、第一参数数据和第二参数数据打包成第一区块并添加到区块链中,并将所述第一区块在区块链中广播;
参与方接收并验证第一区块,将其作为共识数据源进行共识,得到共识结果。
其中,获取目标数据的第一参数数据和第二参数数据,具体包括:
获取目标数据的接口参数和读取参数作为第一数据参数;
获取目标数据的哈希值作为第二数据参数。
其中,参与方接收并验证第一区块,具体包括:
请求方将目标数据、第一参数数据和第二参数数据打包成第一区块,请求方对第一区块进行签名;
参与方接受到共识请求和第一区块的公钥;
参与方根据公钥获取第一区块中的目标数据、第一参数数据和第二参数数据;
参与方根据第一参数数据和第二参数数据获取待验证的目标数据;
比较目标数据和待验证的目标数据,若一致,则验证通过;
若不一致,则参与方重新获取第一区块。
其中,参与方接收并验证第一区块,将其作为共识数据源进行共识,得到共识结果;
参与方接收并验证第一区块,获取验证通过的参与方的数量;
若验证通过的参与方的数量大于或等于所有参与方数量的50%,则该第一区块为共识结果。
其中,参与方接收并验证第一区块;若验证通过,则生成有效结果,并传输给下一个参与方;若验证不通过,则重新接收并验证第一区块。
与本发明中的方法对应,本发明还提供了基于区块链的异步共识系统,包括获取模块、参数模块、第一验证模块、第二验证模块和共识模块;
获取模块用于获取目标数据;
参数模块用于根据目标数据获取第一数据参数和第二数据参数,并将目标数据、第一参数数据和第二参数数据打包成第一区块并添加到区块链中;
第一验证模块用于验证第一区块,并获取通过验证的第一区块中的目标数据、第一参数数据和第二参数数据;
第二验证模块用于根据第一参数数据和第二参数数据获取待验证目标数据,并通过验证目标数据来验证目标数据;
共识模块用于根据第二验证模块得到共识结果。
其中,还包括广播模块,广播模块用于传输第一区块。
其中,第一数据参数为目标数据的接口参数和读取参数;第二数据参数为目标数据的哈希值。
与本发明中的方法对应,本发明还提供了一种电子装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于区块链的异步共识方法的步骤。
与本发明中的方法对应,本发明还提供了一种存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述基于区块链的异步共识方法的步骤。
本发明提供的一个或多个技术方案,至少具有如下技术效果或优点:本发明能快速得到共识结果,计算效率高,并且可信度更高,有效地提高了使用效率。
附图说明
此处所说明的附图用来提供对本发明实施例的进一步理解,构成本申请的一部分,并不构成对本发明实施例的限定。在附图中:
图1为基于区块链的异步共识方法的流程示意图;
图2为基于区块链的异步共识系统的组成示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在相互不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述范围内的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
本领域技术人员应理解的是,在本发明的揭露中,术语“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系是基于附图所示的方位或位置关系,其仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此上述术语不能理解为对本发明的限制。
可以理解的是,术语“一”应理解为“至少一”或“一个或多个”,即在一个实施例中,一个元件的数量可以为一个,而在另外的实施例中,该元件的数量可以为多个,术语“一”不能理解为对数量的限制。
请参考图1,图1为基于区块链的异步共识方法的流程示意图,本发明提供了基于区块链的异步共识方法,所述方法包括:
请求方获取目标数据,并将共识请求发送给参与方;
请求方根据目标数据,获取目标数据的第一参数数据和第二参数数据;
请求方将目标数据、第一参数数据和第二参数数据打包成第一区块并添加到区块链中,并将所述第一区块在区块链中广播;
参与方接收并验证第一区块,将其作为共识数据源进行共识,得到共识结果。
获取目标数据的第一参数数据和第二参数数据,具体包括:
获取目标数据的接口参数和读取参数作为第一数据参数;
获取目标数据的哈希值作为第二数据参数。
参与方接收并验证第一区块,具体包括:
请求方将目标数据、第一参数数据和第二参数数据打包成第一区块,请求方对第一区块进行签名;
参与方接受到共识请求和第一区块的公钥;
参与方根据公钥获取第一区块中的目标数据、第一参数数据和第二参数数据;
参与方根据第一参数数据和第二参数数据获取待验证的目标数据;
比较目标数据和待验证的目标数据,若一致,则验证通过;
若不一致,则参与方重新获取第一区块。
参与方接收并验证第一区块,将其作为共识数据源进行共识,得到共识结果;
参与方接收并验证第一区块,获取验证通过的参与方的数量;
若验证通过的参与方的数量大于或等于所有参与方数量的50%,则该第一区块为共识结果。
参与方接收并验证第一区块;
若验证通过,则生成有效结果,并传输给下一个参与方;
若验证不通过,则重新接收并验证第一区块。
实施例二
请参考图2,图2为基于区块链的异步共识系统的组成示意图,本发明实施例二提供了基于区块链的异步共识系统,在实施例1的基础上,所述系统包括:包括获取模块、参数模块、第一验证模块、第二验证模块和共识模块;
获取模块用于获取目标数据;
参数模块用于根据目标数据获取第一数据参数和第二数据参数,并将目标数据、第一参数数据和第二参数数据打包成第一区块并添加到区块链中;
第一验证模块用于验证第一区块,并获取通过验证的第一区块中的目标数据、第一参数数据和第二参数数据;
第二验证模块用于根据第一参数数据和第二参数数据获取待验证目标数据,并通过验证目标数据来验证目标数据;
共识模块用于根据第二验证模块得到共识结果。
此外,本系统还包括广播模块,广播模块用于传输第一区块。其中,第一数据参数为目标数据的接口参数和读取参数;第二数据参数为目标数据的哈希值。
在本发明实施例二中,所述第二验证模块的具体方式为:第二验证模块根据第一参数数据和第二参数数据获取待验证目标数据,然后将待验证目标数据与第一区块中获取的目标数据进行对比,若一致则验证通过,反之验证不通过。
实施例三
本发明实施例三提供了一种电子装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述基于区块链的异步共识方法的步骤。
其中,所述处理器可以是中央处理器,还可以是其他通用处理器、数字信号处理器、专用集成电路、现成可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的数据,实现发明中基于区块链的异步共识装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等。此外,存储器可以包括高速随机存取存储器、还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡,安全数字卡,闪存卡、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
实施例四
本发明实施例四提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述基于区块链的异步共识方法的步骤。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ReadOnlyMemory,ROM)、可擦式可编程只读存储器((ErasableProgrammableReadOnlyMemory,EPROM)或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:一种文件校验方法及系统