Youngjoon Lee
9dda7c79b5
clippy: remove empty lines under comment documents ( #927 )
2024-12-02 23:30:44 +09:00
Youngjoon Lee
d923328744
Mix: Use Sphinx instead of mock ( #924 )
2024-11-29 00:07:08 +09:00
Youngjoon Lee
7b1772a84c
Mix: Re-define max_payload_size parameter ( #923 )
2024-11-28 11:34:32 +09:00
Youngjoon Lee
63c472e172
Mix: Integrate cover traffic to mix service ( #920 )
2024-11-28 10:36:43 +09:00
Youngjoon Lee
0ff16ef5f2
Mix: Packet header encryption ( #897 )
...
* Mix: Packet header encryption
* modularization
* apply feedbacks
* use itertools::chain! instead of concat_bytes
* use explicit RoutingFlag type in error
* define size of layered encryption data as const
* remove MixMessage::Settings
* Use proper size for drop message
* remove TODOs
2024-11-28 10:36:14 +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