CN112532713B - 一种区块链的抗分叉检测方法及装置 - Google Patents
一种区块链的抗分叉检测方法及装置 Download PDFInfo
- Publication number
- CN112532713B CN112532713B CN202011334160.1A CN202011334160A CN112532713B CN 112532713 B CN112532713 B CN 112532713B CN 202011334160 A CN202011334160 A CN 202011334160A CN 112532713 B CN112532713 B CN 112532713B
- Authority
- CN
- China
- Prior art keywords
- node
- nodes
- clusters
- cluster
- blockchain
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Hardware Redundancy (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种区块链的抗分叉检测方法及装置,该方法包括获取共识任务,对待检测的区块链的各节点进行划分,确定出第一节点集群和多个第二节点集群,根据共识任务,控制第一节点集群选择性的向多个第二节点集群进行分叉攻击,确定出区块链中各节点共识后的账本状态,确定区块链中各节点共识后的账本状态是否一致,若不一致,则确定区块链不具备抗分叉特性。通过控制部分节点选择性的对其它节点集群户型分叉攻击,进而通过观察攻击后的各节点的账本状态来判断分叉发生情况,从而实现检测区块链的抗分叉特性,由于无需在生产环境下通过海量的区块数据来检测区块链的抗分叉性能,可以节省系统的开销,降低区块链网络的负担。
Description
技术领域
本发明涉及金融科技(Fintech)技术领域,尤其涉及一种区块链(Block Chain)的抗分叉检测方法及装置。
背景技术
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技转变,但由于金融行业的安全性、实时性要求,也对技术提出的更高的要求。在金融领域的区块链技术中,对区块链进行性能检测是一个重要的问题。
目前的区块链抗分叉安全性检验方法大部分需要直接部署到生产环境中,通过海量的区块数据或节点网络状态信息实时预测分叉发生的可能性,无论在计算和通信开销上都给区块链网络增加了许多负担。
发明内容
本发明实施例提供一种区块链的抗分叉检测方法及装置,用以提高区块链抗分叉的检测效率,节省系统的开销,降低区块链网络的负担。
第一方面,本发明实施例提供一种区块链的抗分叉检测方法,包括:
获取共识任务;
对待检测的区块链的各节点进行划分,确定出第一节点集群和多个第二节点集群;
根据所述共识任务,控制所述第一节点集群选择性的向所述多个第二节点集群进行分叉攻击,确定出所述区块链中各节点共识后的账本状态;
确定所述区块链中各节点共识后的账本状态是否一致,若不一致,则确定所述区块链不具备抗分叉特性。
上述技术方案中,通过控制部分节点选择性的对其它节点集群户型分叉攻击,进而通过观察攻击后的各节点的账本状态来判断分叉发生情况,从而实现检测区块链的抗分叉特性,由于无需在生产环境下通过海量的区块数据来检测区块链的抗分叉性能,可以节省系统的开销,降低区块链网络的负担。
可选的,所述对待检测的区块链的各节点进行划分,确定出第一节点集群和多个第二节点集群,包括:
从所述待检测的区块链的各节点中选择符合共识容错数量的多个节点,确定为所述第一节点集群;
将所述区块链的各节点中除所述第一节点集群中的节点之外的节点按照第一预设比例进行平均划分,得到所述多个第二节点集群。
可选的,所述根据所述共识任务,控制所述第一节点集群选择性的向所述多个第二节点集群进行分叉攻击,包括:
控制所述第一节点集群向按照第二预设比例从所述多个第二节点集群中选择出的第二节点集群发送共识同步信息。
可选的,所述控制所述第一节点集群向按照第二预设比例从所述多个第二节点集群中选择出的第二节点集群发送共识同步信息,包括:
从所述第一节点集群中确定出主节点,按照所述第二预设比例从所述多个第二节点集群中确定出多个第三节点集群,并所述多个第二节点集群中除所述多个第三节点集群之外的节点集群确定为第四节点集群;
在预准备阶段,控制所述主节点向所述第一节点集群中的各节点以及所述多个第三节点集群中的各节点广播第一广播消息;
在准备阶段,控制所述主节点向所述第一节点集群中的各节点以及所述多个第三节点集群中的各节点广播第二广播消息;
在确认阶段,控制所述主节点向所述第一节点集群中的各节点以及所述多个第三节点集群中的部分第三节点集群中的各节点广播确认消息。
可选的,所述共识任务为拜占庭共识任务。
第二方面,本发明实施例提供一种区块链的抗分叉检测装置,包括:
获取单元,用于获取共识任务;
处理单元,用于对待检测的区块链的各节点进行划分,确定出第一节点集群和多个第二节点集群;根据所述共识任务,控制所述第一节点集群选择性的向所述多个第二节点集群进行分叉攻击,确定出所述区块链中各节点共识后的账本状态;确定所述区块链中各节点共识后的账本状态是否一致,若不一致,则确定所述区块链不具备抗分叉特性。
可选的,所述处理单元具体用于:
从所述待检测的区块链的各节点中选择符合共识容错数量的多个节点,确定为所述第一节点集群;
将所述区块链的各节点中除所述第一节点集群中的节点之外的节点按照第一预设比例进行平均划分,得到所述多个第二节点集群。
可选的,所述处理单元具体用于:
控制所述第一节点集群向按照第二预设比例从所述多个第二节点集群中选择出的第二节点集群发送共识同步信息。
可选的,述处理单元具体用于:
从所述第一节点集群中确定出主节点,按照所述第二预设比例从所述多个第二节点集群中确定出多个第三节点集群,并所述多个第二节点集群中除所述多个第三节点集群之外的节点集群确定为第四节点集群;
在预准备阶段,控制所述主节点向所述第一节点集群中的各节点以及所述多个第三节点集群中的各节点广播第一广播消息;
在准备阶段,控制所述主节点向所述第一节点集群中的各节点以及所述多个第三节点集群中的各节点广播第二广播消息;
在确认阶段,控制所述主节点向所述第一节点集群中的各节点以及所述多个第三节点集群中的部分第三节点集群中的各节点广播确认消息。
可选的,所述共识任务为拜占庭共识任务。
第三方面,本发明实施例还提供一种计算设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述区块链的抗分叉检测方法。
第四方面,本发明实施例还提供一种计算机可读非易失性存储介质,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行上述区块链的抗分叉检测方法。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种系统架构的示意图;
图2为本发明实施例提供的一种区块链的抗分叉检测方法的流程示意图;
图3为本发明实施例提供的一种分叉攻击中预准备阶段消息传递的示意图;
图4为本发明实施例提供的一种分叉攻击中准备阶段消息传递的示意图;
图5为本发明实施例提供的一种分叉攻击中确认阶段消息传递的示意图;
图6为本发明实施例提供的一种攻击前后的区块链的账本状态的示意图;
图7为本发明实施例提供的一种区块链的抗分叉检测装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种系统架构。如图1所示,该系统架构可以包括区块链100和客户端200;
其中,客户端200可以为不同的机构使用的客户端200,该客户端200主要是向各区块链节点发送交易数据以及接收各区块链节点反馈的交易结果信息。
区块链100包括多个区块链节点,该多个区块链节点由多个区块组成,用于存储客户端200发送的交易数据。
需要说明的是,上述图1所示的结构仅是一种示例,本发明实施例对此不做限定。
基于上述描述,图2详细的示出了本发明实施例提供的一种区块链的抗分叉检测方法的流程,该流程可以由区块链的抗分叉检测装置执行。
如图2所示,该流程具体包括:
步骤201,获取共识任务。
在本发明实施例中,该共识任务是在测试网络下用于测试区块链的抗分叉特性的任务。本发明实施例能在测试网络下达到生产环境相当的抗分叉检测成果,由于测试网络中区块链运行的底层共识机制与生产环境下的共识机制相同。
步骤202,对待检测的区块链的各节点进行划分,确定出第一节点集群和多个第二节点集群。
在划分第一节点集群和第二节点集群时,主要是从待检测的区块链的各节点中选择符合共识容错数量的多个节点,确定为第一节点集群;然后将区块链的各节点中除第一节点集群中的节点之外的节点按照第一预设比例进行平均划分,得到多个第二节点集群。其中,该共识容错数量是有共识机制决定的,例如拜占庭共识机制的容错数量是总节点数量的1/3以内。该第一预设比例可以依据经验设置,例如可以为2/3。
假定区块链网络中总的节点数量为n,在抗分叉检测过程中,首先由检测方运行(n-1)/3=f数量的节点。此处假设有节点集群P1(第一节点集群)由检测方控制,其余节点集群划分为数量一致的P2、P3、P4。P2、P3、P4为第二节点集群。
步骤203,根据所述共识任务,控制所述第一节点集群选择性的向所述多个第二节点集群进行分叉攻击,确定出所述区块链中各节点共识后的账本状态。
在进行分叉攻击时,主要是控制第一节点集群向按照第二预设比例从多个第二节点集群中选择出的第二节点集群发送共识同步信息。其中,第二预设比例可以依据经验设置。
具体的,从第一节点集群中确定出主节点,按照第二预设比例从多个第二节点集群中确定出多个第三节点集群,并多个第二节点集群中除多个第三节点集群之外的节点集群确定为第四节点集群。在预准备阶段,控制主节点向所述第一节点集群中的各节点以及多个第三节点集群中的各节点广播第一广播消息。在准备阶段,控制主节点向所述第一节点集群中的各节点以及多个第三节点集群中的各节点广播第二广播消息。在确认阶段,控制主节点向所述第一节点集群中的各节点以及多个第三节点集群中的部分第三节点集群中的各节点广播确认消息。
例如,当P1中有节点当选为主节点时发动分叉攻击,测试区块链网络的抗分叉和抗失活特性。具体的分叉攻击如下:
1.如图3所示的预准备阶段,主节点所在节点集群P1把广播消息序号分配信息(第一广播消息)发送给P1,P2,P3节点集群(第三节点集群)中的各节点。但不与P4节点集群中的节点通信。
2.如图4所示的准备阶段,P1中的主节点集群广播准备信息(第二广播消息)发送给P1,P2,P3节点集群中的各节点。但不与P4节点集群中的节点通信。而P2,P3节点集群中的节点会把消息发给所有节点。此时P1、P2、P3节点集群中的节点均进入确认阶段。而由于P4节点集群中的节点最多收到2f相互交互消息,无法进入确认阶段。
3.如图5所示的确认阶段,P1节点集群中的主节点广播确认消息给P1,P2节点集群(部分第三节点集群)。但不发给P4节点集群。P2,P3节点集群会广播确认消息给所有的节点。此时P1、P2节点集群中的节点均能收到3f个对共识任务m的确认消息。P3节点集群和P4节点集群中的节点最多收到2f个对共识任务m的确认消息。P2节点集群中的节点将执行任务请求m中所包含的任务,并将结果直接发送给客户。但P1,P3,P4节点集群中的节点均不执行该任务。用户端无法得到任务处理的反馈。
当实行上述分叉攻击后,检测方控制节点集群P1不再回复任何消息。获取区块链中各节点的当前账本状态。
步骤204,确定所述区块链中各节点共识后的账本状态是否一致,若不一致,则确定所述区块链不具备抗分叉特性。
对比各节点共识后的账本状态,若不一致,则确定区块链不具备抗分叉特性,否则确定区块链具备抗分叉特性。
如上述分叉攻击,检测方节点集群P1中的主节点不发布状态更新消息,P2发布的状态更新消息则不同于P3和P4发布的状态更新消息。并且由于至少需要2f+1个相同的状态更新消息来更新一个节点的状态,P2状态无法与P3和P4同步。系统将长期处于不协调状态。
当执行上述分叉攻击后,检测方节点集群P1与诚实节点集群P3,P4合作共同执行客户端的另一个任务请求。所以各个节点的状态将进入不可恢复的不协调状态。如果分叉攻击发生后能观察到P2节点集群维护的账本与节点集群P1、P3以及P4不一致,即观察到区块链发生分叉现象,则能判断该PBFT(Practical Byzantine Fault Tolerance,实用拜占庭容错)共识的区块链不具备完备的抗分叉特性。
为了更好的解释本发明实施例,下面将在具体的实施场景下来描述上述数据处理的过程。
实验中有n=3+1=4个节点P1,P2,P3,P4。其中节点P1由检测方控制。检测开始时视图v的主节点是P1,任务信息为m,哈希后的任务信息记为H(m),各节点使用ECDSA(Elliptic Curve Digital Signature Algorithm,椭圆曲线数字签名算法)对广播信息进行签名,各节点公钥公开,私钥持有在本地,分叉攻击实施之前区块链状态为A→B→C→D。
1.在预准备阶段,P1把第一广播消息(m,<PRE-PREPARE,v,seq,H(m)>,SIGNATURE)发送给P1,P2,P3。但是不发给P4。
2.在准备阶段,P1把第二广播消息(<PREPARE,v,seq,H(m),P1>,SIGNATURE)发送给P1,P2,P3。但是不发给P4。在准备阶段节点P2,P3会把广播消息(<PREPARE,v,seq,H(m),P2>,SIGNATURE)和(<PREPARE,v,seq,H(m),P3>,SIGNATURE)发给所有的节点。此时节点P1,P2,P3准备完成。P4无法进入下一阶段。
3.在序号确认阶段,P1把广播消息(<COMMIT,v,seq,H(m),P1>,SIGNATURE)发送给P1,P2,但不发给P4。节点P2,P3把广播消息(<COMMIT,v,seq,H(m),P2>,SIGNATURE)和(<PREPARE,v,seq,H(m),P3>,SIGNATURE)发给所有的节点。此时,节点P1,P2收到了3个对任务m的确认消息。节点P3和P4最多收到2个对任务m的确认消息。节点P2执行任务请求m中所包含的任务,并将结果直接发送给客户。P1,P3,P4不执行该任务。客户收不到足够的回复。
此后,节点P1将不再回复任何视图v的任何消息。
可以观察到,分叉攻击实施后,如图6所示,P2本地维护的区块链是:A→B→C→D→E。但是P3,P4所记录的当前区块链仍然是A→B→C→D。接着检测方拜占庭节点P1与P3、P4达成共识,添加区块F。在P3,P4的记录能看到区块链是:A→B→C→D→F。因为区块E不同于区块F。区块链产生了分叉。由于下一个区块必须有当前区块链延伸出去,而P1不再参与任何区块链系统活动,可以观察到区块链系统发生分叉。从而检测得到该基于PBFT共识的区块链系统不具备很好的抗分叉特性。
本发明实施例能在测试网络下达到生产环境相当的抗分叉检测成果。由于测试网络中区块链运行的底层共识与生产环境下的共识机制相同,且从本发明共识机制和理论分析出发,不需要海量数据训练预测模型和客制化的区块信息,因此能大大减少区块链抗分叉性检测中所需的计算与通信开销。
本发明实施例适用的区块链系统更具有普遍性。以往针对区块链共识安全性的分析主要局限在PoW(Proof of Work,工作量证明)共识或PoS(Proof of Stake,权益证明)共识,在理论分析中往往采用经济模型判断共识的合理性。而当前区块链的应用趋势为无币区块链以及联盟链的兴起,其通常采用的共识均为PBFT共识或其修正算法,本发明所提出的区块链抗分叉算法基本适用于所有采用三阶段共识的BFT(Byzantine FaultTolerance,拜占庭容错)类算法,具有较广的应用场景。
在本发明实施例中,获取共识任务,对待检测的区块链的各节点进行划分,确定出第一节点集群和多个第二节点集群,根据共识任务,控制第一节点集群选择性的向多个第二节点集群进行分叉攻击,确定出区块链中各节点共识后的账本状态,确定区块链中各节点共识后的账本状态是否一致,若不一致,则确定区块链不具备抗分叉特性。通过控制部分节点选择性的对其它节点集群户型分叉攻击,进而通过观察攻击后的各节点的账本状态来判断分叉发生情况,从而实现检测区块链的抗分叉特性,由于无需在生产环境下通过海量的区块数据来检测区块链的抗分叉性能,可以节省系统的开销,降低区块链网络的负担。
基于相同的技术构思,图7示例性的示出了本发明实施例提供的一种区块链的抗分叉检测装置的结构,该装置可以执行区块链的抗分叉检测流程。
如图7所示,该装置具体包括:
获取单元701,用于获取共识任务;
处理单元702,用于对待检测的区块链的各节点进行划分,确定出第一节点集群和多个第二节点集群;根据所述共识任务,控制所述第一节点集群选择性的向所述多个第二节点集群进行分叉攻击,确定出所述区块链中各节点共识后的账本状态;确定所述区块链中各节点共识后的账本状态是否一致,若不一致,则确定所述区块链不具备抗分叉特性。
可选的,所述处理单元702具体用于:
从所述待检测的区块链的各节点中选择符合共识容错数量的多个节点,确定为所述第一节点集群;
将所述区块链的各节点中除所述第一节点集群中的节点之外的节点按照第一预设比例进行平均划分,得到所述多个第二节点集群。
可选的,所述处理单元702具体用于:
控制所述第一节点集群向按照第二预设比例从所述多个第二节点集群中选择出的第二节点集群发送共识同步信息。
可选的,所述处理单元702具体用于:
从所述第一节点集群中确定出主节点,按照所述第二预设比例从所述多个第二节点集群中确定出多个第三节点集群,并所述多个第二节点集群中除所述多个第三节点集群之外的节点集群确定为第四节点集群;
在预准备阶段,控制所述主节点向所述第一节点集群中的各节点以及所述多个第三节点集群中的各节点广播第一广播消息;
在准备阶段,控制所述主节点向所述第一节点集群中的各节点以及所述多个第三节点集群中的各节点广播第二广播消息;
在确认阶段,控制所述主节点向所述第一节点集群中的各节点以及所述多个第三节点集群中的部分第三节点集群中的各节点广播确认消息。
可选的,所述共识任务为拜占庭共识任务。
基于相同的技术构思,本发明实施例还提供了一种计算设备,包括:
存储器,用于存储程序指令;
处理器,用于调用存储器中存储的程序指令,按照获得的程序执行上述区块链的抗分叉检测方法。
基于相同的技术构思,本发明实施例还提供了一种计算机可读非易失性存储介质,包括计算机可读指令,当计算机读取并执行计算机可读指令时,使得计算机执行上述区块链的抗分叉检测方法。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (12)
1.一种区块链的抗分叉检测方法,其特征在于,包括:
获取共识任务;
对待检测的区块链的各节点进行划分,确定出第一节点集群和多个第二节点集群;
根据所述共识任务,控制所述第一节点集群选择性的向所述多个第二节点集群进行分叉攻击,确定出所述区块链中各节点共识后的账本状态;
确定所述区块链中各节点共识后的账本状态是否一致,若不一致,则确定所述区块链不具备抗分叉特性。
2.如权利要求1所述的方法,其特征在于,所述对待检测的区块链的各节点进行划分,确定出第一节点集群和多个第二节点集群,包括:
从所述待检测的区块链的各节点中选择符合共识容错数量的多个节点,确定为所述第一节点集群;
将所述区块链的各节点中除所述第一节点集群中的节点之外的节点按照第一预设比例进行平均划分,得到所述多个第二节点集群。
3.如权利要求1所述的方法,其特征在于,所述根据所述共识任务,控制所述第一节点集群选择性的向所述多个第二节点集群进行分叉攻击,包括:
控制所述第一节点集群向按照第二预设比例从所述多个第二节点集群中选择出的第二节点集群发送共识同步信息。
4.如权利要求3所述的方法,其特征在于,所述控制所述第一节点集群向按照第二预设比例从所述多个第二节点集群中选择出的第二节点集群发送共识同步信息,包括:
从所述第一节点集群中确定出主节点,按照所述第二预设比例从所述多个第二节点集群中确定出多个第三节点集群,并所述多个第二节点集群中除所述多个第三节点集群之外的节点集群确定为第四节点集群;
在预准备阶段,控制所述主节点向所述第一节点集群中的各节点以及所述多个第三节点集群中的各节点广播第一广播消息;
在准备阶段,控制所述主节点向所述第一节点集群中的各节点以及所述多个第三节点集群中的各节点广播第二广播消息;
在确认阶段,控制所述主节点向所述第一节点集群中的各节点以及所述多个第三节点集群中的部分第三节点集群中的各节点广播确认消息。
5.如权利要求1至4任一项所述的方法,其特征在于,所述共识任务为拜占庭共识任务。
6.一种区块链的抗分叉检测装置,其特征在于,包括:
获取单元,用于获取共识任务;
处理单元,用于对待检测的区块链的各节点进行划分,确定出第一节点集群和多个第二节点集群;根据所述共识任务,控制所述第一节点集群选择性的向所述多个第二节点集群进行分叉攻击,确定出所述区块链中各节点共识后的账本状态;确定所述区块链中各节点共识后的账本状态是否一致,若不一致,则确定所述区块链不具备抗分叉特性。
7.如权利要求6所述的装置,其特征在于,所述处理单元具体用于:
从所述待检测的区块链的各节点中选择符合共识容错数量的多个节点,确定为所述第一节点集群;
将所述区块链的各节点中除所述第一节点集群中的节点之外的节点按照第一预设比例进行平均划分,得到所述多个第二节点集群。
8.如权利要求6所述的装置,其特征在于,所述处理单元具体用于:
控制所述第一节点集群向按照第二预设比例从所述多个第二节点集群中选择出的第二节点集群发送共识同步信息。
9.如权利要求8所述的装置,其特征在于,所述处理单元具体用于:
从所述第一节点集群中确定出主节点,按照所述第二预设比例从所述多个第二节点集群中确定出多个第三节点集群,并所述多个第二节点集群中除所述多个第三节点集群之外的节点集群确定为第四节点集群;
在预准备阶段,控制所述主节点向所述第一节点集群中的各节点以及所述多个第三节点集群中的各节点广播第一广播消息;
在准备阶段,控制所述主节点向所述第一节点集群中的各节点以及所述多个第三节点集群中的各节点广播第二广播消息;
在确认阶段,控制所述主节点向所述第一节点集群中的各节点以及所述多个第三节点集群中的部分第三节点集群中的各节点广播确认消息。
10.如权利要求6至9任一项所述的装置,其特征在于,所述共识任务为拜占庭共识任务。
11.一种计算设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行权利要求1至5任一项所述的方法。
12.一种计算机可读非易失性存储介质,其特征在于,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行如权利要求1至5任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011334160.1A CN112532713B (zh) | 2020-11-25 | 2020-11-25 | 一种区块链的抗分叉检测方法及装置 |
PCT/CN2021/123806 WO2022111109A1 (zh) | 2020-11-25 | 2021-10-14 | 一种区块链的抗分叉检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011334160.1A CN112532713B (zh) | 2020-11-25 | 2020-11-25 | 一种区块链的抗分叉检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112532713A CN112532713A (zh) | 2021-03-19 |
CN112532713B true CN112532713B (zh) | 2023-05-16 |
Family
ID=74993165
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011334160.1A Active CN112532713B (zh) | 2020-11-25 | 2020-11-25 | 一种区块链的抗分叉检测方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112532713B (zh) |
WO (1) | WO2022111109A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112532713B (zh) * | 2020-11-25 | 2023-05-16 | 深圳前海微众银行股份有限公司 | 一种区块链的抗分叉检测方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109033832A (zh) * | 2018-06-22 | 2018-12-18 | 深圳前海益链网络科技有限公司 | 一种防范对区块链网络进行短暂分叉双花攻击的方法 |
CN109376528A (zh) * | 2018-10-26 | 2019-02-22 | 上海交通大学 | 一种基于区块链的可信身份管理系统和方法 |
CN109564740A (zh) * | 2016-08-16 | 2019-04-02 | 阿尔卡特朗讯 | 基于区块链的安全威胁检测方法和系统 |
CN111324591A (zh) * | 2020-01-20 | 2020-06-23 | 腾讯科技(深圳)有限公司 | 区块链分叉的检测方法及相关装置 |
CN111400106A (zh) * | 2020-03-27 | 2020-07-10 | 百度国际科技(深圳)有限公司 | 一种区块链账本同步方法、装置以及电子设备 |
WO2020182134A1 (zh) * | 2019-03-11 | 2020-09-17 | 京东方科技集团股份有限公司 | 区块链共识任务协调方法、区块链共识任务协调装置、区块链共识任务处理方法、区块链节点装置、区块链系统和存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110061889A (zh) * | 2019-04-01 | 2019-07-26 | 北京众享比特科技有限公司 | 区块链性能测试方法、装置、设备和存储介质 |
CN110097467B (zh) * | 2019-05-05 | 2021-04-13 | 华中科技大学 | 一种针对智能合约安全性和稳定性的侧链测试系统和方法 |
US11949691B2 (en) * | 2019-05-24 | 2024-04-02 | International Business Machines Corporation | Malicious peer identification |
CN111199400A (zh) * | 2019-12-31 | 2020-05-26 | 北京笔新互联网科技有限公司 | 区块链网络的安全监控方法及装置 |
CN112532713B (zh) * | 2020-11-25 | 2023-05-16 | 深圳前海微众银行股份有限公司 | 一种区块链的抗分叉检测方法及装置 |
-
2020
- 2020-11-25 CN CN202011334160.1A patent/CN112532713B/zh active Active
-
2021
- 2021-10-14 WO PCT/CN2021/123806 patent/WO2022111109A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109564740A (zh) * | 2016-08-16 | 2019-04-02 | 阿尔卡特朗讯 | 基于区块链的安全威胁检测方法和系统 |
CN109033832A (zh) * | 2018-06-22 | 2018-12-18 | 深圳前海益链网络科技有限公司 | 一种防范对区块链网络进行短暂分叉双花攻击的方法 |
CN109376528A (zh) * | 2018-10-26 | 2019-02-22 | 上海交通大学 | 一种基于区块链的可信身份管理系统和方法 |
WO2020182134A1 (zh) * | 2019-03-11 | 2020-09-17 | 京东方科技集团股份有限公司 | 区块链共识任务协调方法、区块链共识任务协调装置、区块链共识任务处理方法、区块链节点装置、区块链系统和存储介质 |
CN111324591A (zh) * | 2020-01-20 | 2020-06-23 | 腾讯科技(深圳)有限公司 | 区块链分叉的检测方法及相关装置 |
CN111400106A (zh) * | 2020-03-27 | 2020-07-10 | 百度国际科技(深圳)有限公司 | 一种区块链账本同步方法、装置以及电子设备 |
Non-Patent Citations (1)
Title |
---|
预防区块链分叉的节点检测算法;徐卫克;《电子技术与软件工程》;20200201(第03期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
WO2022111109A1 (zh) | 2022-06-02 |
CN112532713A (zh) | 2021-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109936457B (zh) | 区块链多方见证方法、装置、设备及计算机可读存储介质 | |
CN110597907B (zh) | 跨区块链的数据信息同步方法、装置、设备及介质 | |
CN112235379B (zh) | 一种区块链底层共享存储方法 | |
CN110417502B (zh) | 一种区块链节点时钟共识方法及装置 | |
US20180308091A1 (en) | Fairness preserving byzantine agreements | |
CN111625593B (zh) | 基于区块链的数据处理方法、装置、计算机设备 | |
CN109981279B (zh) | 一种区块链系统、通信方法、装置、设备及介质 | |
US20160224366A1 (en) | Virtual machine managing apparatus, virtual machine managing method, and program thereof | |
CN113347164B (zh) | 基于区块链的分布式共识系统及方法、设备、存储介质 | |
CN111698315B (zh) | 针对区块的数据处理方法、数据处理装置及计算机设备 | |
CN108509615B (zh) | 基于抽签机制的共识建立方法、装置及可读存储介质 | |
WO2022217807A1 (zh) | 区块链共识节点选择方法、装置、计算机设备和存储介质 | |
CN111224782B (zh) | 基于数字签名的数据校验方法、智能设备及存储介质 | |
CN113645278B (zh) | 一种区块链的跨链消息传输方法、设备、存储介质 | |
CN112418794B (zh) | 一种业务流转的方法及装置 | |
CN110009347B (zh) | 一种区块链交易信息审计的方法及装置 | |
CN112532713B (zh) | 一种区块链的抗分叉检测方法及装置 | |
CN111008827A (zh) | 一种跨链交易签名方法及装置 | |
CN112487091A (zh) | 一种确定区块链共识节点的方法及装置 | |
CN110417833B (zh) | 基于区块链的数据处理方法、装置及存储介质 | |
CN112671541B (zh) | 一种区块链网络中节点管理的方法及装置 | |
CN115866047B (zh) | 一种多方安全计算中的数据重定向方法、装置及电子设备 | |
CN111131329A (zh) | 区块链系统的数据共识方法、装置及硬件设备 | |
CN112084160B (zh) | 小曲线钢轨弯曲定位检测方法、装置及平台 | |
CN112685769A (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 |