Segmentation furps

This commit is contained in:
pablo 2025-06-04 18:16:43 +03:00 committed by fryorcraken
parent 8c08a833e5
commit dfac54de47
No known key found for this signature in database
GPG Key ID: A82ED75A8DFC50A4

View File

@ -0,0 +1,33 @@
# Segmentation FURPS
## Functionality
1. Outbound messages larger than the maximum Waku message size are partitioned in several messages to fit in Waku messages.
2. Inbound partitioned messages are reconstructed in a whole message.
3. A capping limit is applied to pre-segmented messages (e.g. 100MB).
4. Messages under the maximum message size are not modified.
## Usability
1. Only takes a maximum message size as a parameter.
## Reliability
1. Reconstruction can be performed even when parts are received out or order.
2. Reconstruction can be performed as long as 87.5% of the segments is received.
3. If too many parts missing to reconstruct an informative error should be logged.
## Performance
1. The payload overhead does not exceed 12.5% + 100 bytes.
## Supportability
1. Nim
2. Golang
3. Rust
## + (Privacy, Anonymity, Deployments)
1. Segmentation metadata should not reveal information about the original message content
2. Relevant for all Waku nodes