numbleroot / acs-test-bed

Collection of scripts, configurations, and instructions for evaluating ACS on a Public Cloud Test Bed.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Test Bed for Planet-Scale ACS Experiments on Public Clouds

Related publication: "Strong Anonymity is not Enough: Introducing Fault Tolerance to Planet-Scale Anonymous Communication Systems".

Test bed for planet-scale ACS experiments on public clouds. We developed this to evaluate our fault-tolerant mixnet proof-of-concept FTMix (formerly zeno) and compare it against state-of-the-art competitors Vuvuzela and Pung. Please see numbleroot/acs-eval-2019 for forks of Vuvuzela and Pung with minor adjustments for evaluation purposes, deployed experiment configurations, and obtained measurements.

Folders cmd and scripts contain executables and scripts required to conduct the experiments.

Mind: At the time of our experiments, our proof-of-concept fault-tolerant mixnet was still called zeno. We renamed it to FTMix (fault-tolerant mixnet) due to scope change and to make its purpose immediately clear through its name. In order not to create inconsistencies in the data sets, however, we have not replaced 'zeno' with 'FTMix' in any of the instrumentation code files. Please keep that in mind when you look at these files.

Setup

Clone the repository and change into the newly created directory. We assume you have a working Go installation.

Generate Configuration Files

Run:

$ make genconfigs

And use the following to inspect available flags of the created executable:

$ ./genconfigs -help

Run Experiments

Run:

$ make runexperiments

And use the following to inspect available flags of the created executable:

$ ./runexperiments -help

Run Collector Executable as Sidecar on Nodes

Run:

$ make collector

Deploy the generated executable as a sidecar to the ACS under evaluation on each deployed node. Use the following to inspect available flags of the executable:

$ ./collector -help

Perform Calculations Across Gathered Measurements

Run:

$ make calcstats

And use the following to inspect available flags of the created executable:

$ ./calcstats -help

About

Collection of scripts, configurations, and instructions for evaluating ACS on a Public Cloud Test Bed.

License:GNU General Public License v3.0


Languages

Language:Go 75.1%Language:Shell 24.4%Language:Makefile 0.4%