WO2022111109A1 - Fork resistance detection method and apparatus for blockchain - Google Patents

Fork resistance detection method and apparatus for blockchain Download PDF

Info

Publication number
WO2022111109A1
WO2022111109A1 PCT/CN2021/123806 CN2021123806W WO2022111109A1 WO 2022111109 A1 WO2022111109 A1 WO 2022111109A1 CN 2021123806 W CN2021123806 W CN 2021123806W WO 2022111109 A1 WO2022111109 A1 WO 2022111109A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
blockchain
clusters
cluster
consensus
Prior art date
Application number
PCT/CN2021/123806
Other languages
French (fr)
Chinese (zh)
Inventor
刘杨
常庆安
彭木根
关建峰
陈宇杰
李辉忠
张开翔
范瑞彬
李成博
Original Assignee
深圳前海微众银行股份有限公司
北京邮电大学
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 深圳前海微众银行股份有限公司, 北京邮电大学 filed Critical 深圳前海微众银行股份有限公司
Publication of WO2022111109A1 publication Critical patent/WO2022111109A1/en

Links

Images

Classifications

    • 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
    • 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/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • 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
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • 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
    • H04L67/1097Protocols 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]
    • 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

Definitions

  • the invention relates to the technical field of financial technology (Fintech), and in particular, to a method and device for anti-fork detection of a block chain (Block Chain).
  • Embodiments of the present invention provide a method and device for anti-fork detection of a blockchain, so as to improve the detection efficiency of anti-fork of a blockchain, save system overhead, and reduce the burden on a blockchain network.
  • an embodiment of the present invention provides an anti-fork detection method for a blockchain, including:
  • control the first node cluster to selectively conduct a fork attack on the plurality of second node clusters, and determine the ledger state after consensus of each node in the blockchain;
  • the nodes of the blockchain to be detected are divided, and a first node cluster and a plurality of second node clusters are determined, including:
  • the plurality of second node clusters are obtained by evenly dividing the nodes in each node of the blockchain except the nodes in the first node cluster according to a first preset ratio.
  • controlling the first node cluster to selectively perform a fork attack on the plurality of second node clusters includes:
  • controlling the first node cluster to send consensus synchronization information to a second node cluster selected from the plurality of second node clusters according to a second preset ratio includes:
  • a master node is determined from the first node cluster, a plurality of third node clusters are determined from the plurality of second node clusters according to the second preset ratio, and the plurality of second node clusters are A node cluster other than the plurality of third node clusters is determined as a fourth node cluster;
  • controlling the master node to broadcast a first broadcast message to each node in the first node cluster and each node in the plurality of third node clusters;
  • controlling the master node to broadcast a second broadcast message to each node in the first node cluster and each node in the plurality of third node clusters;
  • the master node In the confirmation phase, the master node is controlled to broadcast a confirmation message to each node in the first node cluster and each node in some third node clusters in the plurality of third node clusters.
  • the consensus task is a Byzantine consensus task.
  • an embodiment of the present invention provides an anti-fork detection device for a blockchain, including:
  • the acquisition unit is used to acquire consensus tasks
  • the processing unit is used to divide each node of the blockchain to be detected, and determine a first node cluster and a plurality of second node clusters; according to the consensus task, control the first node cluster to selectively send to the A plurality of second node clusters conduct fork attacks, and determine the ledger status after consensus of each node in the blockchain; determine whether the consensus ledger status of each node in the blockchain is consistent, and if not, determine all The above blockchain does not have anti-fork features.
  • processing unit is specifically used for:
  • the plurality of second node clusters are obtained by evenly dividing the nodes in each node of the blockchain except the nodes in the first node cluster according to a first preset ratio.
  • processing unit is specifically used for:
  • processing unit is specifically used for:
  • a master node is determined from the first node cluster, a plurality of third node clusters are determined from the plurality of second node clusters according to the second preset ratio, and the plurality of second node clusters are A node cluster other than the plurality of third node clusters is determined as a fourth node cluster;
  • controlling the master node to broadcast a first broadcast message to each node in the first node cluster and each node in the plurality of third node clusters;
  • controlling the master node to broadcast a second broadcast message to each node in the first node cluster and each node in the plurality of third node clusters;
  • the master node In the confirmation phase, the master node is controlled to broadcast a confirmation message to each node in the first node cluster and each node in some third node clusters in the plurality of third node clusters.
  • the consensus task is a Byzantine consensus task.
  • an embodiment of the present invention further provides a computing device, including:
  • the processor is configured to call the program instructions stored in the memory, and execute the above-mentioned anti-fork detection method of the blockchain according to the obtained program.
  • embodiments of the present invention further provide a computer-readable non-volatile storage medium, including computer-readable instructions, when the computer reads and executes the computer-readable instructions, the computer is made to execute the above-mentioned block chain. Anti-bifurcation detection method.
  • FIG. 1 is a schematic diagram of a system architecture according to an embodiment of the present invention.
  • FIG. 2 is a schematic flowchart of a method for anti-fork detection of a blockchain provided by an embodiment of the present invention
  • FIG. 3 is a schematic diagram of message transmission in a pre-preparation stage in a fork attack according to an embodiment of the present invention
  • FIG. 4 is a schematic diagram of message transmission in a preparation stage in a bifurcation attack provided by an embodiment of the present invention
  • FIG. 5 is a schematic diagram of message transmission in the confirmation phase in a fork attack according to an embodiment of the present invention.
  • FIG. 6 is a schematic diagram of a ledger state of a blockchain before and after an attack according to an embodiment of the present invention
  • FIG. 7 is a schematic structural diagram of a block chain anti-fork detection device according to an embodiment of the present invention.
  • FIG. 1 is a system architecture provided by an embodiment of the present invention. As shown in FIG. 1 , the system architecture may include a blockchain 100 and a client 200;
  • the client 200 may be a client 200 used by different institutions, and the client 200 mainly sends transaction data to each blockchain node and receives transaction result information fed back by each blockchain node.
  • the blockchain 100 includes a plurality of blockchain nodes, which are composed of a plurality of blocks and are used to store transaction data sent by the client 200 .
  • FIG. 1 the structure shown in FIG. 1 above is only an example, which is not limited in this embodiment of the present invention.
  • FIG. 2 shows in detail a flow of a method for anti-fork detection of a blockchain provided by an embodiment of the present invention, and the flow may be executed by a device for anti-fork detection of a blockchain.
  • the process specifically includes:
  • Step 201 obtaining a consensus task.
  • the consensus task is a task for testing the anti-fork feature of the blockchain under the test network.
  • the reason why the embodiments of the present invention can achieve the equivalent anti-fork detection results in the production environment under the test network is that the underlying consensus mechanism of the blockchain operation in the test network is the same as the consensus mechanism under the production environment.
  • each node of the blockchain to be detected is divided, and a first node cluster and a plurality of second node clusters are determined.
  • the consensus fault tolerance quantity is determined by the consensus mechanism.
  • the fault tolerance quantity of the Byzantine consensus mechanism is less than 1/3 of the total number of nodes.
  • the first preset ratio can be set according to experience, for example, it can be 2/3.
  • Step 203 control the first node cluster to selectively conduct a fork attack on the plurality of second node clusters, and determine the ledger state after consensus of each node in the blockchain.
  • the first node cluster is mainly controlled to send consensus synchronization information to the second node cluster selected from a plurality of second node clusters according to a second preset ratio.
  • the second preset ratio can be set according to experience.
  • a master node is determined from the first node cluster, a plurality of third node clusters are determined from a plurality of second node clusters according to a second preset ratio, and a plurality of third node clusters are divided from the plurality of second node clusters
  • the node cluster other than the node cluster is determined as the fourth node cluster.
  • the control master node broadcasts the first broadcast message to each node in the first node cluster and each node in the multiple third node clusters.
  • the control master node broadcasts the second broadcast message to each node in the first node cluster and each node in the multiple third node clusters.
  • the control master node broadcasts a confirmation message to each node in the first node cluster and each node in some third node clusters in the multiple third node clusters.
  • a fork attack is launched to test the anti-fork and anti-deactivation characteristics of the blockchain network.
  • the specific fork attack is as follows:
  • the node cluster P1 where the master node is located sends the broadcast message sequence number allocation information (the first broadcast message) to each node in the P1, P2, and P3 node clusters (the third node cluster). But not communicating with the nodes in the P4 node cluster.
  • the master node cluster in P1 broadcasts the preparation information (second broadcast message) to each node in the P1, P2, and P3 node clusters. But not communicating with the nodes in the P4 node cluster.
  • the nodes in the P2, P3 node cluster will send messages to all nodes.
  • the nodes in the P1, P2, and P3 node clusters all enter the confirmation phase.
  • the nodes in the P4 node cluster receive at most 2f mutual interaction messages, they cannot enter the confirmation phase.
  • the master node in the P1 node cluster broadcasts the confirmation message to the P1 and P2 node clusters (part of the third node cluster). But not to P4 node cluster.
  • P2, P3 node cluster will broadcast confirmation message to all nodes.
  • the nodes in the P1 and P2 node clusters can receive 3f confirmation messages for the consensus task m.
  • the nodes in the P3 node cluster and the P4 node cluster receive at most 2f confirmation messages for the consensus task m.
  • the nodes in the P2 node cluster will execute the tasks contained in the task request m and send the results directly to the client. However, the nodes in the P1, P3, and P4 node clusters do not perform this task. The user side cannot get feedback on task processing.
  • the detection party controls the node cluster P1 no longer to reply any messages. Get the current ledger status of each node in the blockchain.
  • Step 204 Determine whether the consensus ledger status of each node in the blockchain is consistent, and if not, then determine that the blockchain does not have the anti-fork feature.
  • the master node in the detection node cluster P1 does not publish the status update message, and the status update message published by P2 is different from the status update message published by P3 and P4. And since at least 2f+1 identical state update messages are required to update the state of a node, the state of P2 cannot be synchronized with P3 and P4. The system will be in an uncoordinated state for a long time.
  • the detection node cluster P1 cooperates with the honest node clusters P3 and P4 to jointly execute another task request of the client. Therefore, the state of each node will enter an unrecoverable and uncoordinated state. If it can be observed that the ledger maintained by the P2 node cluster is inconsistent with the node clusters P1, P3 and P4 after the fork attack occurs, that is, the phenomenon of blockchain fork is observed, and the PBFT (Practical Byzantine Fault Tolerance) can be judged. Practical Byzantine Fault Tolerance ) consensus blockchain does not have complete anti-fork features.
  • the node P1 is controlled by the detection party.
  • the main node of view v is P1
  • the task information is m
  • the hashed task information is recorded as H(m)
  • each node uses ECDSA (Elliptic Curve Digital Signature Algorithm, elliptic curve digital signature algorithm) to broadcast information Signature
  • the public key of each node is public, and the private key is held locally.
  • the blockchain state is A ⁇ B ⁇ C ⁇ D.
  • P1 sends the first broadcast message (m, ⁇ PRE-PREPARE, v, seq, H(m)>, SIGNATURE) to P1, P2, and P3. But not to P4.
  • P1 sends the second broadcast message ( ⁇ PREPARE, v, seq, H(m), P1>, SIGNATURE) to P1, P2, and P3. But not to P4.
  • nodes P2 and P3 will send broadcast messages ( ⁇ PREPARE, v, seq, H(m), P2>, SIGNATURE) and ( ⁇ PREPARE, v, seq, H(m), P3>, SIGNATURE) to all nodes.
  • the nodes P1, P2, and P3 are ready to complete. P4 cannot move to the next stage.
  • P1 sends the broadcast message ( ⁇ COMMIT,v,seq,H(m),P1>, SIGNATURE) to P1 and P2, but not to P4.
  • Nodes P2, P3 send broadcast messages ( ⁇ COMMIT, v, seq, H(m), P2>, SIGNATURE) and ( ⁇ PREPARE, v, seq, H(m), P3>, SIGNATURE) to all nodes.
  • nodes P1 and P2 have received three confirmation messages for task m.
  • Nodes P3 and P4 receive at most 2 confirmation messages for task m.
  • the node P2 executes the tasks contained in the task request m and sends the results directly to the client. P1, P3, P4 do not perform this task. Customers are not getting enough responses.
  • node P1 will not reply to any messages of any view v any more.
  • the embodiment of the present invention can achieve anti-fork detection results equivalent to the production environment under the test network. Since the underlying consensus of the blockchain operation in the test network is the same as the consensus mechanism in the production environment, and starting from the consensus mechanism and theoretical analysis of the present invention, it does not require massive data to train prediction models and customized block information, so it can greatly reduce Computational and communication overhead required in blockchain fork resistance detection.
  • the blockchain system to which the embodiments of the present invention are applicable is more general.
  • the analysis of blockchain consensus security was mainly limited to PoW (Proof of Work, Proof of Work) consensus or PoS (Proof of Stake, Proof of Stake) consensus.
  • PoW Proof of Work, Proof of Work
  • PoS Proof of Stake, Proof of Stake
  • economic models are often used to judge the rationality of consensus.
  • the current application trend of blockchain is the rise of currencyless blockchain and consortium chain, and the consensus usually adopted is PBFT consensus or its revised algorithm.
  • the blockchain anti-fork algorithm proposed in the present invention is basically applicable to all
  • the three-stage consensus BFT (Byzantine Fault Tolerance, Byzantine Fault Tolerance) algorithm has a wide range of application scenarios.
  • a consensus task is obtained, each node of the blockchain to be detected is divided, a first node cluster and a plurality of second node clusters are determined, and according to the consensus task, the selective direction of the first node cluster is controlled.
  • Multiple second node clusters conduct fork attacks to determine the ledger status after consensus of each node in the blockchain, and determine whether the consensus ledger status of each node in the blockchain is consistent. If they are inconsistent, it is determined that the blockchain does not have Anti-splitting properties.
  • the anti-fork feature of the blockchain can be detected.
  • the anti-fork performance of the blockchain is detected by massive block data, which can save the system overhead and reduce the burden of the blockchain network.
  • FIG. 7 exemplarily shows the structure of a block chain anti-fork detection device provided by an embodiment of the present invention, and the device can perform a block chain anti-fork detection process.
  • the device specifically includes:
  • an obtaining unit 701, configured to obtain a consensus task
  • the processing unit 702 is used to divide each node of the blockchain to be detected, and determine a first node cluster and a plurality of second node clusters; according to the consensus task, control the first node cluster to selectively send to all nodes.
  • the multiple second node clusters perform a fork attack to determine the ledger status after consensus of each node in the blockchain; determine whether the consensus ledger status of each node in the blockchain is consistent, and if not, determine The blockchain is not fork resistant.
  • processing unit 702 is specifically configured to:
  • the plurality of second node clusters are obtained by evenly dividing the nodes in each node of the blockchain except the nodes in the first node cluster according to a first preset ratio.
  • processing unit 702 is specifically configured to:
  • processing unit 702 is specifically configured to:
  • a master node is determined from the first node cluster, a plurality of third node clusters are determined from the plurality of second node clusters according to the second preset ratio, and the plurality of second node clusters are A node cluster other than the plurality of third node clusters is determined as a fourth node cluster;
  • controlling the master node to broadcast a first broadcast message to each node in the first node cluster and each node in the plurality of third node clusters;
  • controlling the master node to broadcast a second broadcast message to each node in the first node cluster and each node in the plurality of third node clusters;
  • the master node In the confirmation phase, the master node is controlled to broadcast a confirmation message to each node in the first node cluster and each node in some third node clusters in the plurality of third node clusters.
  • the consensus task is a Byzantine consensus task.
  • an embodiment of the present invention also provides a computing device, including:
  • the processor is used to call the program instructions stored in the memory, and execute the above-mentioned anti-fork detection method of the blockchain according to the obtained program.
  • an embodiment of the present invention also provides a computer-readable non-volatile storage medium, including computer-readable instructions, when the computer reads and executes the computer-readable instructions, the computer executes the above-mentioned blockchain Anti-bifurcation detection method.
  • These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory result in an article of manufacture comprising instruction means, the instructions
  • the apparatus implements the functions specified in the flow or flow of the flowcharts and/or the block or blocks of the block diagrams.

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)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Hardware Redundancy (AREA)

Abstract

Disclosed are a fork resistance detection method and apparatus for a blockchain. The method comprises: acquiring a consensus task; dividing nodes of a blockchain to be subjected to detection, so as to determine a first node cluster and a plurality of second node clusters; controlling, according to the consensus task, the first node cluster to selectively perform a fork attack on the plurality of second node clusters; determining ledger states on which consensus is achieved by the nodes in the blockchain; and determining whether the ledger states on which consensus is achieved by the nodes in the blockchain are consistent, and if not, determining that the blockchain does not have a fork resistance characteristic. Some nodes are controlled to selectively perform a fork attack on other node clusters, and the occurrence of a fork is then determined by observing the ledger states of the nodes subjected to the attack, thus achieving detection of the fork resistance characteristic of a blockchain. There is no need to use massive block data to detect the fork resistance performance of the blockchain in a production environment, so that the overheads of a system can be reduced, and the burden on a blockchain network can be reduced.

Description

一种区块链的抗分叉检测方法及装置Anti-fork detection method and device for blockchain
相关申请的交叉引用CROSS-REFERENCE TO RELATED APPLICATIONS
本申请要求在2020年11月25日提交中国专利局、申请号为202011334160.1、申请名称为“一种区块链的抗分叉检测方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of the Chinese patent application filed on November 25, 2020 with the application number 202011334160.1 and the application name "An anti-fork detection method and device for blockchain", the entire contents of which are approved by Reference is incorporated in this application.
技术领域technical field
本发明涉及金融科技(Fintech)技术领域,尤其涉及一种区块链(Block Chain)的抗分叉检测方法及装置。The invention relates to the technical field of financial technology (Fintech), and in particular, to a method and device for anti-fork detection of a block chain (Block Chain).
背景技术Background technique
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技转变,但由于金融行业的安全性、实时性要求,也对技术提出的更高的要求。在金融领域的区块链技术中,对区块链进行性能检测是一个重要的问题。With the development of computer technology, more and more technologies are applied in the financial field, and the traditional financial industry is gradually transforming into financial technology. However, due to the security and real-time requirements of the financial industry, there are also higher requirements for technology. In the blockchain technology in the financial field, the performance detection of the blockchain is an important issue.
目前的区块链抗分叉安全性检验方法大部分需要直接部署到生产环境中,通过海量的区块数据或节点网络状态信息实时预测分叉发生的可能性,无论在计算和通信开销上都给区块链网络增加了许多负担。Most of the current blockchain anti-fork security verification methods need to be directly deployed in the production environment, and the possibility of fork occurrence is predicted in real time through massive block data or node network status information, both in terms of computational and communication costs. Adds a lot of burden to the blockchain network.
发明内容SUMMARY OF THE INVENTION
本发明实施例提供一种区块链的抗分叉检测方法及装置,用以提高区块链抗分叉的检测效率,节省系统的开销,降低区块链网络的负担。Embodiments of the present invention provide a method and device for anti-fork detection of a blockchain, so as to improve the detection efficiency of anti-fork of a blockchain, save system overhead, and reduce the burden on a blockchain network.
第一方面,本发明实施例提供一种区块链的抗分叉检测方法,包括:In a first aspect, an embodiment of the present invention provides an anti-fork detection method for a blockchain, including:
获取共识任务;Get consensus tasks;
对待检测的区块链的各节点进行划分,确定出第一节点集群和多个第二节点集群;Divide each node of the blockchain to be detected, and determine a first node cluster and a plurality of second node clusters;
根据所述共识任务,控制所述第一节点集群选择性的向所述多个第二节点集群进行分叉攻击,确定出所述区块链中各节点共识后的账本状态;According to the consensus task, control the first node cluster to selectively conduct a fork attack on the plurality of second node clusters, and determine the ledger state after consensus of each node in the blockchain;
确定所述区块链中各节点共识后的账本状态是否一致,若不一致,则确定所述区块链不具备抗分叉特性。Determine whether the state of the ledger after the consensus of each node in the blockchain is consistent, if not, it is determined that the blockchain does not have the anti-fork feature.
上述技术方案中,通过控制部分节点选择性的对其它节点集群户型分叉攻击,进而通过观察攻击后的各节点的账本状态来判断分叉发生情况,从而实现检测区块链的抗分叉特性,由于无需在生产环境下通过海量的区块数据来检测区块链的抗分叉性能,可以节省系统的开销,降低区块链网络的负担。In the above technical solution, by controlling some nodes to selectively attack other node cluster house type forks, and then by observing the ledger status of each node after the attack to judge the occurrence of the fork, so as to realize the anti-fork feature of the detection block chain. , because there is no need to test the anti-fork performance of the blockchain through massive block data in the production environment, it can save the system overhead and reduce the burden of the blockchain network.
可选的,所述对待检测的区块链的各节点进行划分,确定出第一节点集群和多个第二节点集群,包括:Optionally, the nodes of the blockchain to be detected are divided, and a first node cluster and a plurality of second node clusters are determined, including:
从所述待检测的区块链的各节点中选择符合共识容错数量的多个节点,确定为所述第一节点集群;Select a plurality of nodes that meet the consensus fault tolerance number from each node of the blockchain to be detected, and determine it as the first node cluster;
将所述区块链的各节点中除所述第一节点集群中的节点之外的节点按照第一预设比例进行平均划分,得到所述多个第二节点集群。The plurality of second node clusters are obtained by evenly dividing the nodes in each node of the blockchain except the nodes in the first node cluster according to a first preset ratio.
可选的,所述根据所述共识任务,控制所述第一节点集群选择性的向所述多个第二节点集群进行分叉攻击,包括:Optionally, according to the consensus task, controlling the first node cluster to selectively perform a fork attack on the plurality of second node clusters includes:
控制所述第一节点集群向按照第二预设比例从所述多个第二节点集群中选择出的第二节点集群发送共识同步信息。Controlling the first node cluster to send consensus synchronization information to a second node cluster selected from the plurality of second node clusters according to a second preset ratio.
可选的,所述控制所述第一节点集群向按照第二预设比例从所述多个第二节点集群中选择出的第二节点集群发送共识同步信息,包括:Optionally, the controlling the first node cluster to send consensus synchronization information to a second node cluster selected from the plurality of second node clusters according to a second preset ratio includes:
从所述第一节点集群中确定出主节点,按照所述第二预设比例从所述多个第二节点集群中确定出多个第三节点集群,并所述多个第二节点集群中除所述多个第三节点集群之外的节点集群确定为第四节点集群;A master node is determined from the first node cluster, a plurality of third node clusters are determined from the plurality of second node clusters according to the second preset ratio, and the plurality of second node clusters are A node cluster other than the plurality of third node clusters is determined as a fourth node cluster;
在预准备阶段,控制所述主节点向所述第一节点集群中的各节点以及所述多个第三节点集群中的各节点广播第一广播消息;In the pre-preparation stage, controlling the master node to broadcast a first broadcast message to each node in the first node cluster and each node in the plurality of third node clusters;
在准备阶段,控制所述主节点向所述第一节点集群中的各节点以及所述多个第三节点集群中的各节点广播第二广播消息;In the preparation stage, controlling the master node to broadcast a second broadcast message to each node in the first node cluster and each node in the plurality of third node clusters;
在确认阶段,控制所述主节点向所述第一节点集群中的各节点以及所述多个第三节点集群中的部分第三节点集群中的各节点广播确认消息。In the confirmation phase, the master node is controlled to broadcast a confirmation message to each node in the first node cluster and each node in some third node clusters in the plurality of third node clusters.
可选的,所述共识任务为拜占庭共识任务。Optionally, the consensus task is a Byzantine consensus task.
第二方面,本发明实施例提供一种区块链的抗分叉检测装置,包括:In a second aspect, an embodiment of the present invention provides an anti-fork detection device for a blockchain, including:
获取单元,用于获取共识任务;The acquisition unit is used to acquire consensus tasks;
处理单元,用于对待检测的区块链的各节点进行划分,确定出第一节点集群和多个第二节点集群;根据所述共识任务,控制所述第一节点集群选择性的向所述多个第二节点集群进行分叉攻击,确定出所述区块链中各节点共识后的账本状态;确定所述区块链中各节点共识后的账本状态是否一致,若不一致,则确定所述区块链不具备抗分叉特性。The processing unit is used to divide each node of the blockchain to be detected, and determine a first node cluster and a plurality of second node clusters; according to the consensus task, control the first node cluster to selectively send to the A plurality of second node clusters conduct fork attacks, and determine the ledger status after consensus of each node in the blockchain; determine whether the consensus ledger status of each node in the blockchain is consistent, and if not, determine all The above blockchain does not have anti-fork features.
可选的,所述处理单元具体用于:Optionally, the processing unit is specifically used for:
从所述待检测的区块链的各节点中选择符合共识容错数量的多个节点,确定为所述第一节点集群;Select a plurality of nodes that meet the consensus fault tolerance number from each node of the blockchain to be detected, and determine it as the first node cluster;
将所述区块链的各节点中除所述第一节点集群中的节点之外的节点按照第一预设比例进行平均划分,得到所述多个第二节点集群。The plurality of second node clusters are obtained by evenly dividing the nodes in each node of the blockchain except the nodes in the first node cluster according to a first preset ratio.
可选的,所述处理单元具体用于:Optionally, the processing unit is specifically used for:
控制所述第一节点集群向按照第二预设比例从所述多个第二节点集群中选择出的第二节点集群发送共识同步信息。Controlling the first node cluster to send consensus synchronization information to a second node cluster selected from the plurality of second node clusters according to a second preset ratio.
可选的,述处理单元具体用于:Optionally, the processing unit is specifically used for:
从所述第一节点集群中确定出主节点,按照所述第二预设比例从所述多个第二节点集群中确定出多个第三节点集群,并所述多个第二节点集群中除所述多个第三节点集群之外的节点集群确定为第四节点集群;A master node is determined from the first node cluster, a plurality of third node clusters are determined from the plurality of second node clusters according to the second preset ratio, and the plurality of second node clusters are A node cluster other than the plurality of third node clusters is determined as a fourth node cluster;
在预准备阶段,控制所述主节点向所述第一节点集群中的各节点以及所述多个第三节点集群中的各节点广播第一广播消息;In the pre-preparation stage, controlling the master node to broadcast a first broadcast message to each node in the first node cluster and each node in the plurality of third node clusters;
在准备阶段,控制所述主节点向所述第一节点集群中的各节点以及所述多个第三节点集群中的各节点广播第二广播消息;In the preparation stage, controlling the master node to broadcast a second broadcast message to each node in the first node cluster and each node in the plurality of third node clusters;
在确认阶段,控制所述主节点向所述第一节点集群中的各节点以及所述 多个第三节点集群中的部分第三节点集群中的各节点广播确认消息。In the confirmation phase, the master node is controlled to broadcast a confirmation message to each node in the first node cluster and each node in some third node clusters in the plurality of third node clusters.
可选的,所述共识任务为拜占庭共识任务。Optionally, the consensus task is a Byzantine consensus task.
第三方面,本发明实施例还提供一种计算设备,包括:In a third aspect, an embodiment of the present invention further provides a computing device, including:
存储器,用于存储程序指令;memory for storing program instructions;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述区块链的抗分叉检测方法。The processor is configured to call the program instructions stored in the memory, and execute the above-mentioned anti-fork detection method of the blockchain according to the obtained program.
第四方面,本发明实施例还提供一种计算机可读非易失性存储介质,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行上述区块链的抗分叉检测方法。In a fourth aspect, embodiments of the present invention further provide a computer-readable non-volatile storage medium, including computer-readable instructions, when the computer reads and executes the computer-readable instructions, the computer is made to execute the above-mentioned block chain. Anti-bifurcation detection method.
附图说明Description of drawings
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to illustrate the technical solutions in the embodiments of the present invention more clearly, the following briefly introduces the accompanying drawings used in the description of the embodiments. Obviously, the drawings in the following description are only some embodiments of the present invention. For those of ordinary skill in the art, other drawings can also be obtained from these drawings without any creative effort.
图1为本发明实施例提供的一种系统架构的示意图;1 is a schematic diagram of a system architecture according to an embodiment of the present invention;
图2为本发明实施例提供的一种区块链的抗分叉检测方法的流程示意图;2 is a schematic flowchart of a method for anti-fork detection of a blockchain provided by an embodiment of the present invention;
图3为本发明实施例提供的一种分叉攻击中预准备阶段消息传递的示意图;3 is a schematic diagram of message transmission in a pre-preparation stage in a fork attack according to an embodiment of the present invention;
图4为本发明实施例提供的一种分叉攻击中准备阶段消息传递的示意图;4 is a schematic diagram of message transmission in a preparation stage in a bifurcation attack provided by an embodiment of the present invention;
图5为本发明实施例提供的一种分叉攻击中确认阶段消息传递的示意图;FIG. 5 is a schematic diagram of message transmission in the confirmation phase in a fork attack according to an embodiment of the present invention;
图6为本发明实施例提供的一种攻击前后的区块链的账本状态的示意图;FIG. 6 is a schematic diagram of a ledger state of a blockchain before and after an attack according to an embodiment of the present invention;
图7为本发明实施例提供的一种区块链的抗分叉检测装置的结构示意图。FIG. 7 is a schematic structural diagram of a block chain anti-fork detection device according to an embodiment of the present invention.
具体实施方式Detailed ways
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施 例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。In order to make the purpose, technical solutions and advantages of the present invention clearer, the present invention will be further described in detail below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of the present invention, rather than all the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present invention.
图1为本发明实施例提供的一种系统架构。如图1所示,该系统架构可以包括区块链100和客户端200;FIG. 1 is a system architecture provided by an embodiment of the present invention. As shown in FIG. 1 , the system architecture may include a blockchain 100 and a client 200;
其中,客户端200可以为不同的机构使用的客户端200,该客户端200主要是向各区块链节点发送交易数据以及接收各区块链节点反馈的交易结果信息。The client 200 may be a client 200 used by different institutions, and the client 200 mainly sends transaction data to each blockchain node and receives transaction result information fed back by each blockchain node.
区块链100包括多个区块链节点,该多个区块链节点由多个区块组成,用于存储客户端200发送的交易数据。The blockchain 100 includes a plurality of blockchain nodes, which are composed of a plurality of blocks and are used to store transaction data sent by the client 200 .
需要说明的是,上述图1所示的结构仅是一种示例,本发明实施例对此不做限定。It should be noted that the structure shown in FIG. 1 above is only an example, which is not limited in this embodiment of the present invention.
基于上述描述,图2详细的示出了本发明实施例提供的一种区块链的抗分叉检测方法的流程,该流程可以由区块链的抗分叉检测装置执行。Based on the above description, FIG. 2 shows in detail a flow of a method for anti-fork detection of a blockchain provided by an embodiment of the present invention, and the flow may be executed by a device for anti-fork detection of a blockchain.
如图2所示,该流程具体包括:As shown in Figure 2, the process specifically includes:
步骤201,获取共识任务。 Step 201, obtaining a consensus task.
在本发明实施例中,该共识任务是在测试网络下用于测试区块链的抗分叉特性的任务。本发明实施例之所以能在测试网络下达到生产环境相当的抗分叉检测成果,原因在于测试网络中区块链运行的底层共识机制与生产环境下的共识机制相同。In the embodiment of the present invention, the consensus task is a task for testing the anti-fork feature of the blockchain under the test network. The reason why the embodiments of the present invention can achieve the equivalent anti-fork detection results in the production environment under the test network is that the underlying consensus mechanism of the blockchain operation in the test network is the same as the consensus mechanism under the production environment.
步骤202,对待检测的区块链的各节点进行划分,确定出第一节点集群和多个第二节点集群。In step 202, each node of the blockchain to be detected is divided, and a first node cluster and a plurality of second node clusters are determined.
在划分第一节点集群和第二节点集群时,主要是从待检测的区块链的各节点中选择符合共识容错数量的多个节点,确定为第一节点集群;然后将区块链的各节点中除第一节点集群中的节点之外的节点按照第一预设比例进行平均划分,得到多个第二节点集群。其中,该共识容错数量是由共识机制决定的,例如拜占庭共识机制的容错数量是总节点数量的1/3以内。该第一预设 比例可以依据经验设置,例如可以为2/3。When dividing the first node cluster and the second node cluster, it is mainly to select multiple nodes that meet the consensus fault tolerance number from each node of the blockchain to be detected, and determine it as the first node cluster; The nodes in the nodes other than the nodes in the first node cluster are equally divided according to the first preset ratio to obtain a plurality of second node clusters. Among them, the consensus fault tolerance quantity is determined by the consensus mechanism. For example, the fault tolerance quantity of the Byzantine consensus mechanism is less than 1/3 of the total number of nodes. The first preset ratio can be set according to experience, for example, it can be 2/3.
假定区块链网络中总的节点数量为n,在抗分叉检测过程中,首先由检测方运行(n-1)/3=f数量的节点。此处假设有节点集群P1(第一节点集群)由检测方控制,其余节点集群划分为数量一致的P2、P3、P4。P2、P3、P4为第二节点集群。Assuming that the total number of nodes in the blockchain network is n, in the anti-fork detection process, the detection party first runs (n-1)/3=f number of nodes. It is assumed here that a node cluster P1 (the first node cluster) is controlled by the detection party, and the remaining node clusters are divided into P2, P3, and P4 with the same number. P2, P3, and P4 are the second node cluster.
步骤203,根据所述共识任务,控制所述第一节点集群选择性的向所述多个第二节点集群进行分叉攻击,确定出所述区块链中各节点共识后的账本状态。 Step 203 , according to the consensus task, control the first node cluster to selectively conduct a fork attack on the plurality of second node clusters, and determine the ledger state after consensus of each node in the blockchain.
在进行分叉攻击时,主要是控制第一节点集群向按照第二预设比例从多个第二节点集群中选择出的第二节点集群发送共识同步信息。其中,第二预设比例可以依据经验设置。When the fork attack is performed, the first node cluster is mainly controlled to send consensus synchronization information to the second node cluster selected from a plurality of second node clusters according to a second preset ratio. Wherein, the second preset ratio can be set according to experience.
具体的,从第一节点集群中确定出主节点,按照第二预设比例从多个第二节点集群中确定出多个第三节点集群,并多个第二节点集群中除多个第三节点集群之外的节点集群确定为第四节点集群。在预准备阶段,控制主节点向所述第一节点集群中的各节点以及多个第三节点集群中的各节点广播第一广播消息。在准备阶段,控制主节点向所述第一节点集群中的各节点以及多个第三节点集群中的各节点广播第二广播消息。在确认阶段,控制主节点向所述第一节点集群中的各节点以及多个第三节点集群中的部分第三节点集群中的各节点广播确认消息。Specifically, a master node is determined from the first node cluster, a plurality of third node clusters are determined from a plurality of second node clusters according to a second preset ratio, and a plurality of third node clusters are divided from the plurality of second node clusters The node cluster other than the node cluster is determined as the fourth node cluster. In the preparatory stage, the control master node broadcasts the first broadcast message to each node in the first node cluster and each node in the multiple third node clusters. In the preparation stage, the control master node broadcasts the second broadcast message to each node in the first node cluster and each node in the multiple third node clusters. In the confirmation phase, the control master node broadcasts a confirmation message to each node in the first node cluster and each node in some third node clusters in the multiple third node clusters.
例如,当P1中有节点当选为主节点时发动分叉攻击,测试区块链网络的抗分叉和抗失活特性。具体的分叉攻击如下:For example, when a node in P1 is elected as the master node, a fork attack is launched to test the anti-fork and anti-deactivation characteristics of the blockchain network. The specific fork attack is as follows:
1.如图3所示的预准备阶段,主节点所在节点集群P1把广播消息序号分配信息(第一广播消息)发送给P1,P2,P3节点集群(第三节点集群)中的各节点。但不与P4节点集群中的节点通信。1. In the preparatory stage shown in Figure 3, the node cluster P1 where the master node is located sends the broadcast message sequence number allocation information (the first broadcast message) to each node in the P1, P2, and P3 node clusters (the third node cluster). But not communicating with the nodes in the P4 node cluster.
2.如图4所示的准备阶段,P1中的主节点集群广播准备信息(第二广播消息)发送给P1,P2,P3节点集群中的各节点。但不与P4节点集群中的节点通信。而P2,P3节点集群中的节点会把消息发给所有节点。此时P1、P2、P3 节点集群中的节点均进入确认阶段。而由于P4节点集群中的节点最多收到2f相互交互消息,无法进入确认阶段。2. In the preparation stage shown in FIG. 4 , the master node cluster in P1 broadcasts the preparation information (second broadcast message) to each node in the P1, P2, and P3 node clusters. But not communicating with the nodes in the P4 node cluster. The nodes in the P2, P3 node cluster will send messages to all nodes. At this point, the nodes in the P1, P2, and P3 node clusters all enter the confirmation phase. However, since the nodes in the P4 node cluster receive at most 2f mutual interaction messages, they cannot enter the confirmation phase.
3.如图5所示的确认阶段,P1节点集群中的主节点广播确认消息给P1,P2节点集群(部分第三节点集群)。但不发给P4节点集群。P2,P3节点集群会广播确认消息给所有的节点。此时P1、P2节点集群中的节点均能收到3f个对共识任务m的确认消息。P3节点集群和P4节点集群中的节点最多收到2f个对共识任务m的确认消息。P2节点集群中的节点将执行任务请求m中所包含的任务,并将结果直接发送给客户。但P1,P3,P4节点集群中的节点均不执行该任务。用户端无法得到任务处理的反馈。3. In the confirmation phase shown in Figure 5, the master node in the P1 node cluster broadcasts the confirmation message to the P1 and P2 node clusters (part of the third node cluster). But not to P4 node cluster. P2, P3 node cluster will broadcast confirmation message to all nodes. At this time, the nodes in the P1 and P2 node clusters can receive 3f confirmation messages for the consensus task m. The nodes in the P3 node cluster and the P4 node cluster receive at most 2f confirmation messages for the consensus task m. The nodes in the P2 node cluster will execute the tasks contained in the task request m and send the results directly to the client. However, the nodes in the P1, P3, and P4 node clusters do not perform this task. The user side cannot get feedback on task processing.
当实行上述分叉攻击后,检测方控制节点集群P1不再回复任何消息。获取区块链中各节点的当前账本状态。After the above-mentioned fork attack is carried out, the detection party controls the node cluster P1 no longer to reply any messages. Get the current ledger status of each node in the blockchain.
步骤204,确定所述区块链中各节点共识后的账本状态是否一致,若不一致,则确定所述区块链不具备抗分叉特性。Step 204: Determine whether the consensus ledger status of each node in the blockchain is consistent, and if not, then determine that the blockchain does not have the anti-fork feature.
对比各节点共识后的账本状态,若不一致,则确定区块链不具备抗分叉特性,否则确定区块链具备抗分叉特性。Compare the ledger status after consensus of each node, if it is inconsistent, it is determined that the blockchain does not have the anti-fork feature, otherwise it is determined that the blockchain has the anti-fork feature.
如上述分叉攻击,检测方节点集群P1中的主节点不发布状态更新消息,P2发布的状态更新消息则不同于P3和P4发布的状态更新消息。并且由于至少需要2f+1个相同的状态更新消息来更新一个节点的状态,P2状态无法与P3和P4同步。系统将长期处于不协调状态。As in the above-mentioned fork attack, the master node in the detection node cluster P1 does not publish the status update message, and the status update message published by P2 is different from the status update message published by P3 and P4. And since at least 2f+1 identical state update messages are required to update the state of a node, the state of P2 cannot be synchronized with P3 and P4. The system will be in an uncoordinated state for a long time.
当执行上述分叉攻击后,检测方节点集群P1与诚实节点集群P3,P4合作共同执行客户端的另一个任务请求。所以各个节点的状态将进入不可恢复的不协调状态。如果分叉攻击发生后能观察到P2节点集群维护的账本与节点集群P1、P3以及P4不一致,即观察到区块链发生分叉现象,则能判断该PBFT(Practical Byzantine Fault Tolerance,实用拜占庭容错)共识的区块链不具备完备的抗分叉特性。After the above-mentioned fork attack is performed, the detection node cluster P1 cooperates with the honest node clusters P3 and P4 to jointly execute another task request of the client. Therefore, the state of each node will enter an unrecoverable and uncoordinated state. If it can be observed that the ledger maintained by the P2 node cluster is inconsistent with the node clusters P1, P3 and P4 after the fork attack occurs, that is, the phenomenon of blockchain fork is observed, and the PBFT (Practical Byzantine Fault Tolerance) can be judged. Practical Byzantine Fault Tolerance ) consensus blockchain does not have complete anti-fork features.
为了更好的解释本发明实施例,下面将在具体的实施场景下来描述上述数据处理的过程。In order to better explain the embodiments of the present invention, the foregoing data processing process will be described below in a specific implementation scenario.
实验中有n=3+1=4个节点P1,P2,P3,P4。其中节点P1由检测方控制。检测开始时视图v的主节点是P1,任务信息为m,哈希后的任务信息记为H(m),各节点使用ECDSA(Elliptic Curve Digital Signature Algorithm,椭圆曲线数字签名算法)对广播信息进行签名,各节点公钥公开,私钥持有在本地,分叉攻击实施之前区块链状态为A→B→C→D。There are n=3+1=4 nodes P1, P2, P3, P4 in the experiment. The node P1 is controlled by the detection party. At the beginning of detection, the main node of view v is P1, the task information is m, the hashed task information is recorded as H(m), and each node uses ECDSA (Elliptic Curve Digital Signature Algorithm, elliptic curve digital signature algorithm) to broadcast information Signature, the public key of each node is public, and the private key is held locally. Before the fork attack is implemented, the blockchain state is A→B→C→D.
1.在预准备阶段,P1把第一广播消息(m,<PRE-PREPARE,v,seq,H(m)>,SIGNATURE)发送给P1,P2,P3。但是不发给P4。1. In the pre-preparation stage, P1 sends the first broadcast message (m, <PRE-PREPARE, v, seq, H(m)>, SIGNATURE) to P1, P2, and P3. But not to 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无法进入下一阶段。2. In the preparation stage, P1 sends the second broadcast message (<PREPARE, v, seq, H(m), P1>, SIGNATURE) to P1, P2, and P3. But not to P4. In the preparation stage, nodes P2 and P3 will send broadcast messages (<PREPARE, v, seq, H(m), P2>, SIGNATURE) and (<PREPARE, v, seq, H(m), P3>, SIGNATURE) to all nodes. At this point, the nodes P1, P2, and P3 are ready to complete. P4 cannot move to the next stage.
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不执行该任务。客户收不到足够的回复。3. In the sequence number confirmation phase, P1 sends the broadcast message (<COMMIT,v,seq,H(m),P1>, SIGNATURE) to P1 and P2, but not to P4. Nodes P2, P3 send broadcast messages (<COMMIT, v, seq, H(m), P2>, SIGNATURE) and (<PREPARE, v, seq, H(m), P3>, SIGNATURE) to all nodes. At this point, nodes P1 and P2 have received three confirmation messages for task m. Nodes P3 and P4 receive at most 2 confirmation messages for task m. The node P2 executes the tasks contained in the task request m and sends the results directly to the client. P1, P3, P4 do not perform this task. Customers are not getting enough responses.
此后,节点P1将不再回复任何视图v的任何消息。After that, node P1 will not reply to any messages of any view v any more.
可以观察到,分叉攻击实施后,如图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共识的区块链系统不具备很好的抗分叉特性。It can be observed that after the fork attack is implemented, as shown in Figure 6, the blockchain maintained locally by P2 is: A→B→C→D→E. But the current blockchain recorded by P3 and P4 is still A→B→C→D. Then the Byzantine node P1 of the detection party reaches a consensus with P3 and P4, and adds block F. In the records of P3 and P4, we can see that the blockchain is: A→B→C→D→F. Because block E is different from block F. The blockchain has forked. Since the next block must be extended by the current blockchain, and P1 no longer participates in any blockchain system activities, it can be observed that the blockchain system forks. Therefore, it is detected that the blockchain system based on PBFT consensus does not have good anti-fork characteristics.
本发明实施例能在测试网络下达到生产环境相当的抗分叉检测成果。由于测试网络中区块链运行的底层共识与生产环境下的共识机制相同,且从本发明共识机制和理论分析出发,不需要海量数据训练预测模型和定制化的区块信息,因此能大大减少区块链抗分叉性检测中所需的计算与通信开销。The embodiment of the present invention can achieve anti-fork detection results equivalent to the production environment under the test network. Since the underlying consensus of the blockchain operation in the test network is the same as the consensus mechanism in the production environment, and starting from the consensus mechanism and theoretical analysis of the present invention, it does not require massive data to train prediction models and customized block information, so it can greatly reduce Computational and communication overhead required in blockchain fork resistance detection.
本发明实施例适用的区块链系统更具有普遍性。以往针对区块链共识安全性的分析主要局限在PoW(Proof of Work,工作量证明)共识或PoS(Proof of Stake,权益证明)共识,在理论分析中往往采用经济模型判断共识的合理性。而当前区块链的应用趋势为无币区块链以及联盟链的兴起,其通常采用的共识均为PBFT共识或其修正算法,本发明所提出的区块链抗分叉算法基本适用于所有采用三阶段共识的BFT(Byzantine Fault Tolerance,拜占庭容错)类算法,具有较广的应用场景。The blockchain system to which the embodiments of the present invention are applicable is more general. In the past, the analysis of blockchain consensus security was mainly limited to PoW (Proof of Work, Proof of Work) consensus or PoS (Proof of Stake, Proof of Stake) consensus. In theoretical analysis, economic models are often used to judge the rationality of consensus. The current application trend of blockchain is the rise of currencyless blockchain and consortium chain, and the consensus usually adopted is PBFT consensus or its revised algorithm. The blockchain anti-fork algorithm proposed in the present invention is basically applicable to all The three-stage consensus BFT (Byzantine Fault Tolerance, Byzantine Fault Tolerance) algorithm has a wide range of application scenarios.
在本发明实施例中,获取共识任务,对待检测的区块链的各节点进行划分,确定出第一节点集群和多个第二节点集群,根据共识任务,控制第一节点集群选择性的向多个第二节点集群进行分叉攻击,确定出区块链中各节点共识后的账本状态,确定区块链中各节点共识后的账本状态是否一致,若不一致,则确定区块链不具备抗分叉特性。通过控制部分节点选择性的对其它节点集群户型分叉攻击,进而通过观察攻击后的各节点的账本状态来判断分叉发生情况,从而实现检测区块链的抗分叉特性,由于无需在生产环境下通过海量的区块数据来检测区块链的抗分叉性能,可以节省系统的开销,降低区块链网络的负担。In the embodiment of the present invention, a consensus task is obtained, each node of the blockchain to be detected is divided, a first node cluster and a plurality of second node clusters are determined, and according to the consensus task, the selective direction of the first node cluster is controlled. Multiple second node clusters conduct fork attacks to determine the ledger status after consensus of each node in the blockchain, and determine whether the consensus ledger status of each node in the blockchain is consistent. If they are inconsistent, it is determined that the blockchain does not have Anti-splitting properties. By controlling some nodes to selectively fork attacks on other node clusters, and then by observing the ledger status of each node after the attack to determine the occurrence of the fork, the anti-fork feature of the blockchain can be detected. In the environment, the anti-fork performance of the blockchain is detected by massive block data, which can save the system overhead and reduce the burden of the blockchain network.
基于相同的技术构思,图7示例性的示出了本发明实施例提供的一种区块链的抗分叉检测装置的结构,该装置可以执行区块链的抗分叉检测流程。Based on the same technical concept, FIG. 7 exemplarily shows the structure of a block chain anti-fork detection device provided by an embodiment of the present invention, and the device can perform a block chain anti-fork detection process.
如图7所示,该装置具体包括:As shown in Figure 7, the device specifically includes:
获取单元701,用于获取共识任务;an obtaining unit 701, configured to obtain a consensus task;
处理单元702,用于对待检测的区块链的各节点进行划分,确定出第一节点集群和多个第二节点集群;根据所述共识任务,控制所述第一节点集群选择性的向所述多个第二节点集群进行分叉攻击,确定出所述区块链中各节点 共识后的账本状态;确定所述区块链中各节点共识后的账本状态是否一致,若不一致,则确定所述区块链不具备抗分叉特性。The processing unit 702 is used to divide each node of the blockchain to be detected, and determine a first node cluster and a plurality of second node clusters; according to the consensus task, control the first node cluster to selectively send to all nodes. The multiple second node clusters perform a fork attack to determine the ledger status after consensus of each node in the blockchain; determine whether the consensus ledger status of each node in the blockchain is consistent, and if not, determine The blockchain is not fork resistant.
可选的,所述处理单元702具体用于:Optionally, the processing unit 702 is specifically configured to:
从所述待检测的区块链的各节点中选择符合共识容错数量的多个节点,确定为所述第一节点集群;Select a plurality of nodes that meet the consensus fault tolerance number from each node of the blockchain to be detected, and determine it as the first node cluster;
将所述区块链的各节点中除所述第一节点集群中的节点之外的节点按照第一预设比例进行平均划分,得到所述多个第二节点集群。The plurality of second node clusters are obtained by evenly dividing the nodes in each node of the blockchain except the nodes in the first node cluster according to a first preset ratio.
可选的,所述处理单元702具体用于:Optionally, the processing unit 702 is specifically configured to:
控制所述第一节点集群向按照第二预设比例从所述多个第二节点集群中选择出的第二节点集群发送共识同步信息。Controlling the first node cluster to send consensus synchronization information to a second node cluster selected from the plurality of second node clusters according to a second preset ratio.
可选的,所述处理单元702具体用于:Optionally, the processing unit 702 is specifically configured to:
从所述第一节点集群中确定出主节点,按照所述第二预设比例从所述多个第二节点集群中确定出多个第三节点集群,并所述多个第二节点集群中除所述多个第三节点集群之外的节点集群确定为第四节点集群;A master node is determined from the first node cluster, a plurality of third node clusters are determined from the plurality of second node clusters according to the second preset ratio, and the plurality of second node clusters are A node cluster other than the plurality of third node clusters is determined as a fourth node cluster;
在预准备阶段,控制所述主节点向所述第一节点集群中的各节点以及所述多个第三节点集群中的各节点广播第一广播消息;In the pre-preparation stage, controlling the master node to broadcast a first broadcast message to each node in the first node cluster and each node in the plurality of third node clusters;
在准备阶段,控制所述主节点向所述第一节点集群中的各节点以及所述多个第三节点集群中的各节点广播第二广播消息;In the preparation stage, controlling the master node to broadcast a second broadcast message to each node in the first node cluster and each node in the plurality of third node clusters;
在确认阶段,控制所述主节点向所述第一节点集群中的各节点以及所述多个第三节点集群中的部分第三节点集群中的各节点广播确认消息。In the confirmation phase, the master node is controlled to broadcast a confirmation message to each node in the first node cluster and each node in some third node clusters in the plurality of third node clusters.
可选的,所述共识任务为拜占庭共识任务。Optionally, the consensus task is a Byzantine consensus task.
基于相同的技术构思,本发明实施例还提供了一种计算设备,包括:Based on the same technical concept, an embodiment of the present invention also provides a computing device, including:
存储器,用于存储程序指令;memory for storing program instructions;
处理器,用于调用存储器中存储的程序指令,按照获得的程序执行上述区块链的抗分叉检测方法。The processor is used to call the program instructions stored in the memory, and execute the above-mentioned anti-fork detection method of the blockchain according to the obtained program.
基于相同的技术构思,本发明实施例还提供了一种计算机可读非易失性存储介质,包括计算机可读指令,当计算机读取并执行计算机可读指令时, 使得计算机执行上述区块链的抗分叉检测方法。Based on the same technical concept, an embodiment of the present invention also provides a computer-readable non-volatile storage medium, including computer-readable instructions, when the computer reads and executes the computer-readable instructions, the computer executes the above-mentioned blockchain Anti-bifurcation detection method.
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each process and/or block in the flowchart illustrations and/or block diagrams, and combinations of processes and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to the processor of a general purpose computer, special purpose computer, embedded processor or other programmable data processing device to produce a machine such that the instructions executed by the processor of the computer or other programmable data processing device produce Means for implementing the functions specified in a flow or flow of a flowchart and/or a block or blocks of a block diagram.
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory result in an article of manufacture comprising instruction means, the instructions The apparatus implements the functions specified in the flow or flow of the flowcharts and/or the block or blocks of the block diagrams.
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。These computer program instructions can also be loaded on a computer or other programmable data processing device to cause a series of operational steps to be performed on the computer or other programmable device to produce a computer-implemented process such that The instructions provide steps for implementing the functions specified in the flow or blocks of the flowcharts and/or the block or blocks of the block diagrams.
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。Although the preferred embodiments of the present invention have been described, additional changes and modifications to these embodiments may occur to those skilled in the art once the basic inventive concepts are known. Therefore, the appended claims are intended to be construed to include the preferred embodiment and all changes and modifications that fall within the scope of the present invention.
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit and scope of the invention. Thus, provided that these modifications and variations of the present invention fall within the scope of the claims of the present invention and their equivalents, the present invention is also intended to include these modifications and variations.

Claims (12)

  1. 一种区块链的抗分叉检测方法,其特征在于,包括:An anti-fork detection method for a blockchain, characterized in that it includes:
    获取共识任务;Get consensus tasks;
    对待检测的区块链的各节点进行划分,确定出第一节点集群和多个第二节点集群;Divide each node of the blockchain to be detected, and determine a first node cluster and a plurality of second node clusters;
    根据所述共识任务,控制所述第一节点集群选择性的向所述多个第二节点集群进行分叉攻击,确定出所述区块链中各节点共识后的账本状态;According to the consensus task, control the first node cluster to selectively conduct a fork attack on the plurality of second node clusters, and determine the ledger state after consensus of each node in the blockchain;
    确定所述区块链中各节点共识后的账本状态是否一致,若不一致,则确定所述区块链不具备抗分叉特性。Determine whether the state of the ledger after the consensus of each node in the blockchain is consistent, if not, it is determined that the blockchain does not have the anti-fork feature.
  2. 如权利要求1所述的方法,其特征在于,所述对待检测的区块链的各节点进行划分,确定出第一节点集群和多个第二节点集群,包括:The method according to claim 1, wherein, dividing each node of the blockchain to be detected to determine a first node cluster and a plurality of second node clusters, comprising:
    从所述待检测的区块链的各节点中选择符合共识容错数量的多个节点,确定为所述第一节点集群;Select a plurality of nodes that meet the consensus fault tolerance number from each node of the blockchain to be detected, and determine it as the first node cluster;
    将所述区块链的各节点中除所述第一节点集群中的节点之外的节点按照第一预设比例进行平均划分,得到所述多个第二节点集群。The plurality of second node clusters are obtained by evenly dividing the nodes in each node of the blockchain except the nodes in the first node cluster according to a first preset ratio.
  3. 如权利要求1所述的方法,其特征在于,所述根据所述共识任务,控制所述第一节点集群选择性的向所述多个第二节点集群进行分叉攻击,包括:The method of claim 1, wherein, according to the consensus task, controlling the first node cluster to selectively perform a fork attack on the plurality of second node clusters, comprising:
    控制所述第一节点集群向按照第二预设比例从所述多个第二节点集群中选择出的第二节点集群发送共识同步信息。Controlling the first node cluster to send consensus synchronization information to a second node cluster selected from the plurality of second node clusters according to a second preset ratio.
  4. 如权利要求1所述的方法,其特征在于,所述控制所述第一节点集群向按照第二预设比例从所述多个第二节点集群中选择出的第二节点集群发送共识同步信息,包括:The method of claim 1, wherein the controlling the first node cluster to send consensus synchronization information to a second node cluster selected from the plurality of second node clusters according to a second preset ratio ,include:
    从所述第一节点集群中确定出主节点,按照所述第二预设比例从所述多个第二节点集群中确定出多个第三节点集群,并所述多个第二节点集群中除所述多个第三节点集群之外的节点集群确定为第四节点集群;A master node is determined from the first node cluster, a plurality of third node clusters are determined from the plurality of second node clusters according to the second preset ratio, and the plurality of second node clusters are A node cluster other than the plurality of third node clusters is determined as a fourth node cluster;
    在预准备阶段,控制所述主节点向所述第一节点集群中的各节点以及所 述多个第三节点集群中的各节点广播第一广播消息;In the pre-preparation stage, controlling the master node to broadcast the first broadcast message to each node in the first node cluster and each node in the plurality of third node clusters;
    在准备阶段,控制所述主节点向所述第一节点集群中的各节点以及所述多个第三节点集群中的各节点广播第二广播消息;In the preparation stage, controlling the master node to broadcast a second broadcast message to each node in the first node cluster and each node in the plurality of third node clusters;
    在确认阶段,控制所述主节点向所述第一节点集群中的各节点以及所述多个第三节点集群中的部分第三节点集群中的各节点广播确认消息。In the confirmation phase, the master node is controlled to broadcast a confirmation message to each node in the first node cluster and each node in some third node clusters in the plurality of third node clusters.
  5. 如权利要求1至4任一项所述的方法,其特征在于,所述共识任务为拜占庭共识任务。The method according to any one of claims 1 to 4, wherein the consensus task is a Byzantine consensus task.
  6. 一种区块链的抗分叉检测装置,其特征在于,包括:An anti-fork detection device for blockchain, characterized in that it includes:
    获取单元,用于获取共识任务;The acquisition unit is used to acquire consensus tasks;
    处理单元,用于对待检测的区块链的各节点进行划分,确定出第一节点集群和多个第二节点集群;根据所述共识任务,控制所述第一节点集群选择性的向所述多个第二节点集群进行分叉攻击,确定出所述区块链中各节点共识后的账本状态;确定所述区块链中各节点共识后的账本状态是否一致,若不一致,则确定所述区块链不具备抗分叉特性。The processing unit is used to divide each node of the blockchain to be detected, and determine a first node cluster and a plurality of second node clusters; according to the consensus task, control the first node cluster to selectively send to the A plurality of second node clusters conduct fork attacks, and determine the ledger status after consensus of each node in the blockchain; determine whether the consensus ledger status of each node in the blockchain is consistent, if not, determine all The above blockchain does not have anti-fork features.
  7. 如权利要求6所述的装置,其特征在于,所述处理单元具体用于:The apparatus of claim 6, wherein the processing unit is specifically configured to:
    从所述待检测的区块链的各节点中选择符合共识容错数量的多个节点,确定为所述第一节点集群;Select a plurality of nodes that meet the consensus fault tolerance number from each node of the blockchain to be detected, and determine it as the first node cluster;
    将所述区块链的各节点中除所述第一节点集群中的节点之外的节点按照第一预设比例进行平均划分,得到所述多个第二节点集群。The plurality of second node clusters are obtained by evenly dividing the nodes in each node of the blockchain except the nodes in the first node cluster according to a first preset ratio.
  8. 如权利要求6所述的装置,其特征在于,所述处理单元具体用于:The apparatus of claim 6, wherein the processing unit is specifically configured to:
    控制所述第一节点集群向按照第二预设比例从所述多个第二节点集群中选择出的第二节点集群发送共识同步信息。Controlling the first node cluster to send consensus synchronization information to a second node cluster selected from the plurality of second node clusters according to a second preset ratio.
  9. 如权利要求6所述的装置,其特征在于,所述处理单元具体用于:The apparatus of claim 6, wherein the processing unit is specifically configured to:
    从所述第一节点集群中确定出主节点,按照所述第二预设比例从所述多个第二节点集群中确定出多个第三节点集群,并所述多个第二节点集群中除所述多个第三节点集群之外的节点集群确定为第四节点集群;A master node is determined from the first node cluster, a plurality of third node clusters are determined from the plurality of second node clusters according to the second preset ratio, and the plurality of second node clusters are A node cluster other than the plurality of third node clusters is determined as a fourth node cluster;
    在预准备阶段,控制所述主节点向所述第一节点集群中的各节点以及所 述多个第三节点集群中的各节点广播第一广播消息;In the pre-preparation stage, controlling the master node to broadcast the first broadcast message to each node in the first node cluster and each node in the plurality of third node clusters;
    在准备阶段,控制所述主节点向所述第一节点集群中的各节点以及所述多个第三节点集群中的各节点广播第二广播消息;In the preparation stage, controlling the master node to broadcast a second broadcast message to each node in the first node cluster and each node in the plurality of third node clusters;
    在确认阶段,控制所述主节点向所述第一节点集群中的各节点以及所述多个第三节点集群中的部分第三节点集群中的各节点广播确认消息。In the confirmation phase, the master node is controlled to broadcast a confirmation message to each node in the first node cluster and each node in some third node clusters in the plurality of third node clusters.
  10. 如权利要求6至9任一项所述的装置,其特征在于,所述共识任务为拜占庭共识任务。The apparatus according to any one of claims 6 to 9, wherein the consensus task is a Byzantine consensus task.
  11. 一种计算设备,其特征在于,包括:A computing device, comprising:
    存储器,用于存储程序指令;memory for storing program instructions;
    处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行权利要求1至5任一项所述的方法。The processor is configured to call the program instructions stored in the memory, and execute the method according to any one of claims 1 to 5 according to the obtained program.
  12. 一种计算机可读非易失性存储介质,其特征在于,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行如权利要求1至5任一项所述的方法。A computer-readable non-volatile storage medium, characterized by comprising computer-readable instructions, when the computer reads and executes the computer-readable instructions, the computer is made to execute any one of claims 1 to 5. Methods.
PCT/CN2021/123806 2020-11-25 2021-10-14 Fork resistance detection method and apparatus for blockchain WO2022111109A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011334160.1A CN112532713B (en) 2020-11-25 2020-11-25 Anti-bifurcation detection method and device for blockchain
CN202011334160.1 2020-11-25

Publications (1)

Publication Number Publication Date
WO2022111109A1 true WO2022111109A1 (en) 2022-06-02

Family

ID=74993165

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/123806 WO2022111109A1 (en) 2020-11-25 2021-10-14 Fork resistance detection method and apparatus for blockchain

Country Status (2)

Country Link
CN (1) CN112532713B (en)
WO (1) WO2022111109A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112532713B (en) * 2020-11-25 2023-05-16 深圳前海微众银行股份有限公司 Anti-bifurcation detection method and device for blockchain

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110061889A (en) * 2019-04-01 2019-07-26 北京众享比特科技有限公司 Block chain performance test methods, device, equipment and storage medium
CN111199400A (en) * 2019-12-31 2020-05-26 北京笔新互联网科技有限公司 Safety monitoring method and device for block chain network
US20200349054A1 (en) * 2019-05-05 2020-11-05 Huazhong University Of Science And Technology Sidechain testing system for improving security and stability of smart contract
CN111985003A (en) * 2019-05-24 2020-11-24 国际商业机器公司 Database malicious peer identification
CN112532713A (en) * 2020-11-25 2021-03-19 深圳前海微众银行股份有限公司 Block chain anti-bifurcation detection method and device

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3285248B1 (en) * 2016-08-16 2019-07-03 Alcatel Lucent Blockchain-based security threat detection method and system
CN109033832B (en) * 2018-06-22 2021-02-09 深圳前海益链网络科技有限公司 Method for preventing transient bifurcation double-flower attack on block chain network
CN109376528B (en) * 2018-10-26 2022-11-29 上海交通大学 Trusted identity management system and method based on block chain
CN109871279B (en) * 2019-03-11 2021-10-01 京东方科技集团股份有限公司 Consensus task coordination method and device, block chain system and storage medium
CN111324591B (en) * 2020-01-20 2021-02-12 腾讯科技(深圳)有限公司 Block chain bifurcation detection method and related device
CN111400106B (en) * 2020-03-27 2023-07-28 百度国际科技(深圳)有限公司 Block chain account book synchronization method and device and electronic equipment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110061889A (en) * 2019-04-01 2019-07-26 北京众享比特科技有限公司 Block chain performance test methods, device, equipment and storage medium
US20200349054A1 (en) * 2019-05-05 2020-11-05 Huazhong University Of Science And Technology Sidechain testing system for improving security and stability of smart contract
CN111985003A (en) * 2019-05-24 2020-11-24 国际商业机器公司 Database malicious peer identification
CN111199400A (en) * 2019-12-31 2020-05-26 北京笔新互联网科技有限公司 Safety monitoring method and device for block chain network
CN112532713A (en) * 2020-11-25 2021-03-19 深圳前海微众银行股份有限公司 Block chain anti-bifurcation detection method and device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LI YIXIN; WANG ZHEN; FAN JIA; ZHENG YUE; LUO YILI; DENG CHUNHUA; DING JIANWEI: "An Extensible Consensus Algorithm Based on PBFT", 2019 INTERNATIONAL CONFERENCE ON CYBER-ENABLED DISTRIBUTED COMPUTING AND KNOWLEDGE DISCOVERY (CYBERC), IEEE, 17 October 2019 (2019-10-17), pages 17 - 23, XP033682845, DOI: 10.1109/CyberC.2019.00013 *

Also Published As

Publication number Publication date
CN112532713A (en) 2021-03-19
CN112532713B (en) 2023-05-16

Similar Documents

Publication Publication Date Title
US11294888B2 (en) Blockchain system and blockchain transaction data processing method based on ethereum
JP6827564B2 (en) Performing parallel execution of transactions in a distributed ledger system
JP2020515092A (en) Blockchain monitoring and management
CN111144883B (en) Processing performance analysis method and device for blockchain network
WO2020042779A1 (en) Data storage control method and apparatus, and server and readable storage medium
CN108282334B (en) Multi-party key negotiation device, method and system based on block chain
JP7389793B2 (en) Methods, devices, and systems for real-time checking of data consistency in distributed heterogeneous storage systems
WO2022217807A1 (en) Blockchain consensus node selection method and apparatus, and computer device and storage medium
CN111861477A (en) Block chain-based post-transaction data processing method and device and computer equipment
WO2022111109A1 (en) Fork resistance detection method and apparatus for blockchain
CN111555860B (en) Block chain link point consensus method, device, electronic equipment and storage medium
Shao et al. Blockchain-based SDN security guaranteeing algorithm and analysis model
CN114118447A (en) Novel federal learning system, method and device, computer equipment and storage medium
Guo et al. A hierarchical and location-aware consensus protocol for iot-blockchain applications
CN113609231B (en) Method and device for maintaining network architecture information of block chain system
Gupta et al. Reliable transactions in serverless-edge architecture
Yan et al. Privacy-preserving asynchronous federated learning framework in distributed iot
US20150365439A1 (en) Synchronization of security-related data
CN111625474B (en) Automatic testing method of alliance chain
Yang et al. Secure off-chain payment in consortium blockchain system
CN113592656B (en) Alliance chain transaction synchronization optimization method, computer readable medium and electronic device
US20230266994A1 (en) Migration of computational units in distributed networks
Calis et al. Repair strategies for mobile storage systems
Baig et al. A study on the adoption of blockchain for iot devices in supply chain
KR20210127231A (en) Energized Identity based blockchain

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205 DATED 13/09/2023)

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21896611

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 21896611

Country of ref document: EP

Kind code of ref document: A1