IRIDIA - Supplementary Information (ISSN: 2684-2041)

Supplementary material for the paper:

Robot swarms need blockchain technology:
A comparison of consensus protocols and their resilience to Byzantine robots

Volker Strobel, Eduardo Castello Ferrer, and Marco Dorigo (November 2019)

Table of Contents
  1. Abstract
  2. Statistical data


Consensus achievement is a crucial capability for robot swarms, for example, for path selection, spatial aggregation, or collective sensing. However, the presence of malfunctioning and malicious robots (Byzantine robots) can make it impossible to achieve consensus using classical consensus protocols. In this work, we show how a swarm of robots can achieve consensus even in the presence of Byzantine robots by exploiting blockchain technology. Bitcoin and later blockchain frameworks, such as Ethereum, have revolutionized financial transactions. These frameworks are based on decentralized databases (blockchains) that can achieve secure consensus in peer-to-peer networks. We illustrate our approach in a collective-sensing scenario where robots in a swarm are controlled via blockchain-based smart contracts (decentralized protocols executed via blockchain technology) that serve as ‘meta-controllers’ and we compare it to state-of-the-art consensus protocols using a robot swarm simulator. Additionally, we show that our blockchain- based approach can prevent attacks where robots forge a large number of identities (Sybil attacks). The developed robot-blockchain interface is released as open-source software in order to facilitate future research in blockchain-controlled robot swarms. Besides increasing security, we expect the presented approach to be important for data analysis, digital forensics, and robot-to-robot financial transactions in robot swarms.

Statistical data

Download the zip file that contains the raw data of all runs (CSV format). We compare the following three approaches:

in the following five experiments:

There is one file per experiment and approach. The filename is composed of the experiment number, experiment name, and used approach:
<experiment_number>_<experiment_name>_<approach>.csv. For example, 2_Byzantine_1.csv corresponds to 'Experiment 2 - Byzantine' conducted with the linear consensus protocol.