CN115549931B - 一种基于拟态防御的拜占庭容错实现方法及系统 - Google Patents

一种基于拟态防御的拜占庭容错实现方法及系统 Download PDF

Info

Publication number
CN115549931B
CN115549931B CN202211533575.0A CN202211533575A CN115549931B CN 115549931 B CN115549931 B CN 115549931B CN 202211533575 A CN202211533575 A CN 202211533575A CN 115549931 B CN115549931 B CN 115549931B
Authority
CN
China
Prior art keywords
nodes
node
fragment
voting
leader
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
CN202211533575.0A
Other languages
English (en)
Other versions
CN115549931A (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.)
Huzhou Saisi'an Technology Co ltd
Shenzhen Cestbon Technology Co ltd
Foshan Saisichen Technology Co ltd
Original Assignee
Huzhou Saisi'an Technology Co ltd
Shenzhen Cestbon Technology Co ltd
Foshan Saisichen Technology 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 Huzhou Saisi'an Technology Co ltd, Shenzhen Cestbon Technology Co ltd, Foshan Saisichen Technology Co ltd filed Critical Huzhou Saisi'an Technology Co ltd
Priority to CN202211533575.0A priority Critical patent/CN115549931B/zh
Publication of CN115549931A publication Critical patent/CN115549931A/zh
Application granted granted Critical
Publication of CN115549931B publication Critical patent/CN115549931B/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
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • 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/3236Cryptographic 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 using cryptographic hash functions
    • H04L9/3239Cryptographic 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 using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明提供一种基于拟态防御的拜占庭容错实现方法及系统,包括:步骤S1,对普通节点进行分片操作,并生成节点的公私钥信息;步骤S2,通过密码抽签为分片内的节点划分节点角色;步骤S3,先通过不同分片中具有记账权的节点对相同的交易进行打包,再由具有表决权的节点进行投票;步骤S4,先通过各分片的领导节点共同组成多模裁决组,然后通过多模裁决组对投票结果进行动态分布式多模裁决;步骤S5,各分片的领导节点广播裁决结果,所有节点进行存储区块组和更新内存变量。本发明能够在保证拜占庭容错能力的同时,还通过引入动态异构冗余的元素,进而保证了高效的共识效率,并提升了整体的分区容忍性、结果的可靠性以及系统的稳健性。

Description

一种基于拟态防御的拜占庭容错实现方法及系统
技术领域
本发明涉及一种拜占庭容错的实现方法,尤其涉及一种基于拟态防御的拜占庭容错实现方法,还进一步设计采用了该基于拟态防御的拜占庭容错实现方法的拜占庭容错实现系统。
背景技术
在拜占庭容错类共识算法中,拜占庭容错指的是Byzantine fault tolerant,简称BFT,是经典分布式容错算法在区块链场景中的优化, 目标是提高其性能与可扩展性,主要表现为节点之间通过多次投票来达成共识的方式。在1999年被提出的实用拜占庭容错算法 (Practical Byzantine Fault Tolerance, PBFT) ,首次将传统拜占庭容错共识算法消息复杂度由指数级降低为多项式级, 成为了首个适用于实际生产生活的 BFT 算法, 同时也启发了未来BFT共识算法的研究思路。通过在 PBFT 的基础上衍生出了一系列优化算法,并针对区块链的应用场景进行了优化,例如Copeland 等人结合 Raft 和 PBFT提出了Tangaroa算法, 该算法继承了Raft 简单易懂的优点, 并且直接促使了性能更优的ScalableBFT算法的提出。
并行投票共识指的是Parallel Proof of Vote,简称PPoV,作为一种高效的BFT类算法也被提出并运用到实际联盟链系统中。PPoV融合了权益证明(Proof of Stake, PoS)的“证明”和PBFT的“投票”两大共识特性,提出了区块组的数据组织结构,支持在单一共识轮中处理多个区块。在负载均衡的情况下,PPoV在共识过程中采用并行化方法,实现对带宽资源、计算资源和存储资源最大效率利用,从而提高系统整体的吞吐量性能。
另一方面,拟态防御指的是Mimic Defense,简称MD,是国内研究团队首创的主动防御理论,主要实现的是一种基于网络空间内生安全机理的动态异构冗余构造,网络空间内生安全指的是Cyberspace Endogenous Safety and Security,简称CESS;动态异构冗余构造指的是Dynamic Heterogeneous Redundancy,简称DHR,为应对网络空间中基于未知漏洞、后门或病毒木马等的未知威胁,提供了具有创新意义的防御理论和方法。
DHR是通过动态化技术增强系统的不确定性,以更有效解决其所面临的静态风险问题。但是DHR中的各执行体的功能是等价的,但是同时也必须具有很高的差异,来动态地去构建系统架构、网络拓扑、数据存储等多样化拟态环境。防御者可以适时从当前环境主动跳变迁移到另一个环境,这种打破静态、确定性的变化会给攻击者对系统的观察和预测产生极大的难度,从而降低安全风险。
虽然PBFT 已经有了指数级的性能提升, 但平方级的时空复杂度和较低的容错率还是使得其可扩展性较低,其中一种现有的优化策略即是通过选举精简参与共识的节点数量。举例来说,委托拜占庭容错,简称dBFT, 即Delegated Byzantine Fault Tolerance,就是采取这种优化策略的PBFT改进算法,其结合了 PoS 与PBFT 机制提出的算法,过在去中心化程度与效率之间找寻了一个平衡点,通过弱中心化实现效率的大幅提升。节点根据自己的股权进行投票, 选出记账进行共识,普通节点不参与共识, 但是可以看到整个流程。选举的机制让 dBFT 具有良好的性能和可扩展性,算法也引入了数字身份, 这意味着参与共识的节点可以是个体或者某些机构。dBFT具有上链即确认的特性, 避免了PoW和PoS的确认时间和隐患, 能在金融场景的应用中提供更好的安全性。如果在一定时间内还未达成一致的提案,或者发现有非法交易的话,可以由其他记账节点重新发起提案,形成最终确定的区块。
对于BFT类算法,虽然这种现有技术能够通过减少了共识成本的优化思路带来了性能的提升, 但是也削弱了区块链去中心化的优点, 从而引入了不安全因素,甚至某些算法的选举流程是静态的, 例如dBFT,其选举方案和结果完全由项目方决定, 同时也只能容忍部分被选举出的记账节点是恶意节点。
另一种现有技术中,虽然也将拟态防御思想结合到区块链系统中的研究,例如借鉴拟态防御的思想,提出了动态异构共识机制和动态异构冗余签名机制的设计,来搭建拟态化的区块链系统架构。但是目前结合拟态防御的区块链动态异构共识机制还属于动态异构阶段,并没有进一步考虑冗余的成分,无法增强系统的安全性。而且其设计的动态异构冗余签名机制还存在量子密码算法公钥量大以及算法速度慢等问题。
发明内容
本发明所要解决的技术问题是需要提供一种基于拟态防御的拜占庭容错实现方法,旨在保证拜占庭容错能力的同时,还通过引入动态异构冗余的元素,提升整体的安全性能。在此基础上,还进一步提供采用了该基于拟态防御的拜占庭容错实现方法的拜占庭容错实现系统。
对此,本发明提供一种基于拟态防御的拜占庭容错实现方法,包括以下步骤:
步骤S1,对普通节点进行分片操作,并生成节点的公私钥信息;
步骤S2,通过密码抽签为分片内的节点划分节点角色;
步骤S3,先通过不同分片中具有记账权的节点对相同的交易进行打包,再由具有表决权的节点进行投票;
步骤S4,先通过各分片的领导节点共同组成多模裁决组,然后通过多模裁决组对投票结果进行动态分布式多模裁决以形成裁决结果;
步骤S5,各分片的领导节点广播所述裁决结果,所有节点进行存储区块组和更新内存变量。
本发明的进一步改进在于,所述步骤S1包括以下子步骤:
步骤S101,建立
Figure 259335DEST_PATH_IMAGE001
个分片的查找表,再对输入的普通节点的身份标识进行哈希运算,其中,
Figure 910896DEST_PATH_IMAGE001
指的是预设的分片数;
步骤S102,进行哈希运算之后取余,根据取余结果在所述查找表中获得对应的分片号;
步骤S103,重复步骤S101和步骤S102的运算过程,直到所有的普通节点均匀分配至所述
Figure 221792DEST_PATH_IMAGE001
个分片中。
本发明的进一步改进在于,所述步骤S2包括以下子步骤:
步骤S201,编号为i的分片内的第j个普通节点以私钥和和随机种子作为可验证随机函数的输入,通过可验证随机函数计算在当前第r个共识周期的抽签结果
Figure 148159DEST_PATH_IMAGE002
和抽签证明
Figure 759269DEST_PATH_IMAGE003
,共同作为抽签凭证,并发送给分片内其他节点;
步骤S202,在预设的时间周期T内,节点收集分片内来自其他节点的抽签凭证;
步骤S203,选取抽签结果中最小的
Figure 863623DEST_PATH_IMAGE004
个普通节点作为当前分片本轮的记账节点参与记账,且其中抽签结果最小的抽签者作为本轮的领导节点,其中,
Figure 865077DEST_PATH_IMAGE004
表示每个分片选出的具有记账权的节点的个数。
本发明的进一步改进在于,所述步骤S2中,如果超过预设的时间周期T没有收集到
Figure 595135DEST_PATH_IMAGE005
个抽签结果,则进行重新抽签,
Figure 795172DEST_PATH_IMAGE005
表示编号为i的分片中的有效节点的个数;如果在
Figure 319695DEST_PATH_IMAGE006
轮抽签中一直没有收到特定普通节点的抽签信息,则向其他普通节点提出屏蔽该特定普通节点的申请,
Figure 618564DEST_PATH_IMAGE006
指的是预设的抽签循环次数。
本发明的进一步改进在于,所述步骤S3包括以下子步骤:
步骤S301,通过
Figure 886735DEST_PATH_IMAGE007
表示在第r个共识周期内,编号为i的分片中的编号为j的记账节点从本地交易池打包预设数量的交易生成的区块;
步骤S302,先验证抽签证明
Figure 144541DEST_PATH_IMAGE003
是否能计算出抽签结果
Figure 105543DEST_PATH_IMAGE002
,并接着验证抽签证明
Figure 143907DEST_PATH_IMAGE003
是否是通过随机种子生成,直到是则将对区块
Figure 700921DEST_PATH_IMAGE007
的投票结果
Figure 78813DEST_PATH_IMAGE008
用私钥签名后,发送给相应分片的领导节点。
本发明的进一步改进在于,所述步骤S5包括以下子步骤:
步骤S501,各个分片内的节点在接收到区块组头后,把区块组头与之前收到的合法区块集合和区块签名信息重组成完整的区块组;
步骤S502,检查是否满足广播执行条件,直到是,则存储区块组和更新内存变量,并在执行完之后进入下一轮共识,其中,所述广播执行条件包括:接收到与当前轮共识度达到预设要求的区块组头、对区块组头的信息验证通过以及接收到所有通过投票的区块。
本发明的进一步改进在于,所述步骤S1中,当新节点加入或拜占庭节点超过预设比例时,触发重新进行分片;
当新节点加入时,新节点向全网发送探测消息,在收到新节点的探测消息后,各个分片会向新节点发送各分片的有效节点状态表,新节点进入普通节点个数最小的分片;如果多个分片的普通节点个数相同,则执行Maglev算法随机进入到其中的一个分片中;
在每个分片设立一个拜占庭区记录拜占庭节点,当某一分片的拜占庭区的节点数目大于该分片内记账节点数的1/3时,判断该分片故障,且所有节点不再参与到组内共识与全局共识当中;故障分片内非拜占庭节点向区块链网络其他分片节点广播故障消息,其余节点根据监测到的故障消息将故障分片的组员添加至拜占庭区,当拜占庭区的分片数大于分片数
Figure 945138DEST_PATH_IMAGE009
的1/3时,则判定为拜占庭节点超过预设比例,触发重新进行分片。
本发明的进一步改进在于,所述步骤S4包括以下子步骤:
步骤S401,判断分片冗余区块的赞成票情况是否满足条件:
Figure 205218DEST_PATH_IMAGE010
,若是,则完成裁决,若否,则跳转至步骤S402,其中,
Figure 80770DEST_PATH_IMAGE011
表示所在分片内对于分片冗余区块的投票,
Figure 860638DEST_PATH_IMAGE012
表示具有投票表决权的节点数;
步骤S402,进行迭代以实现所有领导节点达成一致,在第k次迭代时,领导节点的所在分片的投票结果
Figure 366706DEST_PATH_IMAGE013
通过公式
Figure 848503DEST_PATH_IMAGE014
进行更新,其中,
Figure 527746DEST_PATH_IMAGE015
,
Figure 411388DEST_PATH_IMAGE009
指的是预设的分片数;
Figure 635827DEST_PATH_IMAGE016
指的是第k-1次迭代的投票结果;
Figure 808183DEST_PATH_IMAGE017
Figure 759958DEST_PATH_IMAGE018
指的是预设的迭代权重,
Figure 29265DEST_PATH_IMAGE019
步骤S403,所有领导节点都与其他分片的领导节点交换各自分片的投票结果,并更新自己分片的投票结果,经过多次迭代直到各个领导节点的投票结果达成一致,
Figure 673873DEST_PATH_IMAGE020
,则进一步判断是否满足
Figure 333525DEST_PATH_IMAGE021
,直到是则完成裁决。
本发明的进一步改进在于,在进行迭代过程中,设置一个可动态变化的门限;对于第一次迭代,通过公式
Figure 836794DEST_PATH_IMAGE022
设置第一门限值,其中,
Figure 429449DEST_PATH_IMAGE023
表示当前分片内领导节点在第一次迭代的投票结果,
Figure 510538DEST_PATH_IMAGE024
表示其他领导节点在第一次迭代的投票结果;对于第kk≥2)次迭代,通过公式
Figure 454223DEST_PATH_IMAGE025
对门限值
Figure 764113DEST_PATH_IMAGE026
进行更新,其中,
Figure 680116DEST_PATH_IMAGE027
表示其他领导节点在第k-1次迭代的投票结果,
Figure 400947DEST_PATH_IMAGE028
表示其他领导节点在第k次迭代的投票结果,
Figure 831929DEST_PATH_IMAGE029
表示在第k-1次迭代的门限值。
本发明还提供一种基于拟态防御的拜占庭容错实现系统,采用了如上所述的基于拟态防御的拜占庭容错实现方法,并包括:
分片模块,对普通节点进行分片操作,并生成节点的公私钥信息;
节点角色划分模块,通过密码抽签为分片内的节点划分节点角色;
打包模块,先通过不同分片中具有记账权的节点对相同的交易进行打包,再由具有表决权的节点进行投票;
多模裁决模块,先通过各分片的领导节点共同组成多模裁决组,然后通过多模裁决组对投票结果进行动态分布式多模裁决以形成裁决结果;
广播模块,各分片的领导节点广播所述裁决结果,所有节点进行存储区块组和更新内存变量。
与现有技术相比,本发明的有益效果在于:提出基于拟态防御的基础上实现拜占庭容错的技术方案,旨在保证拜占庭容错能力的同时,还通过引入动态异构冗余的元素,能够在保证高效的共识效率的基础上,对日蚀攻击和自私挖矿等攻击手段都具有极强的抵御能力,进而提升了整体的分区容忍性以及结果的可靠性,提高了由部分节点的共识代替全局共识时损失的部分拜占庭容错能力。此外,还进一步通过对节点的分片优化设计,保证了节点的分片尽可能随机均衡,且在新节点加入或拜占庭节点超过预设比例时通过分片重组来平衡共识效率和系统安全。加之,再进一步基于多模裁决组的动态分布式多模裁决,即使在存在恶意领导节点作恶和网络分区的情况下,也能够很好地保证达成全局一致的共识结果,全面保证系统的稳健性能。
附图说明
图1是本发明一种实施例的工作流程示意图;
图2是本发明一种实施例基于拟态安全的改进PPoV的共识流程示意图;
图3是本发明一种实施例通过查找表查找节点分片结果的示意图;
图4是本发明一种实施例多个分片领导节点组成的裁决组的示意图。
具体实施方式
下面结合附图,对本发明的较优的实施例作进一步的详细说明。
动态异构冗余构造,简称DHR,主要包括输入代理、可重构异构执行体集、多模裁决器等部件。DHR基本思想是首先从异构元素池选取多个异构元素, 组合生成 m 个具有相同功能的异构构件。然后,通过动态选择算法, 选择出 n 个异构构件作为执行体,这里的生成方式可以是重构、重组或者重定义,同时可能考虑干扰环境和架构性能等因素。最终,多模裁决器对 n 个执行体的输出结果进行差异性判决,屏蔽漏洞威胁, 使攻击场景在时空维度上难以再现。
考虑到现有的单个共识机制或者多个共识机制的串行模式都会受到某些攻击威胁,动态异构共识机制存在3种不同的共识算法,即PoW、Casper 的PoS以及PBFT三种共识算法。同时,动态异构共识机制借用了密码抽签技术,在每一共识轮中,每个共识参与者需要根据上一个区块的哈希值以及目前的区块序号形成的哈希值的签名值做一个密码抽签凭证,这里的密码抽签凭证有两个功能:一是密码抽签凭证最小的用户在某些胜选的共识算法中具有重要地位,比如 PBFT 的领导节点,领导节点也称leader;另外一个功能是根据密码抽签凭证确定每个节点在此共识轮中需要采用的共识算法。
动态异构冗余签名机制主要考虑的是采用不同密码体制的异构冗余,即3种签名算法代替之前的单一的签名算法,采用先执行后表决的 DHR 模型,进行交易的输入脚本中只有一个签名和该签名对应的公钥哈希,输出脚本中包含3个签名对应的公钥哈希,使得每个消息的大小与现有消息的大小基本相同。
为改善实用拜占庭容错PBFT的可扩展性问题,常见的拜占庭容错改进方案采用选举的策略,通过降低全局共识的节点数量来减低消息交互的次数。并行投票共识PPoV也是采用的通过投票选举过程用部分节点共识来代替全网共识的方式来提升共识速度,这种技术虽然能够提升效率,但是采用的是部分共识节点之间的共识代替全网共识,削弱了区块链去中心化的优点, 引入了不安全因素,从而无法提供与实用拜占庭容错PBFT同等的拜占庭容错能力。而现有的基于拟态的区块链方案,虽然采用了密码抽签机制,结合多种共识算法,使在共识层面达到动态异构的效果,但是,这种动态异构共识机制缺少必要的冗余成分,无法保证其安全性能。
针对上述问题,本实施例提供一种基于拟态防御的拜占庭容错实现方法及系统,以PPoV为例,旨在保证拜占庭容错能力的同时,还通过引入动态异构冗余的元素,提升整体的安全性能。
对此,如图1所示,本实施例提供一种基于拟态防御的拜占庭容错实现方法,包括以下步骤:
步骤S1,对普通节点进行分片操作,并生成节点的公私钥信息;
步骤S2,通过密码抽签为分片内的节点划分节点角色;
步骤S3,先通过不同分片中具有记账权的节点对相同的交易进行打包,再由具有表决权的节点进行投票;
步骤S4,先通过各分片的领导节点共同组成多模裁决组,然后通过多模裁决组对投票结果进行动态分布式多模裁决以形成裁决结果;
步骤S5,各分片的领导节点广播所述裁决结果,所有节点进行存储区块组和更新内存变量。
本实施例所述的基于拟态防御的拜占庭容错实现方法,指的是一种结合多种密码学算法的基于拟态防御思想的BFT类共识改进技术方案,描述的共识流程包括步骤S1的Setup阶段、步骤S2的Prepare阶段、步骤S3的Vote阶段、步骤S4的Adjudge阶段和步骤S5的Commit 阶段共五个阶段,在实际应用中可以依据具体的共识需求进行一定差异性的设计。
其中,如图1和图2所示,在本实施例所述步骤S1中,Setup Phase指的是Setup阶段,即通过节点分片的技术方案对普通节点进行分片操作,同时还包括生成一些必要的信息,如节点公私钥,即公钥和私钥。所述步骤S2中,Prepare Phase指的是Prepare阶段,即通过密码抽签技术为各分片内的节点划分角色,通过BFT类算法实现选举。所述步骤S3中,Vote Phase指的是Vote阶段,描述的是先由不同分片中具有记账权的节点对相同的交易进行打包,再由具有表决权的节点进行投票的过程。所述步骤S4中,Adjudge Phase指的是Adjudge阶段,包括由各分片的领导节点共同组成的多模裁决组对投票结果进行动态分布式多模裁决方案并形成一致结果的过程,领导节点也称Leader。所述步骤S5中,CommitPhase指的是Commit阶段,即通过各分片领导节点广播裁决结果,所有节点进行存储区块组和更新内存变量的操作。
开始共识前,必须先对所有普通节点进行分片,在PPoV中此类普通节点称为Candidate。考虑到节点遭到攻击或者主动退出会导致分片结构变化,本实施例采用Maglev算法作为节点分片算法。本实施例所述步骤S1包括以下子步骤:
步骤S101,建立
Figure 194777DEST_PATH_IMAGE001
个分片的查找表,再对输入的普通节点Candidate的身份标识进行哈希运算,其中,
Figure 230866DEST_PATH_IMAGE001
指的是预设的分片数;
步骤S102,进行哈希运算之后取余,根据取余结果在所述查找表中获得对应的分片号;
步骤S103,重复步骤S101和步骤S102的运算过程,直到所有的普通节点均匀分配至所述
Figure 873331DEST_PATH_IMAGE001
个分片中。
本实施例所述步骤S1分片完后,每个普通节点Candidate都独立地生成一对公私钥。对于不进行分片的
Figure 791609DEST_PATH_IMAGE030
个具有投票表决权的节点,在PPoV中此类具有投票表决权的节点称为Voter,即投票节点也称Voter,每个Voter也独立地生成一对公私钥。
本实施例所述步骤S2包括以下子步骤:
步骤S201,各分片开始独立地进行共识,编号为i的分片内的第j个普通节点Candidate以私钥和和随机种子seed作为可验证随机函数的输入,通过可验证随机函数计算在当前第r个共识周期的抽签结果
Figure 958148DEST_PATH_IMAGE002
和抽签证明
Figure 379902DEST_PATH_IMAGE003
,共同作为抽签凭证,并发送给分片内其他节点;
步骤S202,在预设的时间周期T内,节点收集分片内来自其他节点的抽签凭证;预设的时间周期T可以根据实际情况和需求进行自定义设置和调整;
步骤S203,选取抽签结果中最小的
Figure 911377DEST_PATH_IMAGE004
个普通节点作为当前分片本轮的记账节点参与记账,且其中抽签结果最小的抽签者作为本轮的领导节点,领导节点也称主节点,在PPoV中称为Leader;其中,
Figure 802104DEST_PATH_IMAGE004
表示每个分片选出的具有记账权的节点的个数,该类节点在PPoV中称为Bookkeeper,即记账节点也称Bookkeeper或轮值记账节点。
本实施例所述步骤S2中,如果超过预设的时间周期T没有收集到
Figure 506755DEST_PATH_IMAGE005
个抽签结果,则进行重新抽签,
Figure 314174DEST_PATH_IMAGE005
表示编号为i的分片中的有效节点的个数;如果在
Figure 813288DEST_PATH_IMAGE006
轮抽签中一直没有收到特定普通节点的抽签信息,则向其他普通节点提出屏蔽该特定普通节点的申请,以便使得分片内对于Bookkeeper的选举结果能够达成一致;
Figure 643841DEST_PATH_IMAGE006
指的是预设的抽签循环次数,可以根据实际情况和需求进行自定义设置与调整。
在步骤S2中,各分片已经确定分片内的节点角色。值得注意的是,对于同个共识周期,每个分片打包进区块的交易均相同,这一点由输入代理保证,对于分片间包含相同交易的区块,本实施例称为分片冗余区块。
本实施例所述步骤S3包括以下子步骤:
步骤S301,通过
Figure 634406DEST_PATH_IMAGE007
表示在第r个共识周期内,编号为i的分片中的编号为j的记账节点从本地交易池打包预设数量的交易生成的区块,预设数量可以根据实际情况和需求进行自定义设置与调整;记账节点广播自己产生的区块到分片内的其他节点以及分片外的投票节点;
步骤S302,投票节点(Voter)对收集到全部的区块后进行校验表决,先验证抽签证明
Figure 30753DEST_PATH_IMAGE003
是否能计算出抽签结果
Figure 966348DEST_PATH_IMAGE002
,并接着验证抽签证明
Figure 80934DEST_PATH_IMAGE003
是否是通过随机种子生成,直到是则将对区块
Figure 612541DEST_PATH_IMAGE007
的投票结果
Figure 332235DEST_PATH_IMAGE008
用私钥签名后,发送给相应分片的领导节点。
在步骤S3中,对于某一个区块,轮值记账节点只需接收到超过2Nv/3投票即可开始统计,统计完所有区块的投票情况,具体表现为对某个区块内交易的表决,最后将投票情况发送给其他分片的领导节点。
本实施例所述步骤S4中,各个分片的领导节点共同组成裁决组,领导节点收到其他分片对具有相同交易的区块投票结果后,结合自己的投票结果,通过多次迭代实现所有领导节点达成一致,组成完整的区块组头信息并广播给分片内的其他节点。
本实施例所述步骤S5包括以下子步骤:
步骤S501,各个分片内的节点在接收到区块组头后,把区块组头与之前收到的合法区块集合和区块签名信息重组成完整的区块组,重组的过程可以采用现有PPoV组装区块组头的过程;
步骤S502,检查是否满足广播执行条件,直到是,则存储区块组和更新内存变量,并在执行完之后进入下一轮共识,其中,所述广播执行条件包括:接收到与当前轮共识度达到预设要求的区块组头、对区块组头的信息验证通过以及接收到所有通过投票的区块。所述共识度达到预设要求指的是根据实际情况预先设置的共识度阈值,用于判断与当前轮共识度是否相同,即,本实施例检查是否满足广播执行条件包括:接收到与当前轮共识高度相同的区块组头且对区块组头的信息验证通过;接收到所有通过投票的区块。如果存在等待直至超时的情况,超时分片采用现有的PPoV超时处理机制即可。
共识开始前,本实施例通过步骤S1对所有普通节点Candidate进行分片的设计,本实施例的节点分片技术方案中采用了Maglev算法,其优势在于映射均匀,并在重新分片来进行系统恢复时,能尽可能把分片重组时的映射变化降到最小。首先,根据算法建立
Figure 173152DEST_PATH_IMAGE001
个分片的查找表, 再对输入的普通节点Candidate的身份标识
Figure 775035DEST_PATH_IMAGE031
做哈希运算然后取余,最后根据取余结果,在查找表中获得对应的分片号。
通过举例来说明,如图3所示,Lookup Table 表示查找表,里面记录了一个根据Maglev算法生成的包含
Figure 625179DEST_PATH_IMAGE032
三个分片号的随机序列,查找表的长度为
Figure 199380DEST_PATH_IMAGE033
。当输入节点k的身份标识
Figure 961931DEST_PATH_IMAGE034
时,则通过公式
Figure 785530DEST_PATH_IMAGE035
将节点映射到编号为
Figure 439365DEST_PATH_IMAGE036
的分片。重复以上过程,直到将所有普通节点Candidates均匀地分配到这
Figure 664810DEST_PATH_IMAGE001
分片中,正常情况下不需重新分片;但是,当新节点加入或拜占庭节点超过预设比例时,触发重新进行分片。
当新节点加入时,新节点向全网发送探测消息,在收到新节点的探测消息后,各个分片会向新节点发送各分片的有效节点状态表,新节点进入普通节点个数最小的分片;如果多个分片的普通节点个数相同,则执行Maglev算法随机进入到其中的一个分片中。
在多模裁决组在迭代过程中,本实施例优选通过动态门限的设定,以快速发现作恶的拜占庭领导节点。在每个分片设立一个拜占庭区记录拜占庭节点,当某一分片的拜占庭区的节点数目大于该分片内记账节点数的1/3时,记为
Figure 598262DEST_PATH_IMAGE037
,则判断该分片故障,且所有节点不再参与到组内共识与全局共识当中。故障分片内非拜占庭节点向区块链网络其他分片节点广播故障消息,其余节点根据监测到的故障消息将故障分片的组员添加至拜占庭区,当拜占庭区的分片数大于分片数
Figure 378000DEST_PATH_IMAGE009
的1/3时,记为
Figure 304367DEST_PATH_IMAGE038
,则判定为拜占庭节点超过预设比例,触发重新进行分片。本实施例所述的大于指的是不小于,即包括大于等于。
如果某一个分片的领导节点为拜占庭节点,而该分片的拜占庭区的节点数目少于
Figure 649898DEST_PATH_IMAGE037
,该分片仍可以继续参与共识,只是此分片内的拜占庭节点无法再通过抽签担任记账节点或者领导节点。
本实施例的多模裁决组的结构可视为一个由各个分片内的领导节点构成的无向连通图,
Figure 269098DEST_PATH_IMAGE039
表示所有领导节点的集合,任意两个领导节点都存在一条路径相连,如图4所示,领导节点记作
Figure 270552DEST_PATH_IMAGE040
对于任意一个分片的
Figure 748414DEST_PATH_IMAGE041
已获得所在分片内,对于某一个分片冗余区块的投票,记为
Figure 948451DEST_PATH_IMAGE011
。接着,与其他除了在自己拜占庭列表内的每一个分片的领导节点都交换所在分片内的投票结果。
本实施例所述步骤S4包括以下子步骤:
步骤S401,当接收到的包括自己在内的,对于任意一个分片,判断分片冗余区块的赞成票情况是否满足条件:
Figure 738552DEST_PATH_IMAGE010
,若是,则完成裁决,不必进行迭代,若否,则跳转至步骤S402,其中,
Figure 227302DEST_PATH_IMAGE011
表示所在分片内对于分片冗余区块的投票;
Figure 495473DEST_PATH_IMAGE012
表示具有投票表决权的节点数,即投票节点的数量;
步骤S402,进行迭代以实现所有领导节点达成一致,在第k次迭代时,领导节点的所在分片的投票结果
Figure 566328DEST_PATH_IMAGE013
通过公式
Figure 527331DEST_PATH_IMAGE014
进行更新,其中,
Figure 34535DEST_PATH_IMAGE015
,
Figure 309659DEST_PATH_IMAGE009
指的是预设的分片数;
Figure 484288DEST_PATH_IMAGE016
指的是第k-1次迭代的投票结果;
Figure 366925DEST_PATH_IMAGE017
Figure 627005DEST_PATH_IMAGE018
指的是预设的迭代权重,所述迭代权重值可以根据实际情况和需求进行自定义设置于调整,在迭代过程中可以保持不变,并满足
Figure 440240DEST_PATH_IMAGE019
il均用于表示分片编号,对于任意一个
Figure 469376DEST_PATH_IMAGE042
满足
Figure 506602DEST_PATH_IMAGE019
Figure 270290DEST_PATH_IMAGE017
指的是
Figure 683954DEST_PATH_IMAGE043
的迭代权重值;
步骤S403,所有领导节点都与其他分片的领导节点交换各自分片的投票结果,并更新自己分片的投票结果,经过多次迭代直到各个领导节点的投票结果达成一致,
Figure 770858DEST_PATH_IMAGE020
,此时,
Figure 244565DEST_PATH_IMAGE044
即可代表各个领导节点达到一致时,各个分片的一致投票裁决结果,也就是裁决组的最终裁决结果;对于该区块而言,进一步判断是否满足
Figure 479237DEST_PATH_IMAGE021
,直到是则表示为合法区块,完成裁决。最后,每个领导节点根据裁决结果组成完整的区块组头信息并广播给分片内的其他节点。
在所述步骤S401中,满足条件:
Figure 202253DEST_PATH_IMAGE010
,明显比“所有节点在一个分片内执行BFT类算法,对于f个恶意节点,至少有2f+1个节点的“接受提议”消息,则正式裁定此提议生效”这种优化之前的条件更为严格,因此,本实施例的安全性能更高。
值得说明的是,本实施例在进行迭代过程中,优选设置一个可动态变化的门限;对于第一次迭代,通过公式
Figure 409244DEST_PATH_IMAGE022
设置第一门限值,其中,
Figure 788272DEST_PATH_IMAGE023
表示当前分片内领导节点在第一次迭代的投票结果,
Figure 510241DEST_PATH_IMAGE024
表示其他领导节点在第一次迭代的投票结果;对于第kk≥2)次迭代,通过公式
Figure 265707DEST_PATH_IMAGE025
对门限值
Figure 327204DEST_PATH_IMAGE026
进行更新,其中,
Figure 893446DEST_PATH_IMAGE027
表示其他领导节点在第k-1次迭代的投票结果,
Figure 837131DEST_PATH_IMAGE028
表示其他领导节点在第k次迭代的投票结果,
Figure 396288DEST_PATH_IMAGE029
表示在第k-1次迭代的门限值。
正常情况下,随着迭代次数的增加,各个领导节点的投票结果趋于一致,那么每一次的迭代中门限值的变化幅度不断减小,最终趋于0。
在计算
Figure 109029DEST_PATH_IMAGE045
的过程中,通过其计算结果与
Figure 846172DEST_PATH_IMAGE026
比较,如果差值超过预设设置的差值阈值,则认为分片l的节点是恶意节点把他加入到本分片的拜占庭列表中,且在之后的迭代过程中不再使用节点j的投票数据去更新自己的本地数据。所述差值阈值指的是预设设置的用于判断
Figure 480416DEST_PATH_IMAGE045
Figure 577685DEST_PATH_IMAGE026
之间的差值是否过大的预设阈值,可以根据实际情况和需求进行自定义设置与调整。
本实施例还提供一种基于拟态防御的拜占庭容错实现系统,采用了如上所述的基于拟态防御的拜占庭容错实现方法,并包括:
分片模块,对普通节点进行分片操作,并生成节点的公私钥信息;
节点角色划分模块,通过密码抽签为分片内的节点划分节点角色;
打包模块,先通过不同分片中具有记账权的节点对相同的交易进行打包,再由具有表决权的节点进行投票;
多模裁决模块,先通过各分片的领导节点共同组成多模裁决组,然后通过多模裁决组对投票结果进行动态分布式多模裁决以形成裁决结果;
广播模块,各分片的领导节点广播所述裁决结果,所有节点进行存储区块组和更新内存变量。
综上所述,本实施例提出基于拟态防御的基础上实现拜占庭容错的技术方案,旨在保证拜占庭容错能力的同时,还通过引入动态异构冗余的元素,能够在保证高效的共识效率的基础上,对日蚀攻击和自私挖矿等攻击手段都具有极强的抵御能力,进而提升了整体的分区容忍性以及结果的可靠性,提高了由部分节点的共识代替全局共识时损失的部分拜占庭容错能力。此外,还进一步通过对节点的分片优化设计,保证了节点的分片尽可能随机均衡,且在新节点加入或拜占庭节点超过预设比例时通过分片重组来平衡共识效率和系统安全。加之,再进一步基于多模裁决组的动态分布式多模裁决,即使在存在恶意领导节点作恶和网络分区的情况下,也能够很好地保证达成全局一致的共识结果,全面保证系统的稳健性能。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (9)

1.一种基于拟态防御的拜占庭容错实现方法,其特征在于,包括以下步骤:
步骤S1,对普通节点进行分片操作,并生成节点的公私钥信息;
步骤S2,通过密码抽签为分片内的节点划分节点角色;
步骤S3,先通过不同分片中具有记账权的节点对相同的交易进行打包,再由具有表决权的节点进行投票;
步骤S4,先通过各分片的领导节点共同组成多模裁决组,然后通过多模裁决组对投票结果进行动态分布式多模裁决以形成裁决结果;
步骤S5,各分片的领导节点广播所述裁决结果,所有节点进行存储区块组和更新内存变量;
所述步骤S4包括以下子步骤:
步骤S401,判断分片冗余区块的赞成票情况是否满足条件:
Figure QLYQS_1
,若是,则完成裁决,若否,则跳转至步骤S402,其中,
Figure QLYQS_2
表示所在分片内对于分片冗余区块的投票,
Figure QLYQS_3
表示具有投票表决权的节点数;
步骤S402,进行迭代以实现所有领导节点达成一致,在第k次迭代时,领导节点的所在分片的投票结果
Figure QLYQS_5
通过公式
Figure QLYQS_8
进行更新,其中,
Figure QLYQS_10
,
Figure QLYQS_6
指的是预设的分片数;
Figure QLYQS_9
指的是第k-1次迭代的投票结果;
Figure QLYQS_11
Figure QLYQS_12
指的是预设的迭代权重,
Figure QLYQS_4
Figure QLYQS_7
为查找表的长度;
步骤S403,所有领导节点都与其他分片的领导节点交换各自分片的投票结果,并更新自己分片的投票结果,经过多次迭代直到各个领导节点的投票结果达成一致,
Figure QLYQS_13
,则进一步判断是否满足
Figure QLYQS_14
,直到是则完成裁决。
2.根据权利要求1所述的基于拟态防御的拜占庭容错实现方法,其特征在于,所述步骤S1包括以下子步骤:
步骤S101,建立
Figure QLYQS_15
个分片的查找表,再对输入的普通节点的身份标识进行哈希运算,其中,
Figure QLYQS_16
指的是预设的分片数;
步骤S102,进行哈希运算之后取余,根据取余结果在所述查找表中获得对应的分片号;
步骤S103,重复步骤S101和步骤S102的运算过程,直到所有的普通节点均匀分配至所述
Figure QLYQS_17
个分片中。
3.根据权利要求1所述的基于拟态防御的拜占庭容错实现方法,其特征在于,所述步骤S2包括以下子步骤:
步骤S201,编号为i的分片内的第j个普通节点以私钥和和随机种子作为可验证随机函数的输入,通过可验证随机函数计算在当前第r个共识周期的抽签结果
Figure QLYQS_18
和抽签证明
Figure QLYQS_19
,共同作为抽签凭证,并发送给分片内其他节点;
步骤S202,在预设的时间周期T内,节点收集分片内来自其他节点的抽签凭证;
步骤S203,选取抽签结果中最小的
Figure QLYQS_20
个普通节点作为当前分片本轮的记账节点参与记账,且其中抽签结果最小的抽签者作为本轮的领导节点,其中,
Figure QLYQS_21
表示每个分片选出的具有记账权的节点的个数。
4.根据权利要求3所述的基于拟态防御的拜占庭容错实现方法,其特征在于,所述步骤S2中,如果超过预设的时间周期T没有收集到
Figure QLYQS_22
个抽签结果,则进行重新抽签,
Figure QLYQS_23
表示编号为i的分片中的有效节点的个数;如果在
Figure QLYQS_24
轮抽签中一直没有收到特定普通节点的抽签信息,则向其他普通节点提出屏蔽该特定普通节点的申请,
Figure QLYQS_25
指的是预设的抽签循环次数。
5.根据权利要求1所述的基于拟态防御的拜占庭容错实现方法,其特征在于,所述步骤S3包括以下子步骤:
步骤S301,通过
Figure QLYQS_26
表示在第r个共识周期内,编号为i的分片中的编号为j的记账节点从本地交易池打包预设数量的交易生成的区块;
步骤S302,先验证抽签证明
Figure QLYQS_27
是否能计算出抽签结果
Figure QLYQS_28
,并接着验证抽签证明
Figure QLYQS_29
是否是通过随机种子生成,直到是则将对区块
Figure QLYQS_30
的投票结果
Figure QLYQS_31
用私钥签名后,发送给相应分片的领导节点。
6.根据权利要求1所述的基于拟态防御的拜占庭容错实现方法,其特征在于,所述步骤S5包括以下子步骤:
步骤S501,各个分片内的节点在接收到区块组头后,把区块组头与之前收到的合法区块集合和区块签名信息重组成完整的区块组;
步骤S502,检查是否满足广播执行条件,直到是,则存储区块组和更新内存变量,并在执行完之后进入下一轮共识,其中,所述广播执行条件包括:接收到与当前轮共识度达到预设要求的区块组头、对区块组头的信息验证通过以及接收到所有通过投票的区块。
7.根据权利要求1至6任意一项所述的基于拟态防御的拜占庭容错实现方法,其特征在于,所述步骤S1中,当新节点加入或拜占庭节点超过预设比例时,触发重新进行分片;
当新节点加入时,新节点向全网发送探测消息,在收到新节点的探测消息后,各个分片会向新节点发送各分片的有效节点状态表,新节点进入普通节点个数最小的分片;如果多个分片的普通节点个数相同,则执行Maglev算法随机进入到其中的一个分片中;
在每个分片设立一个拜占庭区记录拜占庭节点,当某一分片的拜占庭区的节点数目大于该分片内记账节点数的1/3时,判断该分片故障,且所有节点不再参与到组内共识与全局共识当中;故障分片内非拜占庭节点向区块链网络其他分片节点广播故障消息,其余节点根据监测到的故障消息将故障分片的组员添加至拜占庭区,当拜占庭区的分片数大于分片数
Figure QLYQS_32
的1/3时,则判定为拜占庭节点超过预设比例,触发重新进行分片。
8. 根据权利要求1至6任意一项所述的基于拟态防御的拜占庭容错实现方法,其特征在于,在进行迭代过程中,设置一个可动态变化的门限;对于第一次迭代,通过公式
Figure QLYQS_35
设置第一门限值,其中,
Figure QLYQS_36
表示当前分片内领导节点在第一次迭代的投票结果,
Figure QLYQS_38
表示其他领导节点在第一次迭代的投票结果;对于第k次迭代,k≥2,通过公式
Figure QLYQS_34
对门限值
Figure QLYQS_37
进行更新,其中,
Figure QLYQS_39
表示其他领导节点在第k-1次迭代的投票结果,
Figure QLYQS_40
表示其他领导节点在第k次迭代的投票结果,
Figure QLYQS_33
表示在第k-1次迭代的门限值。
9.一种基于拟态防御的拜占庭容错实现系统,其特征在于,采用了如权利要求1至8任意一项所述的基于拟态防御的拜占庭容错实现方法,并包括:
分片模块,对普通节点进行分片操作,并生成节点的公私钥信息;
节点角色划分模块,通过密码抽签为分片内的节点划分节点角色;
打包模块,先通过不同分片中具有记账权的节点对相同的交易进行打包,再由具有表决权的节点进行投票;
多模裁决模块,先通过各分片的领导节点共同组成多模裁决组,然后通过多模裁决组对投票结果进行动态分布式多模裁决以形成裁决结果;
广播模块,各分片的领导节点广播所述裁决结果,所有节点进行存储区块组和更新内存变量。
CN202211533575.0A 2022-12-02 2022-12-02 一种基于拟态防御的拜占庭容错实现方法及系统 Active CN115549931B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211533575.0A CN115549931B (zh) 2022-12-02 2022-12-02 一种基于拟态防御的拜占庭容错实现方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211533575.0A CN115549931B (zh) 2022-12-02 2022-12-02 一种基于拟态防御的拜占庭容错实现方法及系统

Publications (2)

Publication Number Publication Date
CN115549931A CN115549931A (zh) 2022-12-30
CN115549931B true CN115549931B (zh) 2023-04-14

Family

ID=84722441

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211533575.0A Active CN115549931B (zh) 2022-12-02 2022-12-02 一种基于拟态防御的拜占庭容错实现方法及系统

Country Status (1)

Country Link
CN (1) CN115549931B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117221332B (zh) * 2023-06-08 2024-04-12 天津大学 基于多领导者拜占庭容错共识的高鲁棒性交易打包方法
CN116488946B (zh) * 2023-06-21 2023-09-15 积至网络(北京)有限公司 基于持续多模表决的恶意节点检测方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115412263A (zh) * 2022-09-06 2022-11-29 西南交通大学 一种基于双重盲化的拜占庭容错共识方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019232789A1 (zh) * 2018-06-08 2019-12-12 北京大学深圳研究生院 一种基于投票的共识方法
WO2020000011A1 (en) * 2018-06-25 2020-01-02 Commonwealth Scientific And Industrial Research Organisation Blockchain system and method
CN109919760B (zh) * 2019-01-11 2022-08-30 南京邮电大学 基于投票机制的拜占庭容错共识算法的优化方法
CN114124410B (zh) * 2021-11-30 2022-11-04 上海华能电子商务有限公司 一种适用于供应链场景下多方验证的改进型poa共识方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115412263A (zh) * 2022-09-06 2022-11-29 西南交通大学 一种基于双重盲化的拜占庭容错共识方法

Also Published As

Publication number Publication date
CN115549931A (zh) 2022-12-30

Similar Documents

Publication Publication Date Title
Zamani et al. Rapidchain: Scaling blockchain via full sharding
Fu et al. A survey of Blockchain consensus algorithms: mechanism, design and applications
Bano et al. SoK: Consensus in the age of blockchains
Wahab et al. Survey of consensus protocols
Bano et al. Consensus in the age of blockchains
CN110832825B (zh) 通过防篡改数据提高验证速度的网络的方法和节点
Sheng et al. BFT protocol forensics
CN115549931B (zh) 一种基于拟态防御的拜占庭容错实现方法及系统
Li et al. Gosig: A scalable and high-performance byzantine consensus for consortium blockchains
CN113271204B (zh) 一种基于量子密钥分发的拜占庭容错共识方法
CN111131209A (zh) 一种改进的高效共识方法、系统、计算机设备及存储介质
Li et al. A survey of state-of-the-art sharding blockchains: Models, components, and attack surfaces
Wan et al. AnonymousFox: An efficient and scalable blockchain consensus algorithm
Li et al. Gosig: Scalable byzantine consensus on adversarial wide area network for blockchains
Santiago et al. Concordia: a streamlined consensus protocol for blockchain networks
Li et al. ISCP: An Improved Blockchain Consensus Protocol.
Asayag et al. Helix: A scalable and fair consensus algorithm resistant to ordering manipulation
CN114140233B (zh) 分片区块链安全跨片视图转换方法及装置
Wu et al. Reinforced practical Byzantine fault tolerance consensus protocol for cyber physical systems
CN115022326A (zh) 基于协同过滤推荐的区块链拜占庭容错共识方法
CN115941680A (zh) 基于跨分片拜占庭容错算法的灵活分片区块链方法及装置
Sony et al. Slim-ABC: An Optimized Atomic Broadcast Protocol
Cao et al. A high efficiency network using DAG and consensus in blockchain
Tian et al. SLChain: A secure and low‐storage pressure sharding blockchain
Chen et al. An Efficient Byzantine Fault-Tolerant Consensus Mechanism Based on Aggregate Threshold Ring Signature

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