CN111478795B - 一种基于混合拜占庭容错的联盟区块链网络共识方法 - Google Patents

一种基于混合拜占庭容错的联盟区块链网络共识方法 Download PDF

Info

Publication number
CN111478795B
CN111478795B CN202010152890.3A CN202010152890A CN111478795B CN 111478795 B CN111478795 B CN 111478795B CN 202010152890 A CN202010152890 A CN 202010152890A CN 111478795 B CN111478795 B CN 111478795B
Authority
CN
China
Prior art keywords
node
request
nodes
block
algorithm
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
CN202010152890.3A
Other languages
English (en)
Other versions
CN111478795A (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.)
Chongqing University of Post and Telecommunications
Original Assignee
Chongqing University of Post and Telecommunications
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 Chongqing University of Post and Telecommunications filed Critical Chongqing University of Post and Telecommunications
Priority to CN202010152890.3A priority Critical patent/CN111478795B/zh
Publication of CN111478795A publication Critical patent/CN111478795A/zh
Application granted granted Critical
Publication of CN111478795B publication Critical patent/CN111478795B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/142Network analysis or design using statistical or mathematical methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Algebra (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • General Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Pure & Applied Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Retry When Errors Occur (AREA)

Abstract

本发明涉及一种基于混合拜占庭容错的联盟区块链网络共识方法,属于区块链技术领域。该方法包括:S1:利用分片机制,将区块链网络节点分类为四种节点类型,包含普通、验证、排序和出块节点,其中出块为全节点;S2:由于并行拜占庭容错算法特性,将共识机制分为两个阶段,包括预处理阶段算法和执行阶段算法,执行预处理算法;S3:为了保证并行拜占庭容错算法的正确,利用主节点视图切换算法来保证主节点在共识机制中正常运行;S4:出块节点执行并行拜占庭容错算法来达成出块节点共识,并由本轮共识中的主节点完成出块。本发明相对于目前联盟区块链中的共识机制,提高了共识机制的安全性以及节点达成共识的效率。

Description

一种基于混合拜占庭容错的联盟区块链网络共识方法
技术领域
本发明属于区块链技术领域,涉及一种基于混合拜占庭容错的联盟区块链网络共识机制。
背景技术
区块链本质上是一种去中心化的、节点与节点之间地位平等的数据库,其概念首次出现在中本聪的《一种点对点式的电子现金系统》一文中。区块链通过运用加密算法、时间戳、共识机制和奖励机制,帮助陌生的节点建立了信任,目前广泛应用于数字货币以及分布式系统之中。区块链有着匿名性与安全性的特点,避免了中心化带来的数据丢失风险和管理问题。在数字货币的基础上,区块链又延伸出超级账本、智能合约等概念。区块链作为中构建信任的核心,共识机制也愈发受到学界关注。
数字货币中,中本聪采用了工作证明——Proof of Work(PoW)的共识机制,工作证明问题是基于SHA256算法设置的且根据数字货币中现有的区块数量多少来动态调整计算难度。PoW的安全性很高,但被人弊病的是算力记账机制对资源的过渡浪费、完成交易时间太长无法满足商业需求和无法抵抗算力对整个网络的危害。于是Proof of Stake(PoS)权益证明应运而生。PoS解决了算力浪费的问题,牺牲了一些共识安全性来换取共识效率。而Delegated Proof of Stake(DPoS)授权股份证明解决了算力对区块链网络的危害。通过选举制度,只有小部分节点能记账,遏制了算力的作用,进一步提升了效率。但是其缺陷也是非常明显,属于半中心化,安全性较差。
因此,目前亟需一种新的区块链的共识机制,既能提高共识机制的安全性,还能提高节点达成共识的效率。
发明内容
有鉴于此,本发明的目的在于提供一种基于混合拜占庭容错的联盟区块链网络共识方法,结合目前比较高效的拜占庭算法与分片技术,用于解决联盟链共识机制现有的技术问题,提高共识机制的安全性以及节点达成共识的效率。
为达到上述目的,本发明提供如下技术方案:
一种基于混合拜占庭容错的联盟区块链网络共识方法,包括以下步骤:
S1:利用分片机制,将区块链网络节点分类为四种节点类型,包含普通节点、验证节点、排序节点和出块节点,其中出块为全节点;
S2:由于并行拜占庭容错算法特性,将共识机制分为两个阶段,包括预处理阶段算法和执行阶段算法,执行预处理算法;
S3:为了保证并行拜占庭容错算法的正确,利用主节点视图切换算法来保证主节点在共识机制中正常运行;
S4:出块节点执行并行拜占庭容错算法来达成出块节点共识,并由本轮共识中的主节点完成出块。
进一步,所述步骤S1中,定义分片机制为:假设有n个相同计算能力的无身份处理器,其中f个处理器由拜占庭对手控制;网络接受每个块的事务,块j中的事务i用整数
Figure GDA0003730654750000021
表示;所有处理器都能访问外部指定的约束函数C:
Figure GDA0003730654750000022
以确定每个事务的有效性;定义处理器之间运行的协议W,该协议输出一个集合X,包含k个单独的分片
Figure GDA0003730654750000023
满足以下条件:
(1)对于给定的安全性参数λ,诚实的处理器以至少1-2的概率在X上达成一致;
(2)给定的分片X满足指定的约束函数C,即
Figure GDA0003730654750000024
(3)k的值随节点n的大小线性增长,且每个处理器使用的计算和带宽保持恒定,与n和k无关;
(4)分片以轮数进行,每一轮决定一组值
Figure GDA0003730654750000025
其中2s为子集Xi的数量;
进行分片时,每个处理器在本地选择其身份识别码(IP,PK),它们分别是公用密钥和IP地址;为了使区块链网络接受身份,处理器必须找到与其选择的身份相对应的PoW解决方案。作为PoW的“种子”,生成一个公共的随机字符串Randomness。每个处理器在本地搜索满足以下约束的有效随机数:
O=H(Randomness|IP||PK|nonce)≤2γ-D
其中,γ表示随机输出位数,D表示网络预定义参数;通过上述步骤,将区块链网络节点分片。
进一步,所述步骤S2具体包括:预处理阶段算法和执行阶段算法:将多个状态对象分组为状态部件,并将每个部件分配给一组f+1个机器;使用两种不同类型的并行来处理传入的请求:首先,每个副本只执行访问在其分配的状态部分中分组的对象的请求;其次,每个副本并行处理独立请求;总数为n的副本被随机分成p个组,每个组至少包含f+1个机器,p表示状态部件的数量;对于
Figure GDA0003730654750000026
i组中的所有机器都负责执行对位于状态部件内部Si的对象的请求;在每个组包含f+1个副本的前提下,n表示为n=p×(f+1);请求r访问的对象集表示为O(r),P(r)是一组被访问的部分,有:
Figure GDA0003730654750000031
设主节点可以向属于同一部分的任何非空对象集发出请求;当主节点发出请求时,系统根据被访问的状态对象的位置为每个请求分配一个角色,共有三种主要的角色类型:执行者、验证者和观察者;每当节点请求访问分配给第i部分的对象o时,来自组号i的副本将充当执行程序,来自下一组的副本将扮演验证者的角色,其余的机器组将充当观察者;验证者角色只分配给一个状态段访问;
执行预处理算法:对于给定的副本,当它从至少不同的f+1个执行器(可能包括它自己)获得相同的请求结果r时,定义语句e-complete(r)为真,否则为假(因为系统中只有f个拜占庭节点,在不同的执行器中至少有一个正确的节点);当请求结果相同时,保证请求结果r为真;注意,这些结果可以由执行程序直接传递,也可以由验证程序直接传递。此外,定义一个语句complete(r),如果一个副本的e-complete(r)语句结果为真,或者它已经执行了请求r,那么语句complete(r)对于这个副本是正确的;对于任意请求r,如果至少有一个节点崩溃或产生不同的结果,对于f+1个副本的处理结果,语句e-complete(r)结果永远为假;为了避免这种情况,我们在验证者收到每个请求的第一个响应后设置一个计时器;如果验证者在超时之前没有收到足够的响应,语句e-complete(r)将设置为真,且会暂时接管执行请求的角色。
进一步,所述步骤S3具体包括:当主节点变成拜占庭节点时,无法执行共识算法,导致无法生成区块。本发明给出一个视图变换算法来解决这个问题。在共识机制中,正确的节点以一致的方式观察组内节点的变化,一致的组称为视图,并给视图编号并将它们记录为v;假设一个视图总共有N个节点,每个节点都有编号{0,1,2,...,N-1};主节点数量记为p,其余节点称为备份节点,满足公式:
p=vmodN
当组中的主节点失败时,下一个编号的节点成为主节点,视图也切换,视图数量增加1。
进一步,所述步骤S4具体包括:在接收到新的请求r之后,机器的行为将根据它们在请求中的角色而变化。一旦满足以下条件,执行程序将处理请求:
Figure GDA0003730654750000032
处理r之后,执行程序对请求r进行数字签名,并将其发送给所有其他副本和客户机;验证器不执行获取的任务,而是等待执行器的响应;每个客户机查询至少有一条这样的消息,因为执行器的数量总是大于可能失败的机器f的总数;验证者将获得的消息转发给其他副本,但是对于每个请求,每个执行器的结果只转发一次。
本发明的有益效果在于:本发明结合了目前比较高效的拜占庭算法与分片技术,解决了联盟链共识机制现有的技术问题。相对于目前联盟区块链中的共识机制,本发明提高了共识机制的安全性以及节点达成共识的效率。
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:
图1为本发明所述的联盟区块链网络共识方法流程图;
图2为区块结构示意图;
图3为主节点视图切换示意图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
请参阅图1~图3,图1为基于混合拜占庭容错的联盟区块链网络共识方法的流程图,该方法包括以下几个步骤:
S1:利用分片机制,将区块链网络节点分类为四种节点类型,包含普通节点、验证节点、排序节点和出块节点,其中出块为全节点。
具体的,将安全分片协议的规范化定义如下:假设有n个相同计算能力的无身份处理器,其中f个处理器由拜占庭对手控制;网络接受每个块的事务,块j中的事务i用整数
Figure GDA0003730654750000041
表示;所有处理器都能访问外部指定的约束函数C:
Figure GDA0003730654750000042
以确定每个事务的有效性;定义处理器之间运行的协议W,该协议输出一个集合X,包含k个单独的分片
Figure GDA0003730654750000051
满足以下条件:
(1)对于给定的安全性参数λ,诚实的处理器以至少1-2的概率在X上达成一致;
(2)给定的分片X满足指定的约束函数C,即
Figure GDA0003730654750000052
(3)k的值随节点n的大小线性增长,且每个处理器使用的计算和带宽保持恒定,与n和k无关;
(4)分片以轮数进行,每一轮决定一组值
Figure GDA0003730654750000053
其中2s为子集Xi的数量;
进行分片时,每个处理器在本地选择其身份识别码(IP,PK),它们分别是公用密钥和IP地址;为了使区块链网络接受身份,处理器必须找到与其选择的身份相对应的PoW解决方案。作为PoW的“种子”,生成一个公共的随机字符串Randomness。每个处理器在本地搜索满足以下约束的有效随机数:
O=H(Randomness|IP||PK|nonce)≤2γ-D
其中,γ表示随机输出位数,D表示网络预定义参数;通过上述步骤,将区块链网络节点分片。
S2:由于并行拜占庭容错算法特性,将共识机制分为两个阶段,包括预处理阶段算法和执行阶段算法,执行预处理算法。
具体的,预处理阶段算法和执行阶段算法:将多个状态对象分组为状态部件,并将每个部件分配给一组f+1个机器;使用两种不同类型的并行来处理传入的请求:首先,每个副本只执行访问在其分配的状态部分中分组的对象的请求;其次,每个副本并行处理独立请求;总数为n的副本被随机分成p个组,每个组至少包含f+1个机器,p表示状态部件的数量;对于
Figure GDA0003730654750000054
i组中的所有机器都负责执行对位于状态部件内部Si的对象的请求;在每个组包含f+1个副本的前提下,n表示为n=p×(f+1);请求r访问的对象集表示为O(r),P(r)是一组被访问的部分,有:
Figure GDA0003730654750000055
设主节点可以向属于同一部分的任何非空对象集发出请求;当主节点发出请求时,系统根据被访问的状态对象的位置为每个请求分配一个角色,共有三种主要的角色类型:执行者、验证者和观察者;每当节点请求访问分配给第i部分的对象o时,来自组号i的副本将充当执行程序,来自下一组的副本将扮演验证者的角色,其余的机器组将充当观察者;验证者角色只分配给一个状态段访问;
执行预处理算法:对于给定的副本,当它从至少不同的f+1个执行器(可能包括它自己)获得相同的请求结果r时,定义语句e-complete(r)为真,否则为假(因为系统中只有f个拜占庭节点,在不同的执行器中至少有一个正确的节点);当请求结果相同时,保证请求结果r为真;注意,这些结果可以由执行程序直接传递,也可以由验证程序直接传递。此外,定义一个语句complete(r),如果一个副本的e-complete(r)语句结果为真,或者它已经执行了请求r,那么语句complete(r)对于这个副本是正确的;对于任意请求r,如果至少有一个节点崩溃或产生不同的结果,对于f+1个副本的处理结果,语句e-complete(r)结果永远为假;为了避免这种情况,我们在验证者收到每个请求的第一个响应后设置一个计时器;如果验证者在超时之前没有收到足够的响应,语句e-complete(r)将设置为真,且会暂时接管执行请求的角色。
S3:为了保证并行拜占庭容错算法的正确,如图3所示,利用主节点视图切换算法来保证主节点在共识机制中正常运行。
具体的,当主节点变成拜占庭节点时,无法执行共识算法,导致无法生成区块。本发明给出一个视图变换算法来解决这个问题。在共识机制中,正确的节点以一致的方式观察组内节点的变化,一致的组称为视图,并给视图编号并将它们记录为v;假设一个视图总共有N个节点,每个节点都有编号{0,1,2,...,N-1};主节点数量记为p,其余节点称为备份节点,满足公式:
p=vmodN
当组中的主节点失败时,下一个编号的节点成为主节点,视图也切换,视图数量增加1。
S4:出块节点执行并行拜占庭容错算法来达成出块节点共识,并由本轮共识中的主节点完成出块。
具体的,在接收到新的请求r之后,机器的行为将根据它们在请求中的角色而变化。一旦满足以下条件,执行程序将处理请求:
Figure GDA0003730654750000061
处理r之后,执行程序对请求r进行数字签名,并将其发送给所有其他副本和客户机;验证器不执行获取的任务,而是等待执行器的响应;每个客户机查询至少有一条这样的消息,因为执行器的数量总是大于可能失败的机器f的总数;验证者将获得的消息转发给其他副本,但是对于每个请求,每个执行器的结果只转发一次。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。

Claims (4)

1.一种基于混合拜占庭容错的联盟区块链网络共识方法,其特征在于,该方法包括以下步骤:
S1:利用分片机制,将区块链网络节点分类为四种节点类型,包含普通节点、验证节点、排序节点和出块节点,其中出块为全节点;
定义分片机制为:假设有n个相同计算能力的无身份处理器,其中f个处理器由拜占庭对手控制;网络接受每个块的事务,块j中的事务i用整数
Figure FDA0003710466640000011
表示;所有处理器都能访问外部指定的约束函数
Figure FDA0003710466640000012
定义处理器之间运行的协议W,该协议输出一个集合X,包含k个单独的分片
Figure FDA0003710466640000013
满足以下条件:
(1)对于给定的安全性参数λ,诚实的处理器以至少1-2的概率在X上达成一致;
(2)给定的分片X满足指定的约束函数C,即
Figure FDA0003710466640000014
(3)k的值随节点n的大小线性增长,且每个处理器使用的计算和带宽保持恒定,与n和k无关;
(4)分片以轮数进行,每一轮决定一组值
Figure FDA0003710466640000015
其中2s为子集Xi的数量;
进行分片时,每个处理器在本地选择其身份识别码(IP,PK),它们分别是公用密钥和IP地址;每个处理器在本地搜索满足以下约束的有效随机数:
O=H(Randomness|IP||PK|nonce)≤2γ-D
其中,γ表示随机输出位数,D表示网络预定义参数;通过上述步骤,将区块链网络节点分片;
S2:将共识机制分为两个阶段,包括预处理阶段算法和执行阶段算法,执行预处理算法;
S3:利用主节点视图切换算法来保证主节点在共识机制中正常运行;
S4:出块节点执行并行拜占庭容错算法来达成出块节点共识,并由本轮共识中的主节点完成出块。
2.根据权利要求1所述的一种基于混合拜占庭容错的联盟区块链网络共识方法,其特征在于,所述步骤S2具体包括:
预处理阶段算法和执行阶段算法:将多个状态对象分组为状态部件,并将每个部件分配给一组f+1个机器;使用两种不同类型的并行来处理传入的请求:首先,每个副本只执行访问在其分配的状态部分中分组的对象的请求;其次,每个副本并行处理独立请求;总数为n的副本被随机分成p个组,每个组至少包含f+1个机器,p表示状态部件的数量;对于
Figure FDA0003710466640000016
i组中的所有机器都负责执行对位于状态部件内部Si的对象的请求;在每个组包含f+1个副本的前提下,n表示为n=p×(f+1);请求r访问的对象集表示为O(r),P(r)是一组被访问的部分,有:
Figure FDA0003710466640000021
设主节点可以向属于同一部分的任何非空对象集发出请求;当主节点发出请求时,系统根据被访问的状态对象的位置为每个请求分配一个角色,共有三种主要的角色类型:执行者、验证者和观察者;每当节点请求访问分配给第i部分的对象o时,来自组号i的副本将充当执行程序,来自下一组的副本将扮演验证者的角色,其余的机器组将充当观察者;验证者角色只分配给一个状态段访问;
执行预处理算法:对于给定的副本,当它从至少不同的f+1个执行器获得相同的请求结果r时,定义语句e-complete(r)为真,否则为假;当请求结果相同时,保证请求结果r为真;此外,定义一个语句complete(r),如果一个副本的e-complete(r)语句结果为真,或者它已经执行了请求r,那么语句complete(r)对于这个副本是正确的;对于任意请求r,如果至少有一个节点崩溃或产生不同的结果,对于f+1个副本的处理结果,语句e-complete(r)结果永远为假;在验证者收到每个请求的第一个响应后设置一个计时器;如果验证者在超时之前没有收到足够的响应,语句e-complete(r)将设置为真,且会暂时接管执行请求的角色。
3.根据权利要求1所述的一种基于混合拜占庭容错的联盟区块链网络共识方法,其特征在于,所述步骤S3具体包括:当主节点变成拜占庭节点时,在共识机制中,正确的节点以一致的方式观察组内节点的变化,一致的组称为视图,并给视图编号并将它们记录为v;假设一个视图总共有N个节点,每个节点都有编号{0,1,2,...,N-1};主节点数量记为p,其余节点称为备份节点,满足公式:
p=v mod N
当组中的主节点失败时,下一个编号的节点成为主节点,视图也切换,视图数量增加1。
4.根据权利要求1所述的一种基于混合拜占庭容错的联盟区块链网络共识方法,其特征在于,所述步骤S4具体包括:在接收到新的请求r之后,一旦满足以下条件,执行程序将处理请求:
Figure FDA0003710466640000022
处理r之后,执行程序对请求r进行数字签名,并将其发送给所有其他副本和客户机;验证器不执行获取的任务,而是等待执行器的响应;每个客户机查询至少有一条这样的消息;验证者将获得的消息转发给其他副本,但是对于每个请求,每个执行器的结果只转发一次。
CN202010152890.3A 2020-03-06 2020-03-06 一种基于混合拜占庭容错的联盟区块链网络共识方法 Active CN111478795B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010152890.3A CN111478795B (zh) 2020-03-06 2020-03-06 一种基于混合拜占庭容错的联盟区块链网络共识方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010152890.3A CN111478795B (zh) 2020-03-06 2020-03-06 一种基于混合拜占庭容错的联盟区块链网络共识方法

Publications (2)

Publication Number Publication Date
CN111478795A CN111478795A (zh) 2020-07-31
CN111478795B true CN111478795B (zh) 2022-08-12

Family

ID=71747212

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010152890.3A Active CN111478795B (zh) 2020-03-06 2020-03-06 一种基于混合拜占庭容错的联盟区块链网络共识方法

Country Status (1)

Country Link
CN (1) CN111478795B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112564960B (zh) * 2020-12-01 2022-05-13 浙商银行股份有限公司 基于区块链节点中心度弹性调整共识的方法及装置
CN112929354B (zh) * 2021-01-28 2022-04-08 恒宝股份有限公司 一种实用型拜占庭容错抗攻击死锁的方法及装置
CN113179166B (zh) * 2021-04-13 2022-07-08 华东师范大学 基于高鲁棒性拜占庭容错的联盟链数据安全实时上链方法
CN114124410B (zh) * 2021-11-30 2022-11-04 上海华能电子商务有限公司 一种适用于供应链场景下多方验证的改进型poa共识方法
CN115529137A (zh) * 2022-08-24 2022-12-27 海南大学 一种基于改进pbft算法的知识产权交易方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109150972A (zh) * 2018-07-17 2019-01-04 湖南宸瀚信息科技有限责任公司 一种双层分片的高效区块链的共识机制及其工作方法
CN109327512A (zh) * 2018-09-19 2019-02-12 广东微链科技有限公司 基于区块链hash寻址和重加密的游戏数据分区储存方法
CN109522362A (zh) * 2018-10-17 2019-03-26 北京瑞卓喜投科技发展有限公司 基于区块链数据的非完全数据同步方法、系统及设备
CN109600230A (zh) * 2018-11-27 2019-04-09 北京零和商务有限公司 一种区块链共识机制实现系统及其实现方法
WO2019147295A1 (en) * 2018-01-29 2019-08-01 Ubiquicorp Limited Proof of majority block consensus method for generating and uploading a block to a blockchain

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190370793A1 (en) * 2018-06-04 2019-12-05 Decentralized Finance Labs, Inc. Hybrid consensus for blockchain using proof of work and proof of stake

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019147295A1 (en) * 2018-01-29 2019-08-01 Ubiquicorp Limited Proof of majority block consensus method for generating and uploading a block to a blockchain
CN109150972A (zh) * 2018-07-17 2019-01-04 湖南宸瀚信息科技有限责任公司 一种双层分片的高效区块链的共识机制及其工作方法
CN109327512A (zh) * 2018-09-19 2019-02-12 广东微链科技有限公司 基于区块链hash寻址和重加密的游戏数据分区储存方法
CN109522362A (zh) * 2018-10-17 2019-03-26 北京瑞卓喜投科技发展有限公司 基于区块链数据的非完全数据同步方法、系统及设备
CN109600230A (zh) * 2018-11-27 2019-04-09 北京零和商务有限公司 一种区块链共识机制实现系统及其实现方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
"PBFT && RBFT算法流程以及其实现(上)";佚名;《https://www.cnblogs.com/xiaohuiduan/p/12210891.html》;20200119;第2页 *
"POW区块链共识算法分析与展望";戴安博; 陈恭亮;《通信技术》;20191210;全文 *
IEEE 15th International Conference on Smart City *
IEEE 3rd International Conference on Data Science and Systems (HPCC/SmartCity/DSS)》.2018, *
Kejiao Li;Hui Li;Hanxu Hou;Kedan Li;Yongle Chen."Proof of Vote: A High-Performance Consensus Protocol Based on Vote Mechanism & Consortium Blockchain".《2017 IEEE 19th International Conference on High Performance Computing and Communications *

Also Published As

Publication number Publication date
CN111478795A (zh) 2020-07-31

Similar Documents

Publication Publication Date Title
CN111478795B (zh) 一种基于混合拜占庭容错的联盟区块链网络共识方法
US11538003B2 (en) Sharded permissioned distributed ledgers
CN111131209B (zh) 一种改进的高效共识方法、系统、计算机设备及存储介质
US20210256016A1 (en) Blockchain system and method
CN111682942B (zh) 一种应用于许可链的二元加权拜占庭容错共识方法
CN113419823B (zh) 一种适用于高并发事务的联盟链系统及其设计方法
Gupta et al. Proof-of-execution: Reaching consensus through fault-tolerant speculation
CN111698094B (zh) 一种基于区块链系统的共识方法及区块链系统
Zhang et al. Qpbft: Practical byzantine fault tolerance consensus algorithm based on quantified-role
CN111179087B (zh) 一种基于网格仲裁的联盟链共识方法
CN111931220A (zh) 区块链网络的共识处理方法、装置、介质及电子设备
Li et al. ISCP: An Improved Blockchain Consensus Protocol.
CN114157550B (zh) 一种基于无冲突事务合并的联盟区块链系统
US20220278854A1 (en) Unity Protocol Consensus
Wang et al. LRBFT: Improvement of practical Byzantine fault tolerance consensus protocol for blockchains based on Lagrange interpolation
CN111596937A (zh) 一种区块链中节点的新特征同步生效的实现方法和系统
CN110704511A (zh) 数据处理方法、设备、装置、介质
CN113746859B (zh) 一种高网络性能与安全性的vaPBFT区块链共识方法
CN114499874B (zh) 一种应用于工业互联网的拜占庭容错共识优化方法
Gupta Resilient and scalable architecture for permissioned blockchain fabrics
Wu et al. Blockchain consensus mechanism for distributed energy transactions
Bajaj et al. ConcurDB: Concurrent query authentication for outsourced databases
CN113760519A (zh) 分布式事务处理方法、装置、系统和电子设备
Wu et al. Multimaster Node Byzantine Fault-Tolerant Consensus Algorithm Based on Consistent Hash Algorithm
CN111478932A (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