nomos-specs/mixnet/v2/sim/README.md

32 lines
1.1 KiB
Markdown
Raw Normal View History

2024-05-12 23:49:09 +00:00
# Mixnet v2 Simulation
## How to run
2024-05-14 12:19:46 +00:00
First, make sure that all dependencies specified in the `requirements.txt` in the project root.
Then, configure parameters in the [config.yaml](./config.yaml), and run the following command:
2024-05-12 23:49:09 +00:00
```bash
2024-05-14 12:19:46 +00:00
python main.py --config ./config.yaml
2024-05-13 06:13:21 +00:00
```
2024-05-12 23:49:09 +00:00
2024-05-13 06:31:20 +00:00
TODO: Add more details
## Development Status
2024-05-13 07:02:42 +00:00
- Modified Sphinx
- [x] Without encryption
- [ ] With encryption
- P2P Broadcasting
- [x] Naive 1:N
- [ ] More realistic broadcasting (e.g. gossipsub)
2024-05-13 06:31:20 +00:00
- [x] Forwarding messages through mixes, and then broadcasting messages to all nodes
2024-05-13 07:02:42 +00:00
- Cover traffic
- [x] With a constant rate
- [ ] More sophisticated rate (e.g. based on the approximate block interval)
- Mix delays
- [x] Naive random delays
- [ ] More sophisticated delays (e.g. Poisson)
- [Adversary simulations](https://www.notion.so/Mixnet-v2-Proof-of-Concept-102d0563e75345a3a6f1c11791fbd746?pvs=4#c5ffa49486ce47ed81d25028bc0d9d40)
- [ ] Observing message emission patterns
- [ ] Correlating senders-receivers based on timing
- [ ] Active attacks
- [ ] Reporting & Visualization