DOI: 10.5281/zenodo.13856368
title: Advancing Robotic Swarms with Blockchain Technology: A Dynamic Two-Factor Authentication Consensus Framework

description: Data Description and File Structure:

This data repository contains the raw data collected across all the experiments describe from the paper entitled “Advancing Robotic Swarms with Blockchain Technology: A Dynamic Two-Factor Authentication Consensus Framework”. These are available as CSV files under the appropriate directories.

Three main folders are found in this repository:



1FA-single-factor-auth/



Contains raw data from experiments using the Single-Factor Authentication (1FA) framework, where only on-chain consensus validation (OCV) is applied without the off-chain peer verification (OPV) phase.



2FBC_two-factor-blockchain/



Includes data from experiments employing the Two-Factor Blockchain Consensus (2FBC) framework, which integrates both off-chain peer verification (OPV) and on-chain consensus validation (OCV) phases for enhanced security. This also contains the baseline results.



BB_blockchain-base/



Stores the experimental data from the Blockchain Base (BB) framework, where a basic blockchain model was used without the multi-factor authentication features of 1FA or 2FBC. Most data points here are obtained from the work of Strobel et al. (2023) in their work, doi/10.1126/scirobotics.abm4636




Under each directory, we have the following folders:



exp_1/



Contains data from scalability experiments, where swarm size was increased within a fixed 3.6 m² arena to evaluate the framework’s performance as the number of robots grows.



exp_2/



Includes data from accuracy tests that varied the percentage of white tiles in the environment to assess the framework's ability to reach accurate consensus under different conditions.



exp_3a/



Stores data from robustness experiments focused on testing the swarm's resilience to different numbers of Byzantine robots within the network.



exp_3b/



Contains data from experiments evaluating the robustness of the swarm when subjected to various Byzantine attack types, testing the framework’s ability to handle adversarial behaviors.



exp_4/



Holds data from the resource efficiency experiments, which measured the computational resource usage (CPU, RAM, and blockchain size) during a prolonged 10-hour swarm operation.




Each experiment configuration is carried out in 20 repetitions.

Experiment 1 (exp_1):



8rob-2byz/ Data for scalability experiments with 8 robots, 2 of which are Byzantine.

16rob-4byz/ Data for scalability experiments with 16 robots, 4 of which are Byzantine.

24rob-6byz/ Data for scalability experiments with 24 robots, 6 of which are Byzantine.

48rob-12byz/ Data for scalability experiments with 48 robots, 12 of which are Byzantine.


Experiment 2 (exp_2):



24rob-5floor-6byz/ Data for accuracy experiments with 24 robots, 6 of which are Byzantine, and 5% white floor tiles.

24rob-25floor-6byz/ Data for accuracy experiments with 24 robots, 6 of which are Byzantine, and 25% white floor tiles.

24rob-45floor-6byz/ Data for accuracy experiments with 24 robots, 6 of which are Byzantine, and 45% white floor tiles.

24rob-75floor-6byz/ Data for accuracy experiments with 24 robots, 6 of which are Byzantine, and 75% white floor tiles.


Experiment 3a (exp_3a):



24rob-0byz/ Data for robustness experiments with 24 robots and no Byzantine robots.

24rob-3byz/ Data for robustness experiments with 24 robots and 3 Byzantine robots.

24rob-6byz/ Data for robustness experiments with 24 robots and 6 Byzantine robots.

24rob-9byz/ Data for robustness experiments with 24 robots and 9 Byzantine robots.


Experiment 3b (exp_3b):



24rob-6byz-1style/ Data for robustness experiments with 24 robots, 6 Byzantine robots, using attack style 1 or 0% white tile estimate

24rob-6byz-2style/ Data for robustness experiments with 24 robots, 6 Byzantine robots, using attack style 2 or 100% white tile estimate

24rob-6byz-3style/ Data for robustness experiments with 24 robots, 6 Byzantine robots, using attack style 3 or attack from a Bernoulli distribution

24rob-6byz-4style/ Data for robustness experiments with 24 robots, 6 Byzantine robots, using attack style 4 or attack from a Uniform distribution

24rob-6byz-5style/ Data for robustness experiments with 24 robots, 6 Byzantine robots, using attack style 5 or flooding

24rob-6byz-6style/ Data for robustness experiments with 24 robots, 6 Byzantine robots, using attack style 6 or eavesdropping


Experiment 4 (exp_4):



8rob-2byz/ Data for resource efficiency experiments with 8 robots, 2 of which are Byzantine.

16rob-4byz/ Data for resource efficiency experiments with 16 robots, 4 of which are Byzantine.

24rob-6byz/ Data for resource efficiency experiments with 24 robots, 6 of which are Byzantine.

48rob-12byz/ Data for resource efficiency experiments with 48 robots, 12 of which are Byzantine.

72rob-18byz/ Data for resource efficiency experiments with 72 robots, 18 of which are Byzantine.

96rob-24byz/ Data for resource efficiency experiments with 96 robots, 24 of which are Byzantine.

120rob-30byz/ Data for resource efficiency experiments with 120 robots, 30 of which are Byzantine.


Relevant Files:



block.csv Contains information about each blockchain block generated during the experiment, including block number, size, timestamp, and the number of transactions. The TELAPSED column indicates the time elapsed since the previous block was generated.

estimate.csv Stores the estimates collected by each robot during the simulation. Each entry includes the time of the estimate and the estimated percentage of white tiles in the arena.

sc.csv Contains information on smart contract interactions, including the mean estimate across robots, vote counts, and whether consensus was achieved (C?).

extra.csv Records additional performance metrics during the experiments, including CPU and RAM usage, as well as the size of the blockchain data folder.


Relevant Data Fields:



ID The identifier assigned to each robot participating in the experiment. It remains constant across all entries for a particular robot.

TIME The timestamp (in seconds) at which the data was recorded. This is relative to the start of the simulation.

TELAPSED Indicates the time elapsed between blocks or events, recorded in seconds.

TIMESTAMP Represents the Unix timestamp when a blockchain block was generated, denoting the actual system time.

BLOCK The blockchain block number created by the system during the simulation. This value increments as new blocks are added.

SIZE The size of each block in bytes, indicating the data storage requirement of each blockchain entry.

ESTIMATE The estimate provided by the robot, representing the percentage of white tiles detected in the arena.

MEAN The mean estimate across the swarm, as calculated on-chain via the smart contract.

VOTECOUNT Total number of estimates submitted to the smart contract for consensus validation.

VOTEOKCOUNT The number of valid votes that passed the validation process (e.g., not flagged as outliers).

C?  A Boolean value indicating whether consensus has been achieved for a given block of estimates.

CPU Percentage of CPU utilization, showing the computational load on the robot during the simulation.

RAM The amount of RAM used by each robot during the experiment, measured in percent or bytes.

KB The size of the blockchain data folder, measured in kilobytes (KB). This indicates how much data was stored by the blockchain system during the experiment.