Commit Graph

65 Commits

Author SHA1 Message Date
Youngjoon Lee be5df9ead1
Fix netrunner tests (#61) 2024-12-20 16:22:47 +09:00
Youngjoon Lee be304046dd
fix(blend): ensure all nodes are connected and have the same peering degree (#64)
* fix(blendnet): ensure all nodes are connected and have the same peering degree

* cover the case where it is impossible to ensure all nodes have the same num of conns
2024-12-14 00:42:23 +09:00
Youngjoon Lee 45a2152bba
refactor(blendnet): rename mix to blend (#63)
* rename mix to blend

* update ci

* add missing dir
2024-12-13 13:31:28 +09:00
gusto 8ef0adc996
Add top level readme (#59) 2024-12-03 14:12:47 +02:00
Youngjoon Lee 2460174def
Rename `mixnet-sims` to `blendnet-sims` (#60)
* Rename `mixnet-sims` to `blendnet-sims`

* Rename `mixnet-sims` to `blendnet-sims`
2024-12-03 21:01:04 +09:00
Youngjoon Lee 80bbdf7fbe
Move `/scripts` to `/simlib/mixnet-sims/` (#58) 2024-12-03 20:39:59 +09:00
Youngjoon Lee 2b99275058
Deprecate mixnet v1 component simulations (#57) 2024-12-03 20:39:46 +09:00
Youngjoon Lee c600ebd304
Update mix python script for new log format (#53)
* Update mix python script for new log format

* remove unused imports
2024-11-21 15:52:27 +09:00
Youngjoon Lee 9740035f85
Add README for mix simulation and scripts (#56) 2024-11-18 15:37:00 +09:00
Youngjoon Lee 319450ed59
Add mix emission analysis (#55) 2024-11-18 10:31:27 +09:00
Youngjoon Lee 091a60ae4e
print node ID as integer in logging (#54) 2024-11-15 11:19:28 +09:00
Youngjoon Lee 590e9c289f
Remove log of immediate forwardings (#52) 2024-11-15 11:19:04 +09:00
gusto 769ba42f85
Make cache optional (#51) 2024-11-13 03:55:13 +01:00
Álex 424585dd2a
Implement message parser and average latency calculator. (#38)
* Implement message parser and average latency calculator.

* Fix node_id type parsing, add more stats.

* Add more stats, slight refactor.

* Remove unnecessary class

* Improve naming.

* Adapt to new log format
2024-11-09 11:54:10 +09:00
gusto 5adb0a1ad6
Min max and avg total bandwidth per node (#50) 2024-11-09 11:53:54 +09:00
Youngjoon Lee 97cbd536f4
log emissions (#48) 2024-11-09 11:48:44 +09:00
Daniel Sanchez cffd93ece9
Use chacha12 instead of smallrng (#49) 2024-11-09 03:47:11 +01:00
Youngjoon Lee 29ce6e953e
Fix cache (#47)
Co-authored-by: Daniel Sanchez Quiros <sanchez.quiros.daniel@gmail.com>
2024-11-09 11:36:40 +09:00
Youngjoon Lee b66d7abf9d
Add msg type in the log (#46) 2024-11-09 11:36:26 +09:00
Youngjoon Lee a25bc27d09
Add number_of_hops (for cover traffic) in config (#45) 2024-11-09 11:36:09 +09:00
Youngjoon Lee fbb37a4317
Make `Interval` immediately release at the first interval (#44)
* wip

* fix tests
2024-11-09 11:35:54 +09:00
gusto f97136bda6
Add network data to runtime results (#43) 2024-11-08 12:44:19 +02:00
Youngjoon Lee 8147b7d718
Use logging instead of storing payload IDs in state (#42) 2024-11-08 19:14:27 +09:00
Youngjoon Lee 8c3c723710
Change configuration values in the sample file (#41) 2024-11-08 18:13:13 +09:00
Youngjoon Lee 5a0412ff83
Measure both data and cover message counts (#40) 2024-11-08 18:00:25 +09:00
Youngjoon Lee 2e85190a22
Use TimedCache to avoid OOM (#39)
* use TimedCache to avoid OOM

* add comment
2024-11-08 17:42:21 +09:00
Daniel Sanchez c220497ffb
Extract node configuration to simulation settings (#36)
* Extract node configuration to simulation settings

* Pipe settings and create mixnode setttings

* Update config with human readable parsing
2024-11-08 07:31:51 +01:00
Álex 8faafcfb6f
Add tests to timer streams and interval (#29)
* Add timer tests

* Add tests for timers and intervals.

---------

Co-authored-by: Daniel Sanchez <3danimanimal@gmail.com>
2024-11-08 06:25:27 +01:00
Youngjoon Lee 631c1a6916
Store `PayloadId`s in the state to measure latency (#34)
* Store `MessageId`s in the state to measure latency

* Use String for PayloadId
2024-11-08 06:25:13 +01:00
Daniel Sanchez 21d648b7ff
Serialize node id as index (#35) 2024-11-08 05:40:23 +01:00
Youngjoon Lee fb1894fb8c
Exclude peer who forwarded a message when forwarding the message (#32)
Co-authored-by: Daniel Sanchez <3danimanimal@gmail.com>
2024-11-08 05:20:30 +01:00
Daniel Sanchez 3d1bd0dc18
Include cover traffic (#31)
* Include cover traffic

* Remove branch from cargo

* Fix sim configuration

* Fix rebase

* Clippy happy
2024-11-08 05:09:46 +01:00
gusto 786942ad70
Simlib tracing level (#33)
* Ignore cargo.lock

* Add trace level and keep worker guard
2024-11-08 04:57:00 +02:00
Youngjoon Lee 6bc6193e7a
Immediate forwarding (#30)
* Immediate forwarding

* use uuid instead of payload datastructure
2024-11-08 11:14:30 +09:00
Youngjoon Lee 26f7db8322
use num_messages_broadcasted for warding; (#28)
Co-authored-by: Gusto <bacvinka@gmail.com>
2024-11-08 10:15:18 +09:00
Daniel Sanchez ff2c1b4271
Restructure crates (#24)
* Rename to netrunner

* Refactor sims structure

* Add missing workspace cargo

* Rebase changes

* Rebase changes

* Rebase changes

* Fix tests
2024-11-07 06:05:56 +01:00
gusto 810ec02ee9
Netrunner alanyzable node (#27)
* Analyze method in node trait

* Sum ward condition
2024-11-07 05:49:06 +01:00
Youngjoon Lee b0b7bdd7fd
Disable drop messages (#26) 2024-11-07 05:44:00 +01:00
Youngjoon Lee 1efc5d9c0d
Generate data message by running stake lottery (#25)
Co-authored-by: Daniel Sanchez <3danimanimal@gmail.com>
2024-11-07 05:43:46 +01:00
Álex 5ab816a3b7
Implement Epoch and Slot streams. (#22) 2024-11-07 05:36:14 +01:00
Youngjoon Lee fbd114f724
Count # of messages broadcasted by each node (#21) 2024-11-07 11:55:02 +09:00
Youngjoon Lee 9d997e2b54
Generate message with dummy probability (#20) 2024-11-07 11:50:07 +09:00
gusto 29f78e026e
Add mix protocol Tier 1 & 2 (#19) (#18)
* Added temporal trigger streams

* add persistent transmission + message blend

---------

Co-authored-by: Youngjoon Lee <5462944+youngjoon-lee@users.noreply.github.com>
Co-authored-by: Alejandro Cabeza Romero <alex93cabeza@gmail.com>
2024-11-07 04:01:23 +02:00
Youngjoon Lee 1dcfc5aabc
Add mix protocol Tier 1 & 2 (#19)
* Added temporal trigger streams

* add persistent transmission + message blend

---------

Co-authored-by: Alejandro Cabeza Romero <alex93cabeza@gmail.com>
2024-11-06 22:52:15 +09:00
gusto 32d41d45b1
Record fields for mixnode state (#17) 2024-11-06 06:14:29 +02:00
gusto 20f23f09ea
Empty mixnode in sim binary (#16)
* Empty mixnode in sim binary

* Add mixnode settings

* Network interface in the mixnode

* Runnable empty mixnode sim

* Use network interface and add readme

---------

Co-authored-by: Daniel Sanchez Quiros <sanchez.quiros.daniel@gmail.com>
2024-11-06 11:40:38 +09:00
Daniel Sanchez Quiros c1b6649bd2 Remove unused overlay leftovers 2024-11-05 17:43:34 +07:00
gusto 09d99c0831
Add simulation engine
First stage of adding the simulation engine that was living in older versions of nomos-nod. It will change in the future generalising it for better compatibility.
2024-11-05 11:13:21 +01:00
Youngjoon Lee c3a04ab206
Mixnet: Add ordering session 2 (experiment 7) (#14) 2024-09-25 10:24:32 +09:00
Youngjoon Lee 714d50f493
Mixnet: Dissemination and Ordering Experiments (#13) 2024-09-16 18:50:20 +09:00