IRIDIA - Supplementary Information (ISSN: 2684-2041)

Supplementary material for the paper:

Robot swarms neutralize harmful Byzantine robots using a blockchain-based token economy

Volker Strobel, Alexandre Pacheco, and Marco Dorigo (February 2023)


Table of Contents
  1. Abstract
  2. Data
  3. Example videos

Abstract

Through cooperation, robot swarms can perform tasks or solve problems that a single robot from the swarm could not perform/solve by itself. However, it has been shown that a single Byzantine robot (e.g., a malfunctioning or malicious robot) can disrupt the coordination strategy of the entire swarm. Therefore, a versatile swarm robotics framework that addresses security issues in inter-robot communication and coordination is urgently needed. In this paper, we show that security issues can be addressed by setting up a token economy between the robots. To create and maintain the token economy, we use blockchain technology, originally developed for the digital currency Bitcoin. The robots are given crypto tokens that allow them to participate in the swarm's security-critical activities. The token economy is regulated via a smart contract that decides how to distribute crypto tokens among the robots depending on their contributions. We design the smart contract so that Byzantine robots soon run out of crypto tokens and can therefore no longer influence the rest of the swarm. In experiments with up to 24 physical robots, we demonstrate that the token economy indeed works: the robots can maintain blockchain networks and can use blockchain-based smart contracts to neutralize the destructive actions of Byzantine robots in a collective-sensing scenario. In experiments with more than 100 simulated robots, we study the scalability and long-term behavior of our approach. The obtained results demonstrate the feasibility and viability of blockchain-based swarm robotics.

Data

Download the ZIP archive that contains the results of the experiments.

The folders correspond to the experiments in the article as follows:

The folder raw_data/ is divided into the results of the simulations and of the real robot experiments. Each experiment folder is named as follows: <Number of robots>rob-<Number of Byzantines>byz-<Repetition number>. For example, 24rob-3byz-2 indicates an experiment with 24 robots, of which 3 are Byzantine robots, and it is the second repetition of this experiment. Each experiment folder contains one folder per robot with the robot's ID. In each of these folders, there are maximum 9 CSV files:

  1. block.csv: information about blockchain blocks (timestamps etc.)
  2. buffer.csv: number and IDs of peers
  3. estimate.csv: raw data from the ground sensors
  4. extra.csv: blockchain data size and CPU usage
  5. readme.txt: comments about this run
  6. sc.csv: information from the smart contract (e.g. mean of estimates, number of estimates)
  7. sync.csv: number of blocks per robot encounter
  8. tx.csv: information about blockchain transactions (e.g., hash, timestamp, included in block?)
  9. vote.csv: timestamp and value of estimates that are sent to the smart contract

Example videos

Below, you will find example runs of the different experiments. On request, we provide a zip archive with videos of all real-robot experiments.

Experiment 1a

24 robots with 0 Byzantine robots

24 robots with 3 Byzantine robots

24 robots with 6 Byzantine robots

24 robots with 9 Byzantine robots

Experiment 2a

24 robots with 0 Byzantine robots

24 robots with 6 Byzantine robots

Experiment 2b

8 robots with 2 Byzantine robots

16 robots with 4 Byzantine robots

24 robots with 6 Byzantine robots