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