A multi-robot consensus byzantine fault detection method
By encrypting the observed motion information of a multi-robot system and uploading it to the blockchain, a state data frame is generated to identify Byzantine faulty robots. This solves the problem of low reliability in Byzantine fault detection in existing technologies and achieves higher information security and detection accuracy.
Patent Information
- Application Number
- CN202511144843.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-08-15
- Publication Date
- 2025-11-04
- Estimated Expiration
- 2045-08-15
AI Technical Summary
Existing multi-robot consistent Byzantine fault detection methods have low reliability, require prior knowledge of the number of Byzantine robots F, and produce inconsistent detection results among different robots.
By acquiring the observed motion information of each target robot in a multi-robot system at the current moment, encrypting it, uploading it to the blockchain, and integrating the encrypted information on the blockchain to generate state data frames, the number of supporters and opponents is determined based on conflict data frames, thereby identifying Byzantine faulty robots.
It improves the reliability of Byzantine fault detection, prevents information tampering, enhances information security, effectively identifies Byzantine faulty robots, and improves the system's fault tolerance and robustness.
Smart Images

Figure CN120750806B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of robot fault recognition, in particular to a multi-robot consistency Byzantine fault detection method. BACKGROUND
[0002] In the study of multi-robot consistency, the group needs to reach a consensus on one or more state variables. However, when a small number of robots have malicious behaviors such as Byzantine faults, it is difficult for the group to reach a consensus. Existing Byzantine fault detection methods are mostly based on the Weighted Mean Subsequence Reduction Method (WMSR) and its improved methods. Generally, after collecting the state values of nearby neighbor robots and finding the abnormal values, the faulty robot is located or its data is excluded. This method has been successfully implemented in the smart contract of blockchain, which helps multi-robot to solve the Byzantine fault problem encountered in the consensus reaching process, but still has some limitations, such as needing to know the number of Byzantine robots F in advance, each robot needs to maintain 2F+1 neighbors, and different robots have inconsistent detection results. Overall, the reliability of the current Byzantine fault detection is low. SUMMARY
[0003] The present application provides a multi-robot consistency Byzantine fault detection method, which can solve the problem of low reliability of Byzantine fault detection.
[0004] The present application provides a multi-robot consistency Byzantine fault detection method, which can solve the problem of low reliability of Byzantine fault detection.
[0005] Obtain the observed motion information of each target robot in the multi-robot system at the current time; the observed motion information includes the motion information of the target robot itself and the motion information of multiple adjacent robots of the target robot;
[0006] Encrypt each observed motion information to obtain the encryption information of each observed motion information, and upload all encryption information to the blockchain;
[0007] Decrypt and integrate all encryption information on the blockchain at the current time to obtain the state data frame at the current time; the state data frame includes the observed motion information of all target robots at the corresponding time;
[0008] When the state data frame is a conflict data frame, the number of supporters and the number of opponents of each target robot are determined according to the conflict data frame, and a Byzantine fault robot is determined from all target robots based on the number of supporters and the number of opponents of all target robots; the conflict data frame is a state data frame in which motion information of target robots conflicts, and the Byzantine fault robot is a target robot that uploads incorrect information.
[0009] Optionally, each observed motion information is encrypted to obtain encrypted information of each observed motion information, including:
[0010] The following steps are performed for each observed motion information, respectively:
[0011] Obtain the private key of the target robot corresponding to the observed motion information and the public key on the blockchain;
[0012] Encrypt the observed motion information using the public key on the blockchain to obtain an encrypted payload;
[0013] Generate a digital signature of the target robot corresponding to the observed motion information using the private key of the target robot;
[0014] Integrate the identification information of the target robot corresponding to the observed motion information, the time corresponding to the observed motion information, the encrypted payload, and the digital signature into one data to obtain the encrypted information of the observed motion information.
[0015] Optionally, the number of supporters and the number of opponents of each target robot are determined according to the conflict data frame, including:
[0016] The following steps are performed for each target robot, respectively:
[0017] The other robots in the conflict data frame whose observed motion information includes the motion information of the target robot are regarded as observation robots;
[0018] The number of supporters and the number of opponents of the target robot are determined according to the observed motion information of all observation robots in the conflict data frame and the observed motion information of the target robot in the conflict data frame.
[0019] Optionally, the number of supporters and the number of opponents of each target robot are determined according to the conflict data frame, including:
[0020] respectively for each observation robot, determine whether the motion information of the target robot contained in the observation motion information of the observation robot in the conflict data frame is the same as the motion information of the target robot contained in the observation motion information of the target robot in the conflict data frame, if yes, take the observation robot as a supporter of the target robot, otherwise take the observation robot as an opponent of the target robot;
[0021] count the number of supporters of the target robot to obtain the number of supporters of the target robot, and count the number of opponents of the target robot to obtain the number of opponents of the target robot.
[0022] Optionally, based on the number of supporters and the number of opponents of all target robots, determine the Byzantine faulty robot from all target robots, including:
[0023] According to the number of supporters and the number of opponents of each target robot, calculate the reputation value of each target robot;
[0024] According to all reputation values, determine the Byzantine faulty robot from all target robots.
[0025] Optionally, according to the number of supporters and the number of opponents of each target robot, calculate the reputation value of each target robot, including:
[0026] When the number of supporters of the target robot is greater than the number of opponents, increase the initial reputation value of the target robot by a preset value to obtain the reputation value of the target robot;
[0027] When the number of supporters of the target robot is less than the number of opponents, decrease the initial reputation value of the target robot by a preset value to obtain the reputation value of the target robot.
[0028] Optionally, according to all reputation values, determine the Byzantine faulty robot from all target robots, including:
[0029] respectively for each target robot, the following steps are performed:
[0030] Determine whether the reputation value of the target robot is less than a reputation value threshold;
[0031] If yes, it is considered that the target robot transmits false information at the current time, and the target robot is marked as a Byzantine faulty robot.
[0032] Optionally, after the step of determining the Byzantine faulty robot from all target robots according to all reputation values, the multi-robot consistency Byzantine fault detection method further includes:
[0033] Isolate all Byzantine faulty robots.
[0034] The above-mentioned scheme of the present application has the following beneficial effects:
[0035] In some embodiments of the present application, the observed motion information of each target robot in the multi-robot system at the current time is obtained, and then each observed motion information is encrypted to obtain encrypted information of each observed motion information, and all encrypted information is uploaded to a blockchain, and then all encrypted information at the current time on the blockchain is decrypted and integrated to obtain a state data frame at the current time. When the state data frame is a conflict data frame, the number of supporters and the number of opponents of each target robot are determined according to the conflict data frame, and the Byzantine fault robot is determined from all target robots based on the number of supporters and the number of opponents of all target robots. Wherein, after the observed motion information is encrypted and uploaded, the information is prevented from being tampered with, and the information security and reliability are improved. The number of supporters and the number of opponents are calculated based on the conflict data frame, and the Byzantine fault robot is determined, which considers the motion information observed by all target robots, effectively improving the reliability of Byzantine fault detection.
[0036] Other beneficial effects of the present application will be described in detail in the subsequent specific embodiments section. BRIEF DESCRIPTION OF DRAWINGS
[0037] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed in the embodiments or prior art description will be briefly introduced below. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative labor.
[0038] Figure 1 Flow chart of the multi-robot consistency Byzantine fault detection method provided by an embodiment of the present application;
[0039] Figure 2 Schematic diagram of the encrypted ROS message communication mechanism provided by an embodiment of the present application;
[0040] Figure 3 Flow chart of the robot behavior provided by an embodiment of the present application;
[0041] Figure 4 Schematic diagram of the estimated value change curve provided by an embodiment of the present application;
[0042] Figure 5 Schematic diagram of the estimated error and convergence time statistical results provided by an embodiment of the present application. DETAILED DESCRIPTION
[0043] In the following description, for purposes of explanation and not limitation, specific details are set forth such as particular architectures, techniques, etc. in order to provide a thorough understanding of the embodiments of the present application. However, it will be apparent to those skilled in the art that the present application can be practiced in other embodiments that depart from these specific details. In other instances, detailed descriptions of well-known methods, devices, circuits, and
[0044] It will be understood that the term "includes," "including," "has," "having," "comprises," "comprising," "contains" or "containing," when used in this specification and in the following claims, specifies the presence of the stated features, integers, steps, operations, elements, and / or components but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.
[0045] It will be understood that the term "and / or," when used in this specification and in the following claims, refers to one or more of the associated listed items, and that the term "comprises" means "includes, but is not limited to."
[0046] As used in this specification and in the claims, the term "if" can be construed to mean "when" or "once" or "in response to determining" or "in response to detecting," depending on the context. Similarly, the phrase "if it is determined" or "if [a described condition or event] is detected" can be construed to mean "once it is determined" or "in response to determining" or "once [the described condition or event] is detected" or "in response to detecting [the described condition or event]," depending on the context.
[0047] In addition, the terms "first," "second," "third," etc. are used herein only to distinguish one element from another, and do not imply a relative importance or a given order.
[0048] The terms "one embodiment," "an embodiment," "some embodiments," "other embodiments," "another embodiment," "one implementation," "an implementation," "some implementations," "other implementations," "another implementation," etc. have the same meaning and can be used interchangeably. Each of the aforementioned terms comprehends one or more embodiments or implementations that include the features, structures, or characteristics described in conjunction with them. The terms "includes," "including," "has," "having" and "comprises" and / or "comprising," also are intended to be open-ended terms that specifically permit the inclusion of one or more symmetrical or asymmetrical elements, components, steps, operations, and / or functions that can not be specifically recited in a claim but are otherwise well known in the relevant art.
[0049] To address the low reliability of existing Byzantine fault detection methods, this application provides a multi-robot consensus Byzantine fault detection method. This method acquires the observed motion information of each target robot in a multi-robot system at the current moment, encrypts each piece of observed motion information, and uploads all encrypted information to a blockchain. Then, it decrypts and integrates all encrypted information on the blockchain at the current moment to obtain a state data frame. When the state data frame is a conflicting data frame, it determines the number of supporters and opponents for each target robot based on the conflicting data frame. Based on the number of supporters and opponents for all target robots, the Byzantine faulty robot is identified from all target robots. The method utilizes encryption of the observed motion information before uploading to prevent tampering, improving information security and reliability. It calculates the number of supporters and opponents based on the conflicting data frame and identifies the Byzantine faulty robot, taking into account the motion information observed by all target robots, thus effectively improving the reliability of Byzantine fault detection.
[0050] The following is an exemplary description of the multi-robot consistency Byzantine fault detection method provided in this application.
[0051] like Figure 1 As shown, the multi-robot consistency Byzantine fault detection method provided in this application includes the following steps:
[0052] Step 11: Obtain the observed motion information of each target robot in the multi-robot system at the current moment.
[0053] The aforementioned motion information includes the motion information of the target robot itself (such as position, velocity, acceleration, etc.) and the motion information of multiple neighboring robots of the target robot (such as position, velocity, acceleration, etc.). The aforementioned multi-robot system is a system in which multiple target robots perform tasks together, such as an autonomous driving fleet system. The neighboring robots are other target robots within a preset range around the target robot.
[0054] In some embodiments of this application, observation information of the target robot can be obtained through sensors, radar, or other devices installed on the target robot.
[0055] For example, if there are 3 neighboring robots within a preset range around the target robot at the current moment, then the observed motion information of the target robot includes its own motion information as well as the motion information of the 3 neighboring robots.
[0056] It should be noted that this step can be achieved using the target robot's own control system.
[0057] It is worth mentioning that by acquiring the motion information of the adjacent robot within a preset range around the target robot, i.e. the motion information of the adjacent robot changes with the motion of the target robot, it is not necessary to maintain a fixed list of information of the adjacent robot, thereby reducing the occupation of computing resources.
[0058] Step 12, encrypting each observation motion information to obtain encrypted information of each observation motion information, and uploading all encrypted information to the blockchain.
[0059] In some embodiments of the present application, the step of encrypting each observation motion information to obtain encrypted information of each observation motion information includes:
[0060] For each observation motion information, the following steps are performed respectively:
[0061] First, obtain the private key of the target robot corresponding to the observation motion information and the public key on the blockchain.
[0062] For example, the private key and the public key of the target robot can be generated using an asymmetric encryption algorithm, and the public key on the blockchain is sent to the device or system performing the present step (such as the control system of the target robot itself), while the public key of the target robot is sent to the blockchain (i.e. the public keys of both are present on the target robot and the blockchain).
[0063] Second, encrypt the observation motion information using the public key on the blockchain to obtain an encrypted payload.
[0064] For example, the observation motion information can be encrypted using the public key on the blockchain using an asymmetric encryption algorithm.
[0065] Third, generate a digital signature of the target robot corresponding to the observation motion information using the private key of the target robot.
[0066] For example, the digital signature of the target robot corresponding to the observation motion information can be generated using the private key of the target robot using an asymmetric encryption algorithm.
[0067] Fourth, integrate the identification information of the target robot corresponding to the observation motion information, the time corresponding to the observation motion information, the encrypted payload, and the digital signature into one data to obtain the encrypted information of the observation motion information.
[0068] The above identification information is used to indicate the identity of the target robot, which can be an identity ID, a number, etc.
[0069] It should be noted that the encryption of the observation motion information can prevent the information from being tampered with, resulting in false fault detection. For example, there are three target robots, target robot 1, target robot 2, and target robot 3, respectively located at positions A, B, and C (motion information), and the three target robots can observe each other. Then the data recorded by target robots 1, 2, and 3 are as follows:
[0070] ;
[0071] ;
[0072] ;
[0073] wherein, 1, 2, and 3 represent the number of target robots recording data, represents the time when the data is recorded, indicates that target robot 1 observes that target robot 2 is located at position B, indicates that target robot 1 observes that target robot 3 is located at position C, indicates that target robot 2 observes that target robot 1 is located at position A, indicates that target robot 2 observes that target robot 3 is located at position C, indicates that target robot 3 observes that target robot 1 is located at position A, indicates that target robot 3 observes that target robot 2 is located at position B.
[0074] If all target robots are normal, when these information is gathered on the blockchain and detected by the smart contract, no conflict will be detected and everything is normal.
[0075] However, if there is a Byzantine robot, a conflict will be triggered. Suppose target robot 1 and target robot 2 are normal robots, and target robot 3 is a Byzantine robot. First, target robot 3 will lie and tamper with the data it wants to submit to the blockchain to data that does not conform to the actual situation, such as tampering with . Then when detected by the smart contract, it will be found that the support rate of target robot 3 at point A is 1 / 3, and the support rate of target robot 3 at point C is 2 / 3. According to the majority principle, the final determination is that target robot 3 is at point C, which conforms to the actual situation. At this time, there is no problem, but if there is no encryption, target robot 3 first tampers with its own data, and then intercepts the message of target robot 2 and tampers with the data in it, such as tampering with the data of target robot 2 as Then, when the statistical detection is performed on the smart contract, it is detected that the support rate of the target robot 3 for A is 2 / 3 and the support rate of the target robot 3 for C is 1 / 3, and finally it is determined that the target robot 3 is located at the A point, which does not conform to the actual situation, that is, the Byzantine robot succeeds in doing evil, hides its position and is not found.
[0076] It should be noted that the control system of the target robot itself can be used to implement this step.
[0077] Step 13: decrypt and integrate all encrypted information at the current time on the blockchain to obtain a state data frame at the current time.
[0078] The above state data frame includes observation motion information of all target robots at the corresponding time.
[0079] It should be noted that the encrypted information on the blockchain can be decrypted according to the principle of asymmetric encryption algorithm, using the public key of the target robot on the blockchain to verify the digital signature in the encrypted information, confirming the message source and integrity, and verifying the encrypted data using the private key on the blockchain.
[0080] The encrypted information recorded on the blockchain is disordered. Although each target robot periodically submits the currently observed information to the blockchain in time sequence, the blockchain also exchanges messages with other target robots to synchronize data, and will be sorted again, the order of which may not be consistent with the time sequence. Therefore, the data collected on the blockchain needs to be classified and sorted. Classification is to classify all recorded information according to the target robot id. Sorting is to further sort the classified data in chronological order to integrate the observation motion information at each time.
[0081] For example, all decrypted observation motion information at the current time is sorted in turn according to the identification information of the target robot to obtain a state data frame. The position information in a state data frame including four uploaded encrypted information is shown in Table 1:
[0082] Table 1
[0083] ;
[0084] Among them, the observation list is the id and position of the neighbor robot observed by the target robot, the number represents the id of the neighbor robot, P2 and P3 represent the position of the neighbor robot, and the blank represents that the target robot has not observed the neighbor robot.
[0085] Step 14, when the state data frame is a conflict data frame, determining the number of supporters and the number of opponents of each target robot according to the conflict data frame, and determining the Byzantine faulty robot from all target robots based on the number of supporters and the number of opponents of all target robots.
[0086] The conflict data frame is a state data frame in which the motion information of a target robot is in conflict, i.e., the motion information of a target robot in all observed motion information of the state data frame is not completely consistent. The Byzantine faulty robot is a target robot that uploads incorrect information. The supporter is another robot that observes the motion information of the target robot and the motion information is consistent with the self-motion information observed by the target robot itself. The opponent is another robot that observes the motion information of the target robot and the motion information is inconsistent with the self-motion information observed by the target robot itself.
[0087] It should be noted that if the state data frame is not a conflict data frame, all target robots at the current time are not processed.
[0088] In some embodiments of the present application, the step of determining the number of supporters and the number of opponents of each target robot according to the conflict data frame, and determining the Byzantine faulty robot from all target robots based on the number of supporters and the number of opponents of all target robots includes:
[0089] First, determining the number of supporters and the number of opponents of each target robot according to the conflict data frame.
[0090] Specifically, for each target robot, the following steps are performed:
[0091] First, the other robots whose observed motion information includes the motion information of the target robot in the conflict data frame are regarded as observed robots.
[0092] Then, the number of supporters and the number of opponents of the target robot are determined according to the observed motion information of all observed robots in the conflict data frame and the observed motion information of the target robot in the conflict data frame.
[0093] Specifically, for each observed robot, it is determined whether the motion information of the target robot contained in the observed motion information of the observed robot in the conflict data frame is the same as the motion information of the target robot contained in the observed motion information of the target robot in the conflict data frame. If yes, the observed robot is a supporter of the target robot, otherwise the observed robot is an opponent of the target robot.
[0094] The number of supporters of the target robot is counted to obtain the number of supporters of the target robot, and the number of opponents of the target robot is counted to obtain the number of opponents of the target robot.
[0095] In the second step, the reputation value of each target robot is calculated according to the number of supporters and the number of opponents of each target robot.
[0096] Specifically, when the number of supporters of the target robot is greater than the number of opponents, the initial reputation value of the target robot is increased by a preset value to obtain the reputation value of the target robot.
[0097] When the number of supporters of the target robot is less than the number of opponents, the initial reputation value of the target robot is decreased by a preset value to obtain the reputation value of the target robot.
[0098] When the number of supporters of the target robot is equal to the number of opponents, the initial reputation value of the target robot is not adjusted.
[0099] It should be noted that before the current time, if the Byzantine fault detection has been performed and the reputation value of the target robot has been adjusted, the reputation value adjusted last time is taken as the initial reputation value in this step, and if the Byzantine fault detection has not been performed, the preset initial value is taken as the initial reputation value in this step.
[0100] In the third step, the Byzantine fault robot is determined from all target robots according to all reputation values.
[0101] Specifically, the following steps are performed for each target robot respectively:
[0102] It is judged whether the reputation value of the target robot is less than a reputation value threshold.
[0103] If yes, it is considered that the target robot uploads false information at the current time, and the target robot is marked as a Byzantine fault robot.
[0104] Otherwise, the target robot is not marked, and the reputation value of the target robot is recorded as the initial reputation value of the target robot in the next Byzantine fault identification.
[0105] It should be noted that the above-mentioned reputation value threshold is a preset value. After the Byzantine fault robot is determined, all Byzantine fault robots are isolated (no longer receive the uploaded information, even stop the motion program and communication with it, and a series of operations to make it no longer affect the overall task of the multi-robot system). The processes of steps 13 and 14 can be realized through a smart contract on a block chain.
[0106] It is worth mentioning that the observation motion information is encrypted and uploaded to prevent information tampering, improve information security and reliability, support the number of supporters and opponents based on conflict data frame calculation, and determine the Byzantine faulty robot. Considering all the target robot observed motion information, the reliability of Byzantine fault detection is effectively improved.
[0107] In addition, the method of the application has the following advantages:
[0108] Architecture advantage: a hybrid monitoring architecture is adopted, combining local neighbor observation and global blockchain verification, realizing a distributed monitoring network, ensuring data reliability and system scalability, so that the state observation of each target robot is recorded on the blockchain in an unforgeable manner while the Byzantine faulty robot is audited and detected through smart contract rules.
[0109] Security features: encrypted communication uses asymmetric encryption and digital signature mechanism, each target robot generates a public / private key pair, exchanges public keys for message encryption, effectively preventing man-in-the-middle attacks, ensuring the security and authenticity of message transmission, and providing strong security protection for the system.
[0110] Innovative detection mechanism: the innovative three-stage detection process significantly improves the accuracy of fault detection through historical state reconstruction, multi-perspective analysis and dynamic reputation adjustment. The multi-perspective comparison implemented by the smart contract enhances the fault tolerance of the system, and the dynamic reputation adjustment mechanism can effectively isolate Byzantine nodes, improving the robustness of the system.
[0111] The method of the application will be described below in conjunction with a specific example.
[0112] The encrypted robot operating system (ROS, Robot Operating System) message communication mechanism is as shown in Figure 2 The plaintext of the sender (i.e. the robot) , is the robot identifier, is the time, is the robot position, is the robot view, is the neighbor observation list) is encrypted using the receiver (i.e. the blockchain) public key to obtain the ciphertext, and is signed using the sender private key to obtain the digital signature. The two are serialized to obtain the encrypted ROS message, and the message is published to the POS topic corresponding to the “sender ID / topic name” of the sender. The receiver subscribes to the message to obtain the encrypted ROS message, and the ciphertext and digital signature are obtained by reverse serialization. The ciphertext is decrypted using the receiver private key to obtain the plaintext, and the digital signature, plaintext and sender key are verified.
[0113] Each robot generates a pair of public and private keys at the initial time and exchanges the public keys with other robots. These public and private keys are used to encrypt and decrypt messages in the subsequent process. First, the sender uses the receiver's public key to encrypt the plaintext to be sent, obtaining ciphertext that can only be decrypted by the receiver using its private key. At the same time, the sender uses its own private key and a hash function to sign the plaintext, creating a digital signature that is also used as a digital digest. Then, the sender packs the ciphertext and the digital signature into a serialized ROS message and publishes it on the topic "sender ID / topic name" corresponding to the sender's ID.
[0114] The receiver continuously listens to the topic, and once a new ROS message arrives, the receiver's callback function is automatically triggered. This callback function subscribes to the messages of the topic, deserializes the ROS message into its original type, and obtains the corresponding ciphertext and digital signature. Subsequently, the receiver decrypts the ciphertext using its own private key to obtain a plaintext. To verify whether the plaintext is sent by the sender and has not been tampered with, the receiver passes the sender's public key, the decrypted plaintext, and the digital signature to the verification function for verification. If the verification is successful, the plaintext is considered valid.
[0115] By introducing asymmetric encryption algorithms as a security protection mechanism, the security of the ROS subscription / publishing communication mode can be improved to prevent unauthorized access and data tampering. This security improvement helps to establish trust between multiple robots and protect the robot system from potential security threats, thereby reducing additional system processing delays caused by attacks launched by malicious nodes. Although encryption and decryption increase the computational burden and communication delay to some extent, by selecting efficient algorithms and optimizing the encryption process, the impact can be reduced, and the efficiency of communication can be guaranteed. Therefore, to some extent, the security encryption mechanism helps to improve the overall performance of the system. In summary, the security encryption mechanism has a positive impact on the efficient consensus of robots, and the balance between security and efficiency needs to be considered comprehensively.
[0116] The data frame at time t is shown in Table 2.
[0117] Table 2
[0118] ;
[0119] wherein, represents the position of robot 1 itself, represents the position of robot 2 itself, represents the position of robot 3 itself, represents the position of robot 4 itself, represents the viewpoint of robot 1 itself, represents the viewpoint of robot 2 itself, represents the view of robot 3 itself, represents the view of robot 4 itself, the view is other information observed by the robot, such as the floor tile color at the location. represents the location of robot 2 observed by robot 1 and the view , represents the location of robot 3 observed by robot 1 and the view , represents the location of robot 1 observed by robot 2 and the view , represents the location of robot 1 observed by robot 3 and the view .
[0120] First, from each data frame df(t), the location and the view reported by robot i at time t are obtained. Then, in the same data frame df(t), the algorithm can determine whether there are other robots observing this robot at time t by checking the observation list of each robot. For example, in Table 2, robot 1 observes the status of robot 2 and robot 3.
[0121] For each neighbor robot j that observes robot i, further check whether the location and the status view of robot i observed by robot j in its observation list conflict with the location and the status view claimed by robot i (here only visible status is detected, such as the tile color at the location of robot i ). According to the check result, the algorithm can calculate the number of supporters and opponents of the statement “at time t, robot i is at location with view ”. Next, according to the majority principle, determine whether robot i is lying about the information, and determine whether to increase or decrease the reputation of robot i. As the algorithm continues to execute, the algorithm will obtain a list R containing the cumulative reputation of all robots. The reputation list will be used in the Byzantine failure classification process. The process compares the reputation of the robot with the preset reputation threshold γ. If the reputation of robot i, i.e. Ri, is less than the threshold γ, robot i is added to the set of Byzantine robots Q, and its data will not be used for the next calculation.
[0122] The method of the present application is exemplarily described below in conjunction with a pair of comparative experiments.
[0123] The fault tolerance capability of the proposed method and the weighted multi-scale regression (W-MSR) algorithm in the traditional method under different numbers of Byzantine faulty robots is compared. All experiments are conducted on Webots simulator using Epuck2.0 robots.
[0124] The experimental environment is a square testbed randomly distributed by black and white square tiles (in this experiment, the proportion of black tiles is 0.40). The size of each tile is 10 cm 10 cm. The size of the field is set to 2 m 2 m.
[0125] Ten simulated Epuck2.0 robots are used in this experiment. Epuck2.0 is a mobile micro robot in the shape of a cylinder, 45 mm high and 70 mm in diameter. Epuck2.0 robots are equipped with 8 infrared sensors that can measure the ambient light and the proximity of objects up to 6 cm, and a color camera for observing the ground tile color downward. At the same time, this experiment uses simulation means to realize the robot's perception of the state of the surrounding neighbors and communication with them. The communication range and perception range of the robot are both set to 50 cm.
[0126] The normal robot behavior flow is according to Figure 3The execution, its motion control follows three basic procedures, namely random walk, explore the environment and obstacle avoidance, start after the execution of random walk, explore the environment or obstacle avoidance, in the environment, in turn, image acquisition, detection of color, calculation of black color block proportion, get positioning, observation of neighbors, submit five tuples (i.e. plaintext) to the blockchain copy, synchronize blockchain data, extract blockchain consensus data, construct space-time data frame set, detect conflicting views, update reputation list, classify byzantine robots, exclude byzantine robot proportion estimate value, online update proportion estimate value, judge whether the standard error of proportion estimate value reaches the preset value, if yes, end, otherwise, return to start again. The proportion estimate value is used to describe the proportion of a certain information in all information in the multi-robot. In addition, the robot samples the color of the floor through the downward camera at each step and observes the state of the neighbor robot. The robot calculates the estimate value of the proportion of black color based on all samples collected in the past 10 seconds. In addition to the initial 10 seconds, the robot submits a five tuple composed of its ID, timestamp, position, sampled color, current estimated proportion and neighbor state observation list to the blockchain interface at an interval of 1 second. At the same time, the smart contract program on the blockchain extracts the blockchain consensus data, constructs the space-time observation data frame set, detects whether there is a conflict between the neighbor observation and the robot submitted view, then updates the reputation list accordingly, and judges whether to classify the robot as a byzantine robot according to the size of the reputation value and the reputation threshold. After excluding the proportion estimate value data of the byzantine robot, the online algorithm is used to update the historical average proportion estimate value and the standard error of all robots, and finally the standard error is judged whether it has been less than the preset threshold, if yes, the experiment exits, otherwise the process is repeated.
[0127] The maximum number of byzantine robots is set to 0 to 5 in this experiment. The byzantine robot will tamper with the sensor readings, i.e. the tile color collected from the downward camera, and calculate the black proportion estimate based on these tampered colors. In this experiment, the byzantine robot continuously tampers the collected color as black, regardless of whether the sensor collects black or white color, so its proportion estimate always remains x=1. In addition, if there are other byzantine robots among its neighbors, they will collude and send their tampered sample data to the byzantine robots in the neighbor, and modify the position and color of the byzantine robot in the local observation list according to the data sent by the neighbor byzantine robot, in order to achieve the purpose of mutual perjury.
[0128] This experiment sets indicators to measure the convergence performance of the common cognition of multi-robot, estimate value (intuitive feeling) and estimate error (accurate quantification); indicators to measure the efficiency of common cognition, convergence time.
[0129] Estimate. This indicator shows the change of the black proportion estimate of each robot in the environment over time, reflecting the consensus convergence performance.
[0130] Estimate Error. This metric is the difference between the actual proportion of black tiles and the proportion estimate reached by the multi-robot consensus. This experiment was repeated 10 times with the same settings, and the average error of the 10 experiments was calculated as a statistic.
[0131] Convergence Time. This metric represents the time required for all robot estimates to converge to a consensus estimate, or the time required for all non-Byzantine robots to approximately converge to a single value. The former applies to the method described in this application, while the latter applies to the W-MSR method. This metric is also the average of 10 experiments.
[0132] The experimental results obtained are as follows Figure 4 As shown, Figure 4 The horizontal axis represents time in seconds, and the vertical axis represents the estimated value. F represents the upper limit of the tolerable number of Byzantine robots, f represents the number of Byzantine robots, and different curves represent different types of robots. Figure 4 'a' represents the curve of the estimated value change when f=2 and F=2 under the W-MSR algorithm. Figure 4 b represents the curve of the estimated value change when f=3 and F=2 under the W-MSR algorithm. Figure 4 c represents the curve showing the change in the estimated value when f=2 under the Blockchain method (i.e., the method of this application). Figure 4 d represents the curve of the estimated value change when f=3 under the Blockchain method.
[0133] When the number of Byzantine robots f ≤ F, the W-MSR method shows good convergence performance. Except for the Byzantine robots whose estimated value remains consistently at x = 1.0, all non-Byzantine robots successfully converge to an approximation close to the true value (x = 0.4, gray dashed line). However, when f > F, the W-MSR method shows that all non-Byzantine robots are affected by the Byzantine robots, and their estimated values converge to the Byzantine robots' estimated value x = 1.0.
[0134] For the method of the present application, the blockchain can effectively exclude the influence of the Byzantine robot without using F as prior knowledge. Whether the results show that when the number of Byzantine robots is 2 or 3, the estimated values of all robots (including Byzantine robots) converge to a level close to the true proportion value. This result contains two meanings. First, under the method of the present application, the convergence performance of the proportion estimate is not affected by the number of Byzantine robots, because the method of the present application does not determine the number of Byzantine robots and who is the Byzantine robot based on the preset upper limit of the Byzantine robot, but decides who is more likely to be a Byzantine robot through neighbor observation information and the accumulated reputation value of the robot, so once a robot state is abnormal and is observed by the neighbor, it is highly likely to be detected. Second, the estimated values of Byzantine robots and non-Byzantine robots converge. This is because the statistical results directly come from the smart contract rather than the output of the off-chain Byzantine robot controller. The blockchain-based smart contract has good isolation and fairness, and its output data is consistent whether it runs in the virtual machine environment of the normal robot or the virtual machine environment of the Byzantine robot.
[0135] The box plot statistical results of the estimation error and the convergence time are shown in FIGS. 3 and 4, respectively. Figure 5 Figure 5 The horizontal axis in each figure represents the number of Byzantine robots, the vertical line represents the maximum value interval, the rectangular area is the quartile, and the rectangular point is the abnormal point. Figure 5 a is the estimation error result of the W-MSR method, and the vertical axis represents the estimation error. Figure 5 b is the estimation error result of the blockchain Blockchain method (i.e. the method of the present application), and the vertical axis represents the estimation error. Figure 5 c is the convergence time result of the W-MSR method, and the vertical axis represents the convergence time in seconds. Figure 5 d is the convergence time result of the blockchain Blockchain method (i.e. the method of the present application), and the vertical axis represents the convergence time in seconds.
[0136] From the estimation error index, when a small number of Byzantine robots (f≤2) are processed, the result of the W-MSR method shows that the average estimation error is close to zero. When the number of Byzantine robots exceeds the preset tolerance threshold F=2 in the W-MSR method, the average estimation error increases significantly (about 0.6). In contrast, in the results of the method of the present application, when f≤5, the average estimation error is always close to zero. This result shows that when F is preset to 2, the fault tolerance rate of W-MSR is only 20%, while the method proposed in the present application can reach 50%.
[0137] In order to further verify the consistency of the Byzantine failure detection results of each robot under the method of the present application, the results of a certain experiment of the method of the present application are shown in Table 3.
[0138] Table 3
[0139] ;
[0140] It can be seen that the robots 5 and 7 are set as the Byzantine robots at the beginning of the experiment, and the set of Byzantine robots detected by all the robots at the end of the experiment is {5, 7}, which indicates that the detection results of all the robots are consistent and correct; and the final proportion estimation value of all the robots is 0.388074353, which indicates that the proportion estimation values of all the robots are consistent and close to the true proportion 0.4.
[0141] As a comparison, the results of a certain experiment of the W-MSR method are shown in Table 4.
[0142] Table 4
[0143] ;
[0144] It can be seen that the robots 6 and 8 are set as the Byzantine robots at the beginning of the experiment, and the set of Byzantine robots detected by all the robots at the end of the experiment is not completely consistent. First, the results of the robots 6 and 8 are {4, 1} and {9, 3} respectively, because the Byzantine robots can freely change their detection results at the local controller; second, the detection result of the robot 4 is {4, 1}, which is different from most of the correct detection results, because under the W-MSR method, the robot can only use the latest estimation value of the current neighbor and the outdated estimation value of the historical neighbor as the input of the detection function, and since the message propagation is not sufficient, the robot 4 may not have received the latest estimation value of all the robots, thus resulting in inconsistent detection results; from the final proportion estimation value, the results of the non-Byzantine robots are also not consistent.
[0145] From the above results, it can be found that the number of Byzantine robots that can be tolerated by the W-MSR method is related to the preset F value, and when the number of Byzantine robots exceeds F, the result is completely affected by the Byzantine robots, so the fault tolerance rate is P=F / N, N is the total number of robots. The method proposed in the present application does not need to set the upper limit of the number of tolerable Byzantine robots in advance. And the number of tolerable Byzantine robots can still maintain good anti-interference ability (the estimation error is always around 0) when the number of the whole group is half, so the fault tolerance rate is P=50%.
[0146] For the average convergence time metric, the proposed method exhibits a slight increase in average convergence time as the number of Byzantine robots increases, compared to the W-MSR method. The main reason is that the W-MSR method does not require all robots to converge to the exact same value, but a roughly same value (the difference between the maximum and minimum of the estimated values among all robots is less than a certain threshold, i.e., judged as converged). However, for the proposed method, on one hand, it needs to collect the estimated values of all robots and form consensus data, and then compute an exact same average estimated value based on all the consensus estimated values; on the other hand, it needs to detect Byzantine robots before computing the proportional estimate using the common observation data. These aspects inevitably increase the time overhead.
[0147] The above experimental results show that the proposed method is superior to the classical W-MSR method in terms of convergence performance and average error metric without significantly increasing the convergence time. Moreover, the proposed method exhibits more flexibility (without setting an upper limit on the number of tolerable Byzantine robots in advance) and robustness (can tolerate more Byzantine robots than the W-MSR method, which can tolerate 50% of the total number of robots).
[0148] The above describes the preferred embodiments of the present application. It should be noted that, for those skilled in the art, without departing from the principles of the present application, a number of improvements and refinements can be made, which should also be considered as the protection scope of the present application.
Claims
1. A method for detecting consensus Byzantine faults in multi-robot systems, characterized in that, include: Acquire the observed motion information of each target robot in a multi-robot system at the current moment; The observed motion information includes the motion information of the target robot itself and the motion information of multiple neighboring robots of the target robot; Each of the observed motion information is encrypted to obtain encrypted information for each of the observed motion information, and all encrypted information is uploaded to the blockchain; All encrypted information on the blockchain at the current moment is decrypted and integrated to obtain the state data frame at the current moment; the state data frame includes the observed motion information of all target robots at the corresponding moment; When the state data frame is a conflict data frame, the number of supporters and opponents of each target robot is determined according to the conflict data frame, and the Byzantine faulty robot is determined from all target robots based on the number of supporters and opponents of all target robots; the conflict data frame is a state data frame in which the motion information of the target robots is conflicted, and the Byzantine faulty robot is the target robot that uploaded the wrong information.
2. The multi-robot consistency Byzantine fault detection method according to claim 1, characterized in that, The step of encrypting each of the observed motion information to obtain encrypted information for each of the observed motion information includes: For each of the observed motion information, the following steps are performed: Obtain the private key of the target robot corresponding to the observed motion information and the public key on the blockchain; The observed motion information is encrypted using the public key on the blockchain to obtain an encrypted payload; A digital signature of the target robot corresponding to the observed motion information is generated using the target robot's private key; The target robot's identification information corresponding to the observed motion information, the time corresponding to the observed motion information, the encrypted payload, and the digital signature are integrated into a single data set to obtain the encrypted information of the observed motion information.
3. The multi-robot consistency Byzantine fault detection method according to claim 1, characterized in that, The step of determining the number of supporters and opponents for each target robot based on the conflict data frames includes: For each of the target robots, the following steps are performed: Other robots whose motion information in the conflict data frame includes the motion information of the target robot are considered as observation robots. The number of supporters and opponents of the target robot is determined based on the observed motion information of all observing robots in the conflict data frame and the observed motion information of the target robot in the conflict data frame.
4. The multi-robot consistency Byzantine fault detection method according to claim 3, characterized in that, The step of determining the number of supporters and opponents of the target robot based on the observed motion information of all observing robots in the conflict data frame, and the observed motion information of the target robot in the conflict data frame, includes: For each of the observed robots, determine whether the motion information of the target robot contained in the observed motion information of the observed robot in the conflict data frame is the same as the motion information of the target robot contained in the observed motion information of the target robot in the conflict data frame. If so, the observed robot is regarded as a supporter of the target robot; otherwise, the observed robot is regarded as an opponent of the target robot. The number of supporters of the target robot is counted to obtain the number of supporters of the target robot, and the number of opponents of the target robot is counted to obtain the number of opponents of the target robot.
5. The multi-robot consistency Byzantine fault detection method according to claim 1, characterized in that, The method of identifying Byzantine faulty robots from all target robots based on the number of supporters and opponents of all target robots includes: The reputation score of each target robot is calculated based on the number of supporters and opponents for each target robot. Identify the Byzantine faulty robot from all target robots based on all reputation values.
6. The multi-robot consistency Byzantine fault detection method according to claim 5, characterized in that, The calculation of the reputation score for each target robot based on the number of supporters and opponents includes: When the number of supporters of the target robot is greater than the number of opponents, the initial reputation value of the target robot is increased by a preset value to obtain the reputation value of the target robot. When the number of supporters of the target robot is less than the number of opponents, the initial reputation value of the target robot is reduced by a preset value to obtain the reputation value of the target robot.
7. The multi-robot consistency Byzantine fault detection method according to claim 6, characterized in that, The process of identifying Byzantine faulty robots from all target robots based on all reputation values includes: For each of the target robots, the following steps are performed: Determine whether the reputation value of the target robot is less than a reputation value threshold; If so, the target robot is considered to have uploaded error information at the current moment, and the target robot is marked as a Byzantine faulty robot.
8. The multi-robot consistency Byzantine fault detection method according to claim 7, characterized in that, Following the step of identifying Byzantine-faulted robots from all target robots based on all reputation values, the multi-robot consensus Byzantine fault detection method further includes: Isolate all malfunctioning Byzantine robots.
Citation Information
Patent Citations
Multi-robot fast target searching method based on block chain common cognition
CN115333745A
Methods and systems for fast consensus within distributed ledgers
US20240370327A1