CN109447810B - 并行区块链共识方法、***、电子设备和计算机可读存储介质 - Google Patents

并行区块链共识方法、***、电子设备和计算机可读存储介质 Download PDF

Info

Publication number
CN109447810B
CN109447810B CN201811440414.0A CN201811440414A CN109447810B CN 109447810 B CN109447810 B CN 109447810B CN 201811440414 A CN201811440414 A CN 201811440414A CN 109447810 B CN109447810 B CN 109447810B
Authority
CN
China
Prior art keywords
consensus
result
nodes
consensus node
submission
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.)
Active
Application number
CN201811440414.0A
Other languages
English (en)
Other versions
CN109447810A (zh
Inventor
谢晗剑
宁志伟
俞波
王晓亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Rivtower Technology Co Ltd
Original Assignee
Cryptape Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Cryptape Co ltd filed Critical Cryptape Co ltd
Priority to CN201811440414.0A priority Critical patent/CN109447810B/zh
Publication of CN109447810A publication Critical patent/CN109447810A/zh
Application granted granted Critical
Publication of CN109447810B publication Critical patent/CN109447810B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Engineering & Computer Science (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Retry When Errors Occur (AREA)

Abstract

本发明公开了一种并行区块链共识方法、***、电子设备和计算机可读存储介质。其中,方法包括:在一轮共识开始时,确定共识节点中的提议者,提议者将提议区块广播给其他共识节点;每个共识节点对接收到的提议区块进行预投票后,对其他的共识节点广播其预投票结果的同时,每个共识节点对校验模块发送校验请求;每个共识节点根据收到的预投票结果得到该共识节点的预提交结果;每个共识节点接收校验模块发送的校验结果,如果校验成功,则将预提交结果广播给其他共识节点;如果校验失败,则发送空块的预提交结果给其他共识节点;每个共识节点根据接收到的预提交结果得到该共识节点的共识结果。

Description

并行区块链共识方法、***、电子设备和计算机可读存储介质
技术领域
本发明属于区块链技术领域,具体涉及一种并行区块链共识方法、***、电子设备和计算机可读存储介质。
背景技术
区块链技术也称为分布式账本技术,本质上是一种去中心化的分布式互联网数据库。在区块链技术中,共识机制是区块链网络中实现不同区块链节点之间建立信任,获取权益的重要方法。
当前区块链***大多采用先执行再共识再执行的方式,其中的共识方法大多采用三阶段协议,即预准备阶段,准备阶段和提交阶段。在准备阶段之前,区块链***的打包交易模块将交易数据打包传给共识模块进行共识。在共识的提交阶段之后,共识模块将共识后的交易提交给执行模块进行执行,对执行结果还需要再一次进行共识。在整个过程中,在共识的三阶段协议的过程中,执行模块都处在空闲状态。而在打包交易模块将交易打包的过程中和执行模块的执行过程中,共识模块也处于空闲状态,区块链***的效率较低。
对此,本发明提出了一种并行区块链共识方法、***、电子设备和计算机可读存储介质,将共识模块的运行和打包交易模块还有执行模块的运行并行,以提高区块链***的效率。
发明内容
为克服上述技术问题或至少部分地解决上述技术问题,特提出以下技术方案:
第一方面,本申请实施例提供一种并行区块链共识方法,包括以下步骤:
在一轮共识开始时,确定共识节点中的提议者,提议者将提议区块广播给其他共识节点;
每个共识节点对接收到的提议区块进行预投票后,对其他的共识节点广播其预投票结果的同时,每个共识节点对校验模块发送校验请求;
每个共识节点根据收到的预投票结果得到该共识节点的预提交结果;
每个共识节点接收校验模块发送的校验结果,如果校验成功,则将所述预提交结果广播给其他共识节点;如果校验失败,则发送空块的预提交结果给其他共识节点;
每个共识节点根据接收到的预提交结果得到该共识节点的共识结果。
优选地,所述预投票结果包括两种类型:空块和合法;
所述共识节点在预设时间内没有收到所述提议或收到不合法提议时,则所述预投票结果为空块;所述共识节点在预设时间内收到合法提议时,则所述预投票结果为合法;
每个共识节点根据接收到的预投票结果得到该共识节点的预提交结果,具体包括:
每个共识节点对所述接收到的预投票结果按照类型进行数量统计,其数量达到共识节点总数预设比例的类型即为所述该共识节点的预提交结果。
优选地,每个共识节点根据接收到的预提交结果得到该共识节点的共识结果,具体包括:
每个共识节点对接收到的预提交结果的类型进行数量统计,当合法类型的数量达到所述共识节点总数预设比例时,则共识成功;当空块类型的数量达到所述共识节点总数预设比例时,则共识失败。
优选地,其中,所述共识节点总数预设比例为三分之二。
优选地,所述共识节点中提议者的共识结果为成功时,所述提议者将所述提议区块发送给执行模块,以得到执行结果;当所述共识节点中的提议者的共识结果为共识失败时,则进入下一轮共识。
优选地,所述执行结果将随固定延迟高度上的提议区块一起,进行新一轮的提议和共识。
第二方面,本发明实施例还提供了一种并行区块链共识***,包括校验模块和包含多个共识节点的共识模块,
在一轮共识开始时,确定共识节点中的提议者,提议者将提议区块广播给其他共识节点;
每个共识节点对接收到的提议区块进行预投票后,对其他的共识节点广播其预投票结果的同时,每个共识节点对校验模块发送校验请求;
每个共识节点根据收到的预投票结果得到该共识节点的预提交结果;
每个共识节点接收校验模块发送的校验结果,如果校验成功,则将所述预提交结果广播给其他共识节点;如果校验失败,则发送空块的预提交结果给其他共识节点;
每个共识节点根据接收到的预提交结果得到该共识节点的共识结果。
优选地,所述预投票结果包括两种类型:空块和合法;
所述共识节点在预设时间内没有收到所述提议或收到不合法提议时,则所述预投票结果为空块;所述共识节点在预设时间内收到合法提议时,则所述预投票结果为合法;
每个共识节点根据接收到的预投票结果得到该共识节点的预提交结果,具体包括:
每个共识节点对所述接收到的预投票结果按照类型进行数量统计,其数量达到共识节点总数预设比例的类型即为所述该共识节点的预提交结果。
优选地,每个共识节点根据接收到的预提交结果得到该共识节点的共识结果,具体包括:
每个共识节点对接收到的预提交结果的类型进行数量统计,当合法类型的数量达到所述共识节点总数预设比例时,则共识成功;当空块类型的数量达到所述共识节点总数预设比例时,则共识失败。
优选地,其中,所述共识节点总数预设比例为三分之二。
优选地,进一步包括执行模块,所述共识节点中提议者的共识结果为成功时,所述提议者将所述提议区块发送给执行模块,以得到执行结果;当所述共识节点中的提议者的共识结果为共识失败时,则进入下一轮共识。
优选地,进一步包括打包交易模块,所述打包交易模块将所述执行结果随固定延迟高度上的提议区块一起打包,进行新一轮的提议和共识。
第三方面,还提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行上述的并行区块链共识方法。
第四方面,还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述的并行区块链共识方法。
采用本发明具有如下的有益效果:
1、校验模块的校验过程与共识节点发送和接收预投票的过程并行执行,提升了交易的处理能力;
2、在共识的提交阶段将区块发送给执行模块进行执行,对执行结果的共识跟随固定延迟高度上提议区块一起进行新一轮的提议和共识,提高了***的执行效率。
附图说明
图1为本发明第一实施例的并行的区块链共识方法的流程图;
图2为本发明第二实施例的并行的区块链共识方法的流程图;
图3为本发明第三实施例的并行的区块链共识***的***框图;
图4为本发明第四实施例的并行的区块链共识***的***框图;
图5为本发明实施例的电子设备的结构示意图;
图6为本发明实施例的区块链共识装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,本发明第一实施例公开了一种并行区块链共识方法,包括以下步骤:
S101,在一轮共识开始时,确定共识节点中的提议者,提议者将提议区块广播给其他共识节点。
具体的,每一个共识节点都通过确定性算法确定自己是不是提议者。以此设置,共识节点可唯一确定一个提议者。具体应用实例中,提议区块可包含多个交易的提议区块。
S102,每个共识节点对接收到的提议区块进行预投票后,对其他的共识节点广播其预投票结果的同时,每个共识节点对校验模块发送校验请求。
具体应用实例中,预投票有三种情况:一定时间内没收到提议的共识节点,其预投票结果为:空块;收到不合法提议的共识节点,其预投票结果为:空块;收到合法提议的共识节点,其预投票结果为:合法。即共识节点在预设时间内没有收到提议或提议不合法时,预投票结果为空块;共识节点在预设时间内收到合法提议时,则预投票结果为合法。
S103,每个共识节点根据收到的预投票结果得到该共识节点的预提交结果。
具体应用实例中,包括:每个共识节点对接收到的预投票结果按照类型进行数量统计,其数量达到共识节点总数预设比例的类型即为所述该共识节点的预提交结果。
S104,每个共识节点接收校验模块发送的校验结果,如果校验成功,则将预提交结果广播给其他共识节点;如果校验失败,则发送空块的预提交结果给其他共识节点。
根据前述技术方案描述可知,空块的预提交结果有两种来源:一是共识节点得到了空块的预提交结果,且校验成功;又一是共识节点得到了合法的预提交结果,但校验失败。
S105,每个共识节点根据接收到的预提交结果得到该共识节点的共识结果。
具体应用实例中,每个共识节点对接收到的预提交结果的类型进行数量统计,当合法类型预提交结果的数量达到所述共识节点总数预设比例时,则共识成功;当空块类型预提交结果的数量达到所述共识节点总数预设比例时,则共识失败。通常情况下,共识节点总数预设比例为三分之二。即,三分之二以上的共识节点提交了合法的预提交则共识成功;三分之二以上的共识节点提交为空块的预提交则共识失败。本领域技术人员可以理解的是共识节点总数预设比例可以根据实际需求进行设置。
通过以上实施的并行的区块链共识方法,为拜占庭容错算法的一种,在每个高度上,都有多个节点参与当前高度的共识,在达到共识节点总数预设比例个节点诚实的情况下,共识节点经过至少一轮共识达到最终共识。以上步骤实施的并行的区块链共识方法,节点投出合法的预投票的同时向校验模块发送校验请求,提升了交易的处理能力。
参见图2,所示为本发明第二实施例的并行的区块链共识方法,包括以下步骤:
S101,在一轮共识开始时,确定共识节点中的提议者,提议者将提议区块广播给其他共识节点;
S102,每个共识节点对接收到的提议区块进行预投票后,对其他的共识节点广播其预投票结果的同时,每个共识节点对校验模块发送校验请求;
S103,每个共识节点根据收到的预投票结果得到该共识节点的预提交结果;
S104,每个共识节点接收校验模块发送的校验结果,如果校验成功,则将所述预提交结果广播给其他共识节点;如果校验失败,则发送空块的预提交结果给其他共识节点;
S105,每个共识节点根据接收到的预提交结果得到该共识节点的共识结果;
S106,每个共识节点对接收到的预提交结果的类型进行数量统计,当合法类型的数量达到所述共识节点总数预设比例时,则共识成功;当空块类型的数量达到所述共识节点总数预设比例时,则共识失败。
通常情况下,共识节点总数预设比例为三分之二。即,三分之二以上的共识节点提交了合法的预提交则共识成功;三分之二以上的共识节点提交为空块的预提交则共识失败。
参见图3,所示为本发明第三实施例的并行的区块链共识方法,包括以下步骤:
S101,在一轮共识开始时,确定共识节点中的提议者,提议者将提议区块广播给其他共识节点;
S102,每个共识节点对接收到的提议区块进行预投票后,对其他的共识节点广播其预投票结果的同时,每个共识节点对校验模块发送校验请求;
S103,每个共识节点根据收到的预投票结果得到该共识节点的预提交结果。
S104,每个共识节点接收校验模块发送的校验结果,如果校验成功,则将预提交结果广播给其他共识节点;如果校验失败,则发送空块的预提交结果给其他共识节点;
S105,每个共识节点根据接收到的预提交结果得到该共识节点的共识结果;
S106,每个共识节点对接收到的预提交结果的类型进行数量统计,当合法类型的数量达到共识节点总数预设比例时,则共识成功;当空块类型的数量达到共识节点总数预设比例时,则共识失败;
S107,共识节点中提议者的共识结果为成功时,提议者将提议区块发送给执行模块,以得到执行结果;当共识节点中的提议者的共识结果为共识失败时,则进入下一轮共识。
参见图4,所示为本发明第四实施例的并行的区块链共识方法,包括以下步骤:
S101,在一轮共识开始时,确定共识节点中的提议者,提议者将提议区块广播给其他共识节点;
S102,每个共识节点对接收到的提议区块进行预投票后,对其他的共识节点广播其预投票结果的同时,每个共识节点对校验模块发送校验请求;
S103,每个共识节点根据收到的预投票结果得到该共识节点的预提交结果;
S104,每个共识节点接收校验模块发送的校验结果,如果校验成功,则将所述预提交结果广播给其他共识节点;如果校验失败,则发送空块的预提交结果给其他共识节点;
S105,每个共识节点根据接收到的预提交结果得到该共识节点的共识结果;
S106,每个共识节点对接收到的预提交结果的类型进行数量统计,当合法类型的数量达到所述共识节点总数预设比例时,则共识成功;当空块类型的数量达到共识节点总数预设比例时,则共识失败;
S107,共识节点中提议者的共识结果为成功时,提议者将提议区块发送给执行模块,以得到执行结果;当共识节点中的提议者的共识结果为共识失败时,则进入下一轮共识。
S108,执行结果将随固定延迟高度上的提议区块一起,进行新一轮的提议和共识。
具体应用实例中,固定延迟高度为下一个或下两个高度的交易。
本发明实施例提供的并行的区块链共识方法,在节点投出预投票的同时向校验模块发送校验请求的基础上,在共识的提交阶段将区块发送给执行模块进行执行,对执行结果的共识跟随下一个区块的提议一起进行,不仅提升了交易的处理能力,也提高了***的执行效率。
下面参照图5详细介绍本发明实施例的电子设备。在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口和存储器。其中,存储器可能包含能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器等。当然,该电子设备还可以包括其他业务所需的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外设部件互联标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(ExtendedIndustry Standard Architecture,EISA)总线等。其中总线可以分为地址总线、数据总线和控制总线等。为了便于表示,图5中仅用一个双箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序,具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令,存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成内容推荐装置。处理器,执行存储器所存放的程序,并具体用于执行前文所述服务器作为执行主体时所执行的方法操作。
上述如本发明实施例图1至图4所示实施例的并行区块链共识方法可以应用于处理器中,或者由处理器实现。处理器可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各个步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等,还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
当然,除了软件实现方式之外,本说明书实施例的电子设备并不排除其他实现方式,比如逻辑器件或软硬结合的方式等,即以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
在一轮共识开始时,确定共识节点中的提议者,提议者将提议区块广播给其他共识节点;
每个共识节点对接收到的提议区块进行预投票后,对其他的共识节点广播其预投票结果的同时,每个共识节点对校验模块发送校验请求;
每个共识节点根据收到的预投票结果得到该共识节点的预提交结果;
每个共识节点接收校验模块发送的校验结果,如果校验成功,则将预提交结果广播给其他共识节点;如果校验失败,则发送空块的预提交结果给其他共识节点;
每个共识节点根据接收到的预提交结果得到该共识节点的共识结果。
其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等。
参照图6,所示为本发明实施例的并行的区块链共识装置10的结构示意图,该装置主要包括校验模块101和包含多个共识节点的共识模块102,
在一轮共识开始时,确定共识节点中的提议者,提议者将提议区块广播给其他共识节点;
每个共识节点(图示中为共识节点1,共识节点2至共识节点N)对接收到的提议区块进行预投票后,对其他的共识节点广播其预投票结果的同时,每个共识节点对校验模块发送校验请求;
每个共识节点根据收到的预投票结果得到该共识节点的预提交结果;
每个共识节点接收校验模块发送的校验结果,如果校验成功,则将所述预提交结果广播给其他共识节点;如果校验失败,则发送空块的预提交结果给其他共识节点;
每个共识节点根据接收到的预提交结果得到该共识节点的共识结果。
通过以上实施的并行的区块链共识装置,利用拜占庭容错算法的一种,在每个高度上,都有多个节点参与当前高度的共识,在达到共识节点总数预设比例个节点诚实的情况下,共识节点经过至少一轮共识达到最终共识。以上步骤实施的并行区块链共识装置,节点投出合法的预投票的同时向校验模块发送校验请求,提升了交易的处理能力。
进一步地,每个共识节点根据接收到的预提交结果得到该共识节点的共识结果,具体包括:每个共识节点对接收到的预提交结果的类型进行数量统计,当合法类型的数量达到所述共识节点总数预设比例时,则共识成功;当空块类型的数量达到所述共识节点总数预设比例时,则共识失败。
具体应用实例中,共识节点总数预设比例可设置为三分之二。当然,其他应用实例中可以设置需要的共识节点总数预设比例
进一步地,本发明实施例的并行的区块链共识装置进一步包括执行模块,所述共识节点中提议者的共识结果为成功时,所述提议者将所述提议区块发送给执行模块,以得到执行结果;当所述共识节点中的提议者的共识结果为共识失败时,则进入下一轮共识。
进一步地,本发明实施例的并行的区块链共识装置进一步包括打包交易模块,所述打包交易模块将所述执行结果随固定延迟高度上的提议区块一起打包,进行新一轮的提议和共识。
本发明实施例提供的并行的区块链共识装置,在节点投出预投票的同时向校验模块发送校验请求的基础上,在共识的提交阶段将区块发送给执行模块进行执行,对执行结果的共识跟随下一个区块的提议一起进行,不仅提升了交易的处理能力,也提高了***的执行效率。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或者其他数据。计算机的存储介质包括,但不限于相变存储(Phase Change Memory,PCM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算机设备访问的信息。按照本说明书中的界定,计算机可读介质不包括暂存可读媒体(transitory media),如调制的数据信号和载波。
还需要说明书的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有列出的其他要素,或者是还包括为这种过程、方法或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
总之,以上所述仅为本说明书实施例的较佳实施例而已,并非用于限定本发明实施例的保护范围。凡在本发明实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本说明书实施例的保护范围之内。
应当理解,本文所述的示例性实施例是说明性的而非限制性的。尽管结合附图描述了本发明的一个或多个实施例,本领域普通技术人员应当理解,在不脱离通过所附权利要求所限定的本发明的精神和范围的情况下,可以做出各种形式和细节的改变。

Claims (13)

1.一种并行区块链共识方法,其特征在于,包括以下步骤:
在一轮共识开始时,确定共识节点中的提议者,提议者将提议区块广播给其他共识节点;
每个共识节点对接收到的提议区块进行预投票后,对其他的共识节点广播其预投票结果的同时,每个共识节点对校验模块发送校验请求;
每个共识节点根据收到的预投票结果得到该共识节点的预提交结果;
每个共识节点接收校验模块发送的校验结果,如果校验成功,则将所述预提交结果广播给其他共识节点;如果校验失败,则发送空块的预提交结果给其他共识节点;
每个共识节点根据接收到的预提交结果得到该共识节点的共识结果。
2.根据权利要求1所述的并行区块链共识方法,其特征在于,
所述预投票结果包括两种类型:空块和合法;
所述共识节点在预设时间内没有收到所述提议或收到不合法提议时,则所述预投票结果为空块;所述共识节点在预设时间内收到合法提议时,则所述预投票结果为合法;
每个共识节点根据接收到的预投票结果得到该共识节点的预提交结果,具体包括:
每个共识节点对所述接收到的预投票结果按照类型进行数量统计,其数量达到共识节点总数预设比例的类型即为所述该共识节点的预提交结果。
3.根据权利要求2所述的并行区块链共识方法,其特征在于,每个共识节点根据接收到的预提交结果得到该共识节点的共识结果,具体包括:
每个共识节点对接收到的预提交结果的类型进行数量统计,当合法类型的数量达到所述共识节点总数预设比例时,则共识成功;当空块类型的数量达到所述共识节点总数预设比例时,则共识失败。
4.根据权利要求2或3所述的并行区块链共识方法,其特征在于,其中,所述共识节点总数预设比例为三分之二。
5.根据权利要求1所述的并行区块链共识方法,其特征在于,所述共识节点中提议者的共识结果为成功时,所述提议者将所述提议区块发送给执行模块,以得到执行结果;当所述共识节点中的提议者的共识结果为共识失败时,则进入下一轮共识。
6.根据权利要求5所述的并行区块链共识方法,其特征在于,所述执行结果将随固定延迟高度上的提议区块一起,进行新一轮的提议和共识。
7.一种并行区块链共识***,其特征在于,包括校验模块和包含多个共识节点的共识模块,
在一轮共识开始时,确定共识节点中的提议者,提议者将提议区块广播给其他共识节点;
每个共识节点对接收到的提议区块进行预投票后,对其他的共识节点广播其预投票结果的同时,每个共识节点对校验模块发送校验请求;
每个共识节点根据收到的预投票结果得到该共识节点的预提交结果;
每个共识节点接收校验模块发送的校验结果,如果校验成功,则将所述预提交结果广播给其他共识节点;如果校验失败,则发送空块的预提交结果给其他共识节点;
每个共识节点根据接收到的预提交结果得到该共识节点的共识结果。
8.根据权利要求7所述的并行区块链共识***,其特征在于,所述预投票结果包括两种类型:空块和合法;
所述共识节点在预设时间内没有收到所述提议或收到不合法提议时,则所述预投票结果为空块;所述共识节点在预设时间内收到合法提议时,则所述预投票结果为合法;
每个共识节点根据接收到的预投票结果得到该共识节点的预提交结果,具体包括:
每个共识节点对所述接收到的预投票结果按照类型进行数量统计,其数量达到共识节点总数预设比例的类型即为所述该共识节点的预提交结果。
9.根据权利要求8所述的并行区块链共识***,其特征在于,每个共识节点根据接收到的预提交结果得到该共识节点的共识结果,具体包括:
每个共识节点对接收到的预提交结果的类型进行数量统计,当合法类型的数量达到所述共识节点总数预设比例时,则共识成功;当空块类型的数量达到所述共识节点总数预设比例时,则共识失败。
10.根据权利要求7所述的并行区块链共识***,其特征在于,进一步包括执行模块,所述共识节点中提议者的共识结果为成功时,所述提议者将所述提议区块发送给执行模块,以得到执行结果;当所述共识节点中的提议者的共识结果为共识失败时,则进入下一轮共识。
11.根据权利要求10所述的并行区块链共识***,其特征在于,进一步包括打包交易模块,所述打包交易模块将所述执行结果随固定延迟高度上的提议区块一起打包,进行新一轮的提议和共识。
12.一种电子设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行权利要求1-6任意所述的共识方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现权利要求1-6任一项所述的共识方法。
CN201811440414.0A 2018-11-29 2018-11-29 并行区块链共识方法、***、电子设备和计算机可读存储介质 Active CN109447810B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811440414.0A CN109447810B (zh) 2018-11-29 2018-11-29 并行区块链共识方法、***、电子设备和计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811440414.0A CN109447810B (zh) 2018-11-29 2018-11-29 并行区块链共识方法、***、电子设备和计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN109447810A CN109447810A (zh) 2019-03-08
CN109447810B true CN109447810B (zh) 2021-03-09

Family

ID=65555850

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811440414.0A Active CN109447810B (zh) 2018-11-29 2018-11-29 并行区块链共识方法、***、电子设备和计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN109447810B (zh)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11347598B2 (en) * 2019-03-18 2022-05-31 Advanced New Technologies Co., Ltd. Consensus system downtime recovery
CN110012100B (zh) * 2019-04-09 2021-04-27 杭州秘猿科技有限公司 一种带宽优化的区块链共识方法、装置及电子设备
CN110059981B (zh) * 2019-04-29 2021-06-04 威富通科技有限公司 信任度评估方法、装置及终端设备
CN110298641B (zh) * 2019-06-12 2022-08-05 广东投盟科技有限公司 区块链的规则更新方法、装置、区块链节点及网络
CN110311958B (zh) * 2019-06-14 2021-01-01 柳州市蓝海数链科技有限公司 一种区块链网络***
CN110443052B (zh) * 2019-07-30 2021-05-07 深圳市科迈爱康科技有限公司 区块链区块的修改方法及***
CN110493148B (zh) * 2019-08-12 2022-04-01 深圳前海微众银行股份有限公司 一种区块处理、区块共识和区块同步方法及装置
CN110599139B (zh) * 2019-08-19 2022-09-13 杭州秘猿科技有限公司 一种区块链共识算法中的出块方法和装置
CN110618841B (zh) * 2019-09-10 2022-12-06 杭州秘猿科技有限公司 内部松耦合的共识方法、***、电子设备
CN110659988B (zh) * 2019-09-10 2022-11-18 杭州秘猿科技有限公司 区块链共识与执行的并行处理方法、装置和电子设备
CN110851146A (zh) * 2019-11-08 2020-02-28 福州汇思博信息技术有限公司 一种基于分布式网络的终端应用发布方法以及***
CN110995439A (zh) * 2019-11-20 2020-04-10 上海链颉科技有限公司 区块链共识方法、电子装置及存储介质
CN110781525A (zh) * 2019-11-22 2020-02-11 中国科学院深圳先进技术研究院 一种基于区块链的档案信息安全管理***和方法
CN111104460B (zh) * 2019-12-02 2023-09-19 远光软件股份有限公司 一种区块链共识方法、***、电子设备、存储介质
CN111062811B (zh) * 2019-12-02 2024-01-12 远光软件股份有限公司 一种区块链共识方法、***、存储介质
CN111405027B (zh) * 2020-03-12 2023-06-23 金蝶软件(中国)有限公司 区块链共识结果筛选方法、装置、计算机设备和存储介质
CN111522874B (zh) * 2020-03-20 2023-09-05 金蝶软件(中国)有限公司 区块链共识方法、装置、计算机设备和存储介质
CN111427957B (zh) * 2020-03-26 2021-05-11 财付通支付科技有限公司 区块链投票信息校验方法、装置、设备以及存储介质
CN111507840B (zh) * 2020-04-15 2024-03-26 财付通支付科技有限公司 区块链共识方法、装置、计算机以及可读存储介质
CN111683118B (zh) * 2020-05-16 2023-07-11 中信银行股份有限公司 基于区块链的共识方法、装置、主节点设备及从节点设备
CN111522648B (zh) 2020-07-03 2020-10-09 支付宝(杭州)信息技术有限公司 一种区块链的交易处理方法、装置及电子设备
CN112104482B (zh) * 2020-08-11 2021-06-29 佛山赛思禅科技有限公司 一种基于并行投票的共识方法
CN112232954A (zh) * 2020-10-15 2021-01-15 杭州溪塔科技有限公司 一种提案超时阈值的动态调节方法、装置及电子设备
US11743327B2 (en) 2021-02-05 2023-08-29 International Business Machines Corporation Topological ordering of blockchain associated proposals
CN112685796B (zh) * 2021-03-12 2021-06-18 腾讯科技(深圳)有限公司 一种基于区块链的区块共识方法以及相关设备
CN113783935B (zh) * 2021-08-12 2022-04-01 清华大学 一种拜占庭容错方法及装置
CN114401271A (zh) * 2022-01-13 2022-04-26 中国人民解放军国防科技大学 一种试验数据防篡改方法、区块链***及介质
CN116192868B (zh) * 2023-04-27 2023-09-08 南方科技大学 一种应用于联盟链的并行拜占庭容错共识方法及终端

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106445711B (zh) * 2016-08-28 2019-04-30 杭州云象网络技术有限公司 一种应用于区块链的拜占庭容错共识方法
US11165589B2 (en) * 2017-05-11 2021-11-02 Shapeshift Ag Trusted agent blockchain oracle
CN107688999B (zh) * 2017-08-11 2020-11-13 杭州溪塔科技有限公司 一种基于区块链的并行交易执行方法
CN108320160A (zh) * 2018-02-02 2018-07-24 张超 区块链***、区块共识方法和装置
CN108648078B (zh) * 2018-05-02 2021-03-23 杭州溪塔科技有限公司 一种交易预处理方法、装置及电子设备

Also Published As

Publication number Publication date
CN109447810A (zh) 2019-03-08

Similar Documents

Publication Publication Date Title
CN109447810B (zh) 并行区块链共识方法、***、电子设备和计算机可读存储介质
CN110659988B (zh) 区块链共识与执行的并行处理方法、装置和电子设备
CN108648078B (zh) 一种交易预处理方法、装置及电子设备
CN109409889B (zh) 一种区块链中的区块确定方法、装置及电子设备
CN109474682B (zh) 一种区块链网络传输方法、装置及电子设备
CN110012100B (zh) 一种带宽优化的区块链共识方法、装置及电子设备
CN108846749B (zh) 一种基于区块链技术的分片化的交易执行***及方法
CN110708163B (zh) 一种区块链的共识方法、装置、***和电子设备
CN110648136B (zh) 共识与交易同步的并行处理方法、装置和电子设备
CN111369358B (zh) 一种区块链共识方法、装置和电子设备
CN108550038A (zh) 一种应用于区块链的数据传播***及方法
CN109951534B (zh) 一种共识方法、装置和***
CN111698244B (zh) 一种新增节点快速参与共识的方法、装置及电子设备
CN110061930B (zh) 一种数据流量的限制、限流值的确定方法和装置
CN110781153B (zh) 基于区块链的跨应用信息共享方法及***
CN110648125A (zh) 一种打包交易方法、装置及电子设备
CN108519909B (zh) 一种流数据处理方法和装置
CN111709748A (zh) 一种具有业务属性的交易执行方法、装置及电子设备
CN115118625B (zh) 一种数据校验方法和装置
CN116455974A (zh) 交易缓存及排序的方法、装置、电子设备和存储介质
CN110599139B (zh) 一种区块链共识算法中的出块方法和装置
CN112351085A (zh) 一种网络资源安全共享方法
CN112258184A (zh) 冻结区块链网络的方法、装置、电子设备及可读存储介质
CN110535785B (zh) 一种发送频率的控制方法、装置和分布式***
CN112232954A (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
GR01 Patent grant
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20190308

Assignee: Hangzhou Xita Technology Co.,Ltd.

Assignor: CRYPTAPE Co.,Ltd.

Contract record no.: X2021330000025

Denomination of invention: Parallel blockchain consensus method, system, electronic device and computer readable storage medium

Granted publication date: 20210309

License type: Common License

Record date: 20210317

EE01 Entry into force of recordation of patent licensing contract
TR01 Transfer of patent right

Effective date of registration: 20231221

Address after: 10/F, Guotou Building, No. 398 Shaoxing Road, Gongshu District, Hangzhou City, Zhejiang Province, 310000

Patentee after: Hangzhou Xita Technology Co.,Ltd.

Address before: Room 1301 and 1302, 13 / F, block a, Huaxing Times Square, 478 Wensan Road, Xihu District, Hangzhou, Zhejiang 310007

Patentee before: CRYPTAPE Co.,Ltd.

TR01 Transfer of patent right