e9a35ca178 | ||
---|---|---|
.. | ||
README.md | ||
main.py | ||
node.py | ||
p2p.py | ||
simulation.py | ||
sphinx.py |
README.md
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