From e0d67ba4e6bffe1e33c03f82428aeae9c422390f Mon Sep 17 00:00:00 2001 From: fryorcraken Date: Thu, 16 Oct 2025 16:17:44 +1100 Subject: [PATCH 1/4] Waku API and architecture --- ARCHITECTURE.md | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 ARCHITECTURE.md diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md new file mode 100644 index 0000000..2bc3e71 --- /dev/null +++ b/ARCHITECTURE.md @@ -0,0 +1,42 @@ +# Waku Architecture + +An overview of the Waku architectures target, include the various layer and APIs. +This is an update of the [Reliablity and Waku API](https://blog.waku.org/2024-06-20-message-reliability/) article + +```mermaid +block-beta + columns 4 + sc["Secure Conversations (Chat SDK)"]:4 + + e["Encryption"]:1 + rc["Reliable Channels"]:3 + + space:1 + sg["Segmentation"]:1 + rlm["Rate Limit Manager"]:1 + sds["Scalable Data Sync"]:1 + + P2PReliability["P2P Reliability (Waku API)"]:4 + block:wakuapi:4 + columns 7 + RLNRelay["RLN Relay"]:1 + Store["Store"]:1 + Lightpush["Lightpush"]:1 + Filter["Filter"]:1 + Discv5["Waku Discv5"]:1 + PeerExchange["Peer Exchange"]:1 + PeerManager["Peer Manager"]:1 + + end + + block:libp2p:4 + P2PEncryption["Point-to-Point Encryption"] + Multiplexer["Multiplexer"] + Transport["Transport"] + end + + block:base:4 + UDP["UDP"] + TCP["TCP/IP"] + end +``` \ No newline at end of file From 9384372582dfbd3c28e5f82f658aa3d63d6cd7bf Mon Sep 17 00:00:00 2001 From: fryorcraken Date: Fri, 17 Oct 2025 17:01:28 +1100 Subject: [PATCH 2/4] clarify layer ordering in reliable channels --- ARCHITECTURE.md | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md index 2bc3e71..22991e8 100644 --- a/ARCHITECTURE.md +++ b/ARCHITECTURE.md @@ -9,12 +9,15 @@ block-beta sc["Secure Conversations (Chat SDK)"]:4 e["Encryption"]:1 - rc["Reliable Channels"]:3 - + rc["Reliable Channels"]:3 space:1 - sg["Segmentation"]:1 - rlm["Rate Limit Manager"]:1 - sds["Scalable Data Sync"]:1 + + block:reliablechannels:3 + columns 1 + sg["Segmentation"]:1 + sds["Scalable Data Sync"]:1 + rlm["Rate Limit Manager"]:1 + end P2PReliability["P2P Reliability (Waku API)"]:4 block:wakuapi:4 From bb61657d3f9bb1d4fafbf767558c6e30bbbbbeed Mon Sep 17 00:00:00 2001 From: fryorcraken Date: Fri, 17 Oct 2025 17:05:33 +1100 Subject: [PATCH 3/4] clarify when encryption happens --- ARCHITECTURE.md | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md index 22991e8..b13349c 100644 --- a/ARCHITECTURE.md +++ b/ARCHITECTURE.md @@ -7,18 +7,21 @@ This is an update of the [Reliablity and Waku API](https://blog.waku.org/2024-06 block-beta columns 4 sc["Secure Conversations (Chat SDK)"]:4 - + e["Encryption"]:1 - rc["Reliable Channels"]:3 + rc["Reliable Channels"]:3 space:1 - + block:reliablechannels:3 columns 1 sg["Segmentation"]:1 + enc["Encrypt/Decrypt"]:1 sds["Scalable Data Sync"]:1 rlm["Rate Limit Manager"]:1 end + e --> enc + P2PReliability["P2P Reliability (Waku API)"]:4 block:wakuapi:4 columns 7 @@ -29,17 +32,20 @@ block-beta Discv5["Waku Discv5"]:1 PeerExchange["Peer Exchange"]:1 PeerManager["Peer Manager"]:1 - + end - + block:libp2p:4 P2PEncryption["Point-to-Point Encryption"] Multiplexer["Multiplexer"] Transport["Transport"] end - + block:base:4 UDP["UDP"] TCP["TCP/IP"] end + + classDef borrowed fill:#e1f5ff,stroke:#0066cc,stroke-width:2px,stroke-dasharray: 5 5 + class enc borrowed ``` \ No newline at end of file From 299fcff49859657f179a693be06db890e8fa4e56 Mon Sep 17 00:00:00 2001 From: fryorcraken Date: Tue, 21 Oct 2025 11:36:58 +1100 Subject: [PATCH 4/4] SDS wrapper is encrypted --- ARCHITECTURE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md index b13349c..a6a47fb 100644 --- a/ARCHITECTURE.md +++ b/ARCHITECTURE.md @@ -15,8 +15,8 @@ block-beta block:reliablechannels:3 columns 1 sg["Segmentation"]:1 - enc["Encrypt/Decrypt"]:1 sds["Scalable Data Sync"]:1 + enc["Encrypt/Decrypt"]:1 rlm["Rate Limit Manager"]:1 end