nomos-specs/mixnet
Youngjoon Lee de554e95d1
use start_delayed helper
2024-05-16 15:55:09 +09:00
..
v2/sim use start_delayed helper 2024-05-16 15:55:09 +09:00
README.md Mixnet: integrate all the pieces together (#57) 2024-02-05 09:04:02 +01:00
__init__.py Mixnet: Add basic structure and topology construction (#44) 2024-01-10 20:47:13 +09:00
bls.py Mixnet: Add basic structure and topology construction (#44) 2024-01-10 20:47:13 +09:00
client.py Embed Robustness into `mixnet.py` (#61) 2024-02-08 15:39:50 +09:00
config.py Embed Robustness into `mixnet.py` (#61) 2024-02-08 15:39:50 +09:00
fisheryates.py Mixnet: Add basic structure and topology construction (#44) 2024-01-10 20:47:13 +09:00
mixnet.py Embed Robustness into `mixnet.py` (#61) 2024-02-08 15:39:50 +09:00
node.py Embed Robustness into `mixnet.py` (#61) 2024-02-08 15:39:50 +09:00
packet.py Mixnet: integrate all the pieces together (#57) 2024-02-05 09:04:02 +01:00
poisson.py Mixnet: Packet delay in mix node (#49) 2024-01-23 10:29:14 +09:00
structure.png Mixnet: integrate all the pieces together (#57) 2024-02-05 09:04:02 +01:00
test_client.py Embed Robustness into `mixnet.py` (#61) 2024-02-08 15:39:50 +09:00
test_fisheryates.py Mixnet: Add basic structure and topology construction (#44) 2024-01-10 20:47:13 +09:00
test_mixnet.py Embed Robustness into `mixnet.py` (#61) 2024-02-08 15:39:50 +09:00
test_node.py Embed Robustness into `mixnet.py` (#61) 2024-02-08 15:39:50 +09:00
test_packet.py Embed Robustness into `mixnet.py` (#61) 2024-02-08 15:39:50 +09:00
test_utils.py Embed Robustness into `mixnet.py` (#61) 2024-02-08 15:39:50 +09:00
utils.py Mixnet: Add basic structure and topology construction (#44) 2024-01-10 20:47:13 +09:00

README.md

Mixnet Specification

This is the executable specification of Mixnet, which can be used as a networking layer of the Nomos network.

Public Components

  • mixnet.py: A public interface of the Mixnet layer, which can be used by upper layers
  • robustness.py: A public interface of the Robustness layer, which can be on top of the Mixnet layer and used by upper layers

Private Components

There are two primary components in the Mixnet layer.

  • client.py: A mix client interface, which splits a message into Sphinx packets, sends packets to mix nodes, and receives messages via gossip. Also, this emits cover packets periodically.
  • node.py: A mix node interface, which receives Sphinx packets from other mix nodes, processes packets, and forwards packets to other mix nodes. This works only when selected by the topology construction.

Each component receives a new topology from the Robustness layer.

There is no interaction between mix client and mix node components.