1.5 KiB
1.5 KiB
Mixnet v2 Simulation
How to run
Make sure that all dependencies specified in the requirements.txt
in the project root, and run the following command to run the simulation:
python main.py
The following parameters can be configured:
usage: main.py [-h] [--running-time RUNNING_TIME] [--num-nodes NUM_NODES] [--num-mix-layers NUM_MIX_LAYERS]
Run simulation
options:
-h, --help show this help message and exit
--running-time RUNNING_TIME
Running time of the simulation (default: 30)
--num-nodes NUM_NODES
Number of nodes in the network (default: 2)
--num-mix-layers NUM_MIX_LAYERS
Number of mix layers in the network (default: 2)
TODO: Add more details
Development Status
- Modified Sphinx
- Without encryption
- With encryption
- P2P Broadcasting
- Naive 1:N
- More realistic broadcasting (e.g. gossipsub)
- Forwarding messages through mixes, and then broadcasting messages to all nodes
- Cover traffic
- With a constant rate
- More sophisticated rate (e.g. based on the approximate block interval)
- Mix delays
- Naive random delays
- More sophisticated delays (e.g. Poisson)
- Adversary simulations
- Observing message emission patterns
- Correlating senders-receivers based on timing
- Active attacks
- Reporting & Visualization