Disclosure of Invention
In view of the above problems, an aspect of the present invention provides a method for efficiently identifying a rogue node in a blockchain network, including: monitoring whether abnormal behaviors exist in the execution process of at least one other node on a specified transaction by a monitoring node, wherein the monitoring node and the at least one other node are positioned on the same target chain, and the monitoring node is positioned on an identification chain at the same time; if abnormal behaviors exist, the monitoring node sends prompt information to the identification chain in a broadcasting mode, wherein the prompt information is used for indicating the relevant information of the node generating the abnormal behaviors; and the monitoring node carries out verification analysis on the obtained prompt information and sends a verification result to the identification chain in a broadcasting mode, wherein the verification result is used for indicating whether the node generating the abnormal behavior is a rogue node or not.
In one embodiment, the specified transaction is created by the monitoring node.
In one embodiment, the monitoring node monitoring whether abnormal behavior exists in the execution process of the specified transaction by at least one other node comprises: and the monitoring node judges whether abnormal behaviors exist in the execution process of the designated transaction by the at least one other node according to the predefined behavior identification.
In one embodiment, the monitoring node performs verification analysis on the obtained prompt information through a neural network algorithm.
In one embodiment, the monitoring node performing verification analysis on the obtained prompt information through a neural network algorithm further includes: extracting abnormal behavior information from the obtained prompt information; and classifying the abnormal behavior information and dividing dimensions.
In another aspect, the present invention provides a method for identifying a rogue node in a block chain, including: receiving prompt information, wherein the prompt information is used for representing relevant information of nodes which generate abnormal behaviors on a target chain; carrying out verification analysis on the received prompt message to obtain a verification result, wherein the verification result is used for indicating whether a node generating abnormal behaviors on the target chain is a rogue node or not; and sending a verification result to the identification chain in a broadcasting mode to participate in the consensus whether the node generating abnormal behaviors on the target chain is a rogue node or not.
In one embodiment, further comprising: and acquiring the consensus result and storing the consensus result.
In one embodiment, the received prompt information is subjected to verification analysis through a neural network algorithm to obtain a verification result.
In one embodiment, the performing verification analysis on the received prompt information through the neural network algorithm further comprises: extracting abnormal behavior information from the received prompt information; and classifying the abnormal behavior information and dividing dimensions.
In another aspect, the present invention provides an apparatus for identifying a rogue node in a block chain, including: a memory for storing instructions; and a processor coupled to the memory, the instructions when executed by the processor causing the apparatus to perform the method of any of the above.
In another aspect, the invention provides a computer-readable storage medium comprising instructions that, when executed, cause a processor of the computer to perform any of the methods described above.
The invention can effectively discover and capture the rogue nodes and obtain the rogue node information at the early stage of rogue of a few nodes, and can effectively improve the safety of the block chain network.
Detailed Description
Various exemplary embodiments of the present disclosure are described in detail below with reference to the accompanying drawings. The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of methods and systems according to various embodiments of the present disclosure. It should be noted that each block in the flowchart or block diagrams may represent a module, a segment, or a portion of code, which may comprise one or more executable instructions for implementing the logical function specified in the respective embodiment. It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
As used herein, the terms "include," "include," and similar terms are to be construed as open-ended terms, i.e., "including/including but not limited to," meaning that additional content can be included as well. The term "based on" is "based, at least in part, on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment," and so on.
Techniques, methods, and apparatus known to those of ordinary skill in the relevant art may not be discussed in detail but are intended to be part of the specification where appropriate. For the connection between the units in the drawings, for convenience of description only, it means that at least the units at both ends of the connection are in communication with each other, and is not intended to limit the inability of communication between the units that are not connected.
The present invention is described in detail below with reference to the attached drawings.
Fig. 1 is a schematic diagram of a blockchain network structure according to an embodiment of the present invention.
The block chain network comprises a target chain 101 and an identification chain 102, wherein the target chain 101 and the identification chain 102 both comprise at least two nodes, the target chain 101 and the identification chain 102 comprise a common node 101a (monitoring node), and the node 101a is compatible with the network protocol of the target chain 101 and the identification chain 102, wherein the identification chain 102 is a constructed alliance block chain network and has the following properties: (1) specific protocol rules, including: identification definition for identifying bad behaviors, communication protocol in a block chain, secondary development template of block chain nodes, cross-chain communication protocol (so as to access other chains to obtain information), transaction construction container and the like; (2) the method has the characteristics of fault tolerance, attack prevention and the like; (3) the federation parties to federate blockchain networks should be owners of other blockchain networks or community maintainers that, as contributors (contributing algorithms) and beneficiaries (able to identify victims in blockchain), guarantee the trustworthiness of the identification chain 102. It should be understood that, taking the example of the identification chain 102 having one node 101a in common with one target chain 101 herein, the identification chain 102 may have nodes in common with multiple target chains, and these common nodes may achieve the same functionality. These common nodes can participate in the consensus in the respective target chain, so that the transaction details that agree on the consensus in the target chain can be obtained and broadcasted to the identification chain 102.
Fig. 2 is a flow diagram 200 of a method of acting as a rogue node for an identified blockchain network on the target chain side, according to one embodiment of the present invention.
Step S101: the monitoring node 101a creates a transaction Tx (e.g., a transaction capable of performing a transfer function) that can be executed on the target chain 101 based on the characteristics of the target chain 101 in which it is located.
Step S102: the monitoring node 101a monitors whether there is abnormal behavior when other nodes on the target chain 101 where the monitoring node is located execute the transaction Tx. In one embodiment, the monitoring node 101a determines whether there is abnormal behavior in the other nodes when executing the transaction Tx according to the behavior identification. It should be appreciated that monitoring node 101a may determine whether there is abnormal behavior in the other nodes when performing transaction Tx in any other suitable manner. It should also be understood that the malicious behavior identifiers may be different when the target blockchains are different, and the alliance may customize the malicious behavior identifiers according to the malicious behavior characteristics of each target blockchain, for example, in this embodiment, the invalid transaction related to the benefit of the own account is frequently sent as the malicious behavior identifier.
Step S103: if the abnormal behavior of the node during the execution of the transaction Tx is monitored, the monitoring node 101a sends prompt information to the identification chain 102 in a broadcast manner, where the prompt information is used to indicate the relevant information of the node generating the abnormal behavior, and the identification chain 102 and the target chain 101 are different block chains.
Step S104: the monitoring node 101a performs verification analysis on the obtained prompt information through a neural network algorithm and sends a verification result to the identification chain 102 in a broadcast manner, wherein the verification result is used for indicating whether the node generating the abnormal behavior is a rogue node. In one embodiment, the monitoring node 101a extracts abnormal behavior information from the obtained prompt information; classifying the abnormal behavior information and dividing the dimension; and performing verification analysis through a neural network algorithm to obtain a verification result. It should be appreciated that the prompt information may also be validated using any suitable machine learning algorithm other than a neural network algorithm.
It should be understood that although the transactions are referred to herein as being created by monitoring node 101a, the transactions may be created by other nodes.
Fig. 3 is a flow diagram 300 of a method of acting as a rogue node for an identified blockchain network of an identified chain side, according to an embodiment of the present invention.
Step S201: the plurality of nodes in the identification chain 102 receive prompt information sent by the monitoring node 101a in a broadcast manner, wherein the prompt information is used for indicating relevant information of nodes which generate abnormal behaviors on a target chain.
Step S202: the plurality of nodes in the identification chain 102 respectively perform verification analysis on the received prompt information through a neural network algorithm and send respective verification results to the identification chain 102 in a broadcast mode, wherein the respective verification results are used for indicating whether the node generating abnormal behaviors on the target chain is a rogue node or not. In one embodiment, the plurality of nodes in the recognition chain 102 respectively extract abnormal behavior information from the received prompt information; classifying the abnormal behavior information and dividing the dimension; and performing verification analysis through a neural network algorithm machine learning algorithm to obtain a verification result. It should be appreciated that the prompt information may also be validated using any suitable machine learning algorithm other than a neural network algorithm.
Step S203: the plurality of nodes in the identification chain 102 send respective verification results to the identification chain in a broadcast manner so as to participate in consensus on whether the node generating abnormal behavior on the target chain is a rogue node or not, and form a consensus result.
Step S204: the plurality of nodes in the recognition chain 102 obtain the result of the consensus and store the result of the consensus.
The block chain community parties in each alliance party can inquire whether a target node on the own chain is a rogue node or not according to the rogue node information stored in the identification chain by the method for identifying the rogue node in the block chain, the determined rogue node is exposed to other block chain communities, and the determined rogue node is listed in blacklists of all the alliance parties, so that the rogue cost of the determined rogue node is increased.
Fig. 4 shows a schematic diagram of an apparatus 400 for identifying rogue nodes in a blockchain according to the present disclosure. The apparatus 400 may include: a memory 401 and a processor 402 coupled to the memory 401. The memory 401 is for storing instructions, and the processor 402 is configured to implement one or more of any of the steps of the methods described with respect to fig. 2 and 3 based on the instructions stored by the memory 401.
As shown in fig. 4, the apparatus 400 may further include a communication interface 403 for information interaction with other devices. The apparatus 400 may further comprise a bus 404, the memory 401, the processor 402 and the communication interface 403 communicating with each other via the bus 404.
The memory 401 may include volatile memory and may also include non-volatile memory. Processor 402 may be a Central Processing Unit (CPU), microcontroller, Application Specific Integrated Circuit (ASIC), Digital Signal Processor (DSP), Field Programmable Gate Array (FPGA) or other programmable logic device, or one or more integrated circuits configured to implement an embodiment of the invention.
Alternatively, the above-described method of identifying rogue nodes in a blockchain can be embodied by a computer program product, i.e., a tangible computer-readable storage medium. The computer program product may include a computer-readable storage medium having computer-readable program instructions embodied thereon for carrying out various aspects of the present disclosure. The computer readable storage medium may be a tangible device that can hold and store the instructions for use by the instruction execution device. The computer readable storage medium may be, for example, but not limited to, an electronic memory device, a magnetic memory device, an optical memory device, an electromagnetic memory device, a semiconductor memory device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a Static Random Access Memory (SRAM), a portable compact disc read-only memory (CD-ROM), a Digital Versatile Disc (DVD), a memory stick, a floppy disk, a mechanical coding device, such as punch cards or in-groove projection structures having instructions stored thereon, and any suitable combination of the foregoing. Computer-readable storage media as used herein is not to be construed as transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., optical pulses through a fiber optic cable), or electrical signals transmitted through electrical wires.
It should be noted that the above-mentioned embodiments are only specific examples of the present invention, and obviously, the present invention is not limited to the above-mentioned embodiments, and many similar variations exist. All modifications which would occur to one skilled in the art and which are, therefore, directly derived or suggested from the disclosure herein are deemed to be within the scope of the present invention.