diff --git a/docs/overview/concepts/content-topics.md b/docs/overview/concepts/content-topics.md index 1c29619..a7a69a1 100644 --- a/docs/overview/concepts/content-topics.md +++ b/docs/overview/concepts/content-topics.md @@ -2,9 +2,7 @@ title: Content Topics --- -`Content Topics` in Waku are the foundation for content addressing, similar to [Content-Addressable Storage](https://en.wikipedia.org/wiki/Content-addressable_storage). They facilitate protocol-level features like processing incoming live messages selectively ([Relay](/overview/concepts/protocols#waku-relay) or [Filter](/overview/concepts/protocols#waku-filter)) and retrieving historical messages ([Store](/overview/concepts/protocols#waku-store)) that meet specific filtering criteria. - -Unlike encrypted data, `Content Topics` are metadata strings set by developers on outgoing messages. Please refer to the [WAKU2-TOPICS](https://rfc.vac.dev/spec/23/#content-topics) specification to learn more. +`Content Topics` are metadata strings set by developers on outgoing messages to facilitate protocol-level features like selectively processing incoming messages ([Relay](/overview/concepts/protocols#waku-relay) or [Filter](/overview/concepts/protocols#waku-filter)) and retrieving historical messages ([Store](/overview/concepts/protocols#waku-store)) that meet specific filtering criteria. Please refer to the [WAKU2-TOPICS](https://rfc.vac.dev/spec/23/#content-topics) specification to learn more. ## Content Topic Format diff --git a/docs/overview/concepts/network-domains.md b/docs/overview/concepts/network-domains.md index 6610305..eef3c86 100644 --- a/docs/overview/concepts/network-domains.md +++ b/docs/overview/concepts/network-domains.md @@ -12,13 +12,13 @@ Node discovery in Waku facilitates locating other nodes within the network. As a Gossipsub derives its name from the practice within Pub/Sub networks where peers gossip about the messages they have encountered, thus establishing a message delivery network. -Waku employs gossiping through [`WAKU-RELAY`](/overview/concepts/protocols#waku-relay) to distribute messages across the network. Additionally, Waku introduces [`WAKU-RLN-RELAY`](/overview/concepts/protocols#waku-rln-relay), an experimental mechanism that combines privacy preservation and economic spam protection. +Waku employs gossiping through [`Waku Relay`](/overview/concepts/protocols#waku-relay) to distribute messages across the network. Additionally, Waku introduces [`Waku RLN Relay`](/overview/concepts/protocols#waku-rln-relay), an experimental mechanism that combines privacy preservation and economic spam protection. ## Request/Reply Domain Waku provides a set of Request/Reply protocols to optimize its performance in resource-restricted environments like low bandwidth or offline scenarios. -These protocols serve multiple purposes. [`WAKU-STORE`](/overview/concepts/protocols#waku-store) enables the retrieval of historical messages, [`WAKU-FILTER`](/overview/concepts/protocols#waku-filter) efficiently retrieves a subset of messages to conserve bandwidth, and [`WAKU-LIGHTPUSH`](/overview/concepts/protocols#waku-light-push) facilitates message publication for nodes with limited bandwidth and short connection windows. +These protocols serve multiple purposes. [`Waku Store`](/overview/concepts/protocols#waku-store) enables the retrieval of historical messages, [`Waku Filter`](/overview/concepts/protocols#waku-filter) efficiently retrieves a subset of messages to conserve bandwidth, and [`Waku Light Push`](/overview/concepts/protocols#waku-light-push) facilitates message publication for nodes with limited bandwidth and short connection windows. ## Overview of Protocol Interaction diff --git a/docs/overview/concepts/protocols.md b/docs/overview/concepts/protocols.md index 4b77e12..8d35147 100644 --- a/docs/overview/concepts/protocols.md +++ b/docs/overview/concepts/protocols.md @@ -6,15 +6,15 @@ Waku takes a modular approach, providing a range of protocols that enable applic ### [Waku Relay](https://rfc.vac.dev/spec/11/) -`WAKU2-RELAY` is a privacy-focused peer-to-peer messaging protocol that extends the [libp2p GossipSub protocol](https://github.com/libp2p/specs/blob/master/pubsub/gossipsub/README.md). It utilizes a Pub/Sub approach to enable secure communication channels, encryption, and protection against censorship. With a strong emphasis on privacy, `Waku Relay` ensures scalability, allowing many peers and messages to coexist within the network. +`Waku Relay` is a privacy-focused peer-to-peer messaging protocol that extends the [libp2p GossipSub protocol](https://github.com/libp2p/specs/blob/master/pubsub/gossipsub/README.md). It utilizes a Pub/Sub approach to enable secure communication channels, encryption, and protection against censorship. With a strong emphasis on privacy, `Waku Relay` ensures scalability, allowing many peers and messages to coexist within the network. ### [Waku Filter](https://rfc.vac.dev/spec/12/) -`WAKU2-FILTER` is a protocol enabling peers to subscribe to specific messages from other peers. It is designed for devices with limited bandwidth, serving as a lighter alternative to [Waku Relay](#waku-relay). Unlike relay nodes, `Waku Filter` allows light nodes to subscribe to service nodes and receive only the messages they are interested in. This optimizes bandwidth consumption but may involve privacy compromises. Nonetheless, `Waku Filter` efficiently delivers desired messages within bandwidth constraints. +`Waku Filter` is a protocol enabling peers to subscribe to specific messages from other peers. It is designed for devices with limited bandwidth, serving as a lighter alternative to [Waku Relay](#waku-relay). Unlike relay nodes, `Waku Filter` allows light nodes to subscribe to service nodes and receive only the messages they are interested in. This optimizes bandwidth consumption but may involve privacy compromises. Nonetheless, `Waku Filter` efficiently delivers desired messages within bandwidth constraints. ### [Waku Store](https://rfc.vac.dev/spec/13/) -`WAKU2-STORE` is a protocol that allows the querying of messages received through the relay protocol and stored by nodes. It supports retrieving historical messages with pagination. Unlike [Waku Relay](#waku-relay), which doesn't save messages for offline users, `Waku Store` peers retain relayed messages for later retrieval. +`Waku Store` is a protocol that allows the querying of messages received through the relay protocol and stored by nodes. It supports retrieving historical messages with pagination. Unlike [Waku Relay](#waku-relay), which doesn't save messages for offline users, `Waku Store` peers retain relayed messages for later retrieval. :::info Data availability is not guaranteed with `Waku Store`. [Waku Relay](#waku-relay) or [Waku Filter](#waku-filter) are preferred for online usage, while `Waku Store` is suitable for retrieving messages after reconnecting to the network, like when a dApp starts. @@ -22,7 +22,7 @@ Data availability is not guaranteed with `Waku Store`. [Waku Relay](#waku-relay) ### [Waku Light Push](https://rfc.vac.dev/spec/19/) -`WAKU2-LIGHTPUSH` is a [Request/Reply](/overview/concepts/network-domains#requestreply-domain) protocol for Waku's light nodes with limited bandwidth and short connection windows. It enables clients to receive a confirmation when sending messages, indicating that at least one node has received them. However, using `Waku Light Push` compromises privacy as the remote peer becomes aware of the message originator. +`Waku Light Push` is a [Request/Reply](/overview/concepts/network-domains#requestreply-domain) protocol for Waku's light nodes with limited bandwidth and short connection windows. It enables clients to receive a confirmation when sending messages, indicating that at least one node has received them. However, using `Waku Light Push` compromises privacy as the remote peer becomes aware of the message originator. :::info Please note that `Waku Light Push` confirms receipt by the remote peer but doesn't guarantee network-wide propagation. @@ -32,12 +32,12 @@ Please note that `Waku Light Push` confirms receipt by the remote peer but doesn ### [Waku Message](https://rfc.vac.dev/spec/14) -`WAKU2-MESSAGE` specifies the message structure used in the Waku network. It defines metadata fields, such as content topics and timestamps, that other Waku protocols can use. +`Waku Message` specifies the message structure used in the Waku network. It defines metadata fields, such as content topics and timestamps, that other Waku protocols can use. ### [Waku Payload](https://rfc.vac.dev/spec/26) -`WAKU2-PAYLOAD` provides guidelines for implementing secure and private communication in the Waku network. It covers encryption, decryption, and signing methods for message payloads, focusing on confidentiality, authenticity, integrity, and unlinkability. +`Waku Payload` provides guidelines for implementing secure and private communication in the Waku network. It covers encryption, decryption, and signing methods for message payloads, focusing on confidentiality, authenticity, integrity, and unlinkability. ### [Waku RLN Relay](https://rfc.vac.dev/spec/17/) -The `WAKU2-RLN-RELAY` protocol extends the [Waku Relay](#waku-relay) protocol by adding spam protection using [Rate Limiting Nullifiers (RLN)](https://rfc.vac.dev/spec/32/). It enforces a global messaging rate for all peers to prevent spam in the Waku network. Spammers face financial penalties and removal from the system. This protocol provides efficient and economic spam prevention suitable for resource-constrained environments. \ No newline at end of file +The `Waku RLN Relay` protocol extends the [Waku Relay](#waku-relay) protocol by adding spam protection using [Rate Limiting Nullifiers (RLN)](https://rfc.vac.dev/spec/32/). It enforces a global messaging rate for all peers to prevent spam in the Waku network. Spammers face financial penalties and removal from the system. This protocol provides efficient and economic spam prevention suitable for resource-constrained environments. \ No newline at end of file diff --git a/docs/overview/reference/research-in-progress.md b/docs/overview/reference/research-in-progress.md index b32c26b..46a26fb 100644 --- a/docs/overview/reference/research-in-progress.md +++ b/docs/overview/reference/research-in-progress.md @@ -6,7 +6,7 @@ The following features are currently experimental and under research and initial ## Economic Spam Resistance -We aim to enable an incentivized spam protection technique to enhance `WAKU-RELAY` by using rate limiting nullifiers. More details on this can be found in [WAKU2-RLN-RELAY](https://rfc.vac.dev/spec/17). In this advanced method, peers are limited to a certain rate of messaging per epoch and an immediate financial penalty is enforced for spammers who break this rate. +We aim to enable an incentivized spam protection technique to enhance `Waku Relay` by using rate limiting nullifiers. More details on this can be found in [WAKU2-RLN-RELAY](https://rfc.vac.dev/spec/17). In this advanced method, peers are limited to a certain rate of messaging per epoch and an immediate financial penalty is enforced for spammers who break this rate. We have prepared a PoC implementation of this method in JS: @@ -14,7 +14,7 @@ We have prepared a PoC implementation of this method in JS: . -In a nutshell, peers have to pay for the service they obtain from each other. In addition to incentivizing the service provider, accounting also makes DoS attacks costly for malicious peers. The accounting model can be used in `WAKU2-STORE` and `WAKU2-FILTER` to protect against DoS attacks. +In a nutshell, peers have to pay for the service they obtain from each other. In addition to incentivizing the service provider, accounting also makes DoS attacks costly for malicious peers. The accounting model can be used in `Waku Store` and `Waku Filter` to protect against DoS attacks. Additionally, along with RLN, this gives node operators who provide a useful service to the network an incentive to perform that service. Read more here: diff --git a/docs/overview/reference/security-features.md b/docs/overview/reference/security-features.md index c03ac5b..f58737e 100644 --- a/docs/overview/reference/security-features.md +++ b/docs/overview/reference/security-features.md @@ -19,7 +19,7 @@ Anonymity means an adversary cannot connect an actor to their actions or data. T ## [Spam Protection](https://rfc.vac.dev/spec/10/#spam-protection) -The spam protection feature in `WAKU RELAY` ensures that no adversary can flood the system with many messages, intentionally or not, regardless of the content's validity or usefulness. This protection is achieved through the [scoring mechanism](https://github.com/libp2p/specs/blob/master/pubsub/gossipsub/gossipsub-v1.1.md#spam-protection-measures) of `GossipSub v1.1`. Peers assign scores to their connections based on their behavior and remove peers with low scores. +The spam protection feature in `Waku Relay` ensures that no adversary can flood the system with many messages, intentionally or not, regardless of the content's validity or usefulness. This protection is achieved through the [scoring mechanism](https://github.com/libp2p/specs/blob/master/pubsub/gossipsub/gossipsub-v1.1.md#spam-protection-measures) of `GossipSub v1.1`. Peers assign scores to their connections based on their behavior and remove peers with low scores. Ongoing research is being conducted, including developing [Rate Limiting Nullifiers (RLN)](overview/concepts/protocols#waku-rln-relay), which can be explored further at: . diff --git a/docs/overview/reference/waku-vs-libp2p.md b/docs/overview/reference/waku-vs-libp2p.md index 44082b7..e993f5f 100644 --- a/docs/overview/reference/waku-vs-libp2p.md +++ b/docs/overview/reference/waku-vs-libp2p.md @@ -1,5 +1,5 @@ --- -title: Waku vs libp2p - What's the difference? +title: Waku vs. libp2p - What's the Difference? --- Since Waku is built on top of libp2p, they share a lot of concepts and terminologies between them. However, there are key differences between them that are worth noting. @@ -14,7 +14,7 @@ However, you are encouraged to [run your node](https://github.com/waku-org/nwaku Waku includes various protocols covering the following domains: privacy preservation, censorship resistance, and platform agnosticism, allowing it to run on any platform or environment. -libp2p does not provide out-of-the-box protocols to enable mostly offline/resource-restricted devices, [WAKU-STORE](/overview/concepts/protocols#waku-store)/[WAKU-LIGHTPUSH](/overview/concepts/protocols#waku-light-push)/[WAKU-FILTER](/overview/concepts/protocols#waku-filter) caters to those use cases. +libp2p does not provide out-of-the-box protocols to enable mostly offline/resource-restricted devices, [Waku Store](/overview/concepts/protocols#waku-store)/[Waku Light Push](/overview/concepts/protocols#waku-light-push)/[Waku Filter](/overview/concepts/protocols#waku-filter) caters to those use cases. ## Economic Spam Protection diff --git a/docs/overview/what-is-waku.md b/docs/overview/what-is-waku.md index 2109f09..39f07a3 100644 --- a/docs/overview/what-is-waku.md +++ b/docs/overview/what-is-waku.md @@ -56,4 +56,4 @@ The Waku Relay protocol is the foundation of the Waku Network, which employs a P 5. Developing methods to protect against mass deanonymization (currently being researched). 6. Designing strategies to scale [Waku Relay/GossipSub](/overview/concepts/protocols#waku-relay) securely. -If you want to learn more about how Waku operates, the [10/WAKU2](https://rfc.vac.dev/spec/10/) RFC provides an in-depth look under the hood. +If you want to learn more about how Waku operates, the [WAKU2 RFC](https://rfc.vac.dev/spec/10/) provides an in-depth look under the hood.