Expand description
A mixnet loosely based on Loopix.
This crate is mostly network agnostic. While it determines which nodes should be connected and which packets should be sent where, it does not care how this is done. It’s not entirely agnostic; it assumes that peers have 32-byte globally-unique identifiers.
Modules
- Mixnet core logic.
- A mixnode may receive the same request multiple times due to retransmission (see eg
request_manager
). AReplyManager
can be used to cache replies, to avoid needing to execute requests more than once. - For more reliable delivery, a
RequestManager
can be used instead of callingMixnet::post_request
directly. ARequestManager
serves as an additional buffer for requests, and will retry posting if requests are not removed within the expected time.