Youngjoon Lee
eebe305544
wip
2024-11-22 19:08:50 +09:00
Youngjoon Lee
cb708de1b0
Mix: Re-define max_payload_size parameter
2024-11-22 18:38:18 +09:00
Youngjoon Lee
006f5dba89
Use proper size for drop message
2024-11-21 11:12:23 +09:00
Youngjoon Lee
e68f927e2b
remove MixMessage::Settings
2024-11-21 10:58:12 +09:00
Youngjoon Lee
30eefbbe57
define size of layered encryption data as const
2024-11-20 19:33:08 +09:00
Youngjoon Lee
6fa207167c
use explicit RoutingFlag type in error
2024-11-20 19:21:52 +09:00
Youngjoon Lee
a0154853b8
use itertools::chain! instead of concat_bytes
2024-11-20 19:07:15 +09:00
Youngjoon Lee
3d32942725
apply feedbacks
2024-11-20 18:03:57 +09:00
Youngjoon Lee
94dbd35fea
modularization
2024-11-20 18:03:10 +09:00
Youngjoon Lee
bfa4fe617f
Mix: Packet header encryption
2024-11-20 11:34:06 +09:00
Daniel Sanchez
f71db1a7fe
Mix: Fix bug in cover traffic ticket generation ( #915 )
...
* Fix bug in cover traffic ticket generation
* fix hash bug
* Clippy happy
2024-11-09 09:06:32 +09:00
Daniel Sanchez
360a9aa558
Add missing bounds for cover traffic ( #914 )
2024-11-08 04:09:52 +01:00
Álex
a3c2fe5d55
Add deserialize to CoverTrafficSettings ( #913 )
2024-11-08 02:45:21 +01:00
Youngjoon Lee
7b984a4e29
Just use priv/pubkey as Node ID in the mock mix message encoding ( #912 )
...
* Just use priv/pubkey as Node ID in the mock mix message encoding
* do not convert private key to public key in mix service
2024-11-08 10:14:34 +09:00
Álex
1c62ced9ea
Add clone and copy to CoverTrafficSettings ( #911 )
...
* Add clone and copy to CoverTrafficSettings
* Make settings fields public.
2024-11-07 06:40:22 +01:00
Daniel Sanchez
d73f3c2040
Mix: Implemented cover traffic ( #910 )
...
* Implemented cover traffic
* Update as per last specs
2024-11-07 12:22:26 +09:00
Youngjoon Lee
e0959644a9
Add Sync bound to BoxStream in blend stream ( #908 )
2024-11-06 18:59:06 +09:00
Daniel Sanchez
9b29c17e2f
Mix: time abstract from streams ( #906 )
...
* Extract temporal async stream
* Make stuff public
* Extract persistent transmission scheduler
* Fix tests
* Push temporal scheduler one layer up
* fix compile errors
* return Poll::Pending instead of Poll::Ready(None) when queue is empty
---------
Co-authored-by: Youngjoon Lee <5462944+youngjoon-lee@users.noreply.github.com>
2024-11-06 14:08:52 +09:00
Youngjoon Lee
c84a29db31
Use public keys for the mock mix message encoding ( #905 )
...
* add node IDs in message
* integrate
* handle variable-lenght messages in nomos-mix-network
* add trait MixMessage
* make tests work
* clippy happy
* remove println!
* remove unnecssary dependency
* remove unnecessary trait bounds
* remove leftover
2024-11-06 10:49:38 +09:00
Daniel Sanchez
d0eafb7635
Abstract blend rng ( #904 )
2024-11-05 11:24:41 +01:00
Daniel Sanchez
23f93dcc28
Abstract persistent transmission rng ( #903 )
2024-11-05 09:00:31 +01:00
Daniel Sanchez
c237333791
Mix: Use streams in message blend and mix service ( #896 )
...
* Use streams in message blend and mix service
* Refactor temporal stream method naming
* Clippy happy
* Clippy test happy
* Undo coupling
* Remove bypassing from blend
* Clippy happy
* Un-entangle tiers
* Send local messages to persistent transmission
Co-authored-by: Youngjoon Lee <5462944+youngjoon-lee@users.noreply.github.com>
---------
Co-authored-by: Youngjoon Lee <5462944+youngjoon-lee@users.noreply.github.com>
2024-11-02 22:57:10 +01:00
Daniel Sanchez
2f92c183ab
Mix: Implement blend as stream + extension ( #864 )
...
* First attempt
* Implement blend as stream and extension
* Implement blend as stream and extension
2024-10-30 11:50:15 +01:00
Youngjoon Lee
0c0aae0712
Mix: Packet algorithms ( #859 )
...
* add keyset
* add packet
* add comments
* add comments
* use functions in sphinx
2024-10-29 17:51:52 +09:00
Daniel Sanchez
9d52297cdf
Mix: temporal as stream extension ( #861 )
...
* forward msgs immediately without any processing
* Mix: Offload transmission rate and message processing from libp2p behaviour/handler
* Mix: Core skeleton used in `MixService`
* rename Processor to MessageBlend
* Mix: Implement Persistent Transmission (Tier 1) (#845 )
* Mix: Add Persistent Transmission (Tier 1)
* add test
* define Coin struct with Uniform distribution for fast repeated sampling
* use ChaCha12Rng for Coin
* improve comment
* Mix: Implement Temporal Processor (Tier 2) (#846 )
* Mix: Add Persistent Transmission (Tier 1)
* Mix: Implement TemporalProcessor
* use pub(crate)
* Mix: Use TemporalProcessor in MessageBlend (#847 )
* Mix: Add Persistent Transmission (Tier 1)
* Mix: Implement TemporalProcessor
* Mix: Use TemporalProcessor in MessageBlend
* remove duplicate members in Cargo.toml
* Implement persistent transmission as stream trait extension
* Replicate test for stream version
* Temporal processor as stream extension
---------
Co-authored-by: Youngjoon Lee <5462944+youngjoon-lee@users.noreply.github.com>
2024-10-28 17:12:50 +01:00
Daniel Sanchez
e207743f69
Mix: Persistent rate as stream + Extension ( #860 )
...
* forward msgs immediately without any processing
* Mix: Offload transmission rate and message processing from libp2p behaviour/handler
* Mix: Core skeleton used in `MixService`
* rename Processor to MessageBlend
* Mix: Implement Persistent Transmission (Tier 1) (#845 )
* Mix: Add Persistent Transmission (Tier 1)
* add test
* define Coin struct with Uniform distribution for fast repeated sampling
* use ChaCha12Rng for Coin
* improve comment
* Mix: Implement Temporal Processor (Tier 2) (#846 )
* Mix: Add Persistent Transmission (Tier 1)
* Mix: Implement TemporalProcessor
* use pub(crate)
* Mix: Use TemporalProcessor in MessageBlend (#847 )
* Mix: Add Persistent Transmission (Tier 1)
* Mix: Implement TemporalProcessor
* Mix: Use TemporalProcessor in MessageBlend
* remove duplicate members in Cargo.toml
* Implement persistent transmission as stream trait extension
* Replicate test for stream version
---------
Co-authored-by: Youngjoon Lee <5462944+youngjoon-lee@users.noreply.github.com>
2024-10-28 15:24:40 +01:00
Youngjoon Lee
7aea30132d
Mix: Implement PersistsentTransmission & Temporal/CryptoProcessor and use them in `MixService` ( #844 )
...
* forward msgs immediately without any processing
* Mix: Offload transmission rate and message processing from libp2p behaviour/handler
* Mix: Core skeleton used in `MixService`
* rename Processor to MessageBlend
* Mix: Implement Persistent Transmission (Tier 1) (#845 )
* Mix: Add Persistent Transmission (Tier 1)
* add test
* define Coin struct with Uniform distribution for fast repeated sampling
* use ChaCha12Rng for Coin
* improve comment
* Mix: Implement Temporal Processor (Tier 2) (#846 )
* Mix: Add Persistent Transmission (Tier 1)
* Mix: Implement TemporalProcessor
* use pub(crate)
* Mix: Use TemporalProcessor in MessageBlend (#847 )
* Mix: Add Persistent Transmission (Tier 1)
* Mix: Implement TemporalProcessor
* Mix: Use TemporalProcessor in MessageBlend
* remove duplicate members in Cargo.toml
2024-10-28 17:32:39 +09:00
Youngjoon Lee
ce24a03a23
Mix: Offload transmission rate and message processing from libp2p behaviour/handler ( #843 )
2024-10-24 21:00:26 +09:00
Youngjoon Lee
929fb1b7b1
forward msgs immediately without any processing ( #841 )
2024-10-24 11:44:35 +09:00
Daniel Sanchez
5a85281ec0
Use tokio 1 in deps ( #842 )
2024-10-22 16:59:42 +02:00
Youngjoon Lee
83d9ef7738
Mix: Integrate mix service to the system ( #824 )
...
* Mix: remove all of the previous mixnet stuff
* Mix: Add mix service
* Integrate mix service to the node
* Add mock mix service for DA integration tests
* clippy happy
* use explicit function name and add TODOs
* remove the redundant use of tokio::sync::broadcast channel in mix adapter
* add mix service to nomos-executor binary
* removed mock mix backend and related adapters
Use the real mix backend for DA integration tests
* fix compile error generated when merging master
* rename all `MixNetwork*` to `Mix*` for further changes
* use explicit name for adapters
* Mix: Perform broadcasting within the mix service (#829 )
* rename relay variables properly
2024-10-21 18:12:47 +09:00
Youngjoon Lee
8dbcf560f9
Mix: Add mix service ( #823 )
...
* Mix: remove all of the previous mixnet stuff
* Mix: Add mix service
* refactor extract_peer_id and add comments
2024-10-17 18:12:26 +09:00
Youngjoon Lee
ca0eb824aa
Mix: NetworkBehaviour ( #765 )
...
* Mix: NetworkBehaviour
* use Waker.wake()
* make clippy happy by defining Config instead of Behaviour::Default
2024-09-24 22:39:59 +09:00