From 69f65fc44e09e66d1411ef0c9e1e308a6536015b Mon Sep 17 00:00:00 2001 From: LordGhostX Date: Fri, 2 Jun 2023 19:07:08 +0100 Subject: [PATCH] address comments --- docs/clients/js-waku/build-chat-app.mdx | 2 +- docs/clients/js-waku/quick-start.mdx | 2 +- docs/guides/sdks-and-nodes.md | 6 ++--- docs/overview/concepts/content-topics.md | 4 ++-- docs/overview/concepts/network-domains.md | 2 +- docs/overview/concepts/peer-discovery.md | 4 ++-- docs/overview/concepts/protocols.md | 6 ++--- docs/overview/index.md | 4 ++-- docs/overview/reference/glossary.md | 24 ++++++++++---------- docs/overview/reference/security-features.md | 2 +- docs/powered-by-waku.mdx | 14 ++++++------ 11 files changed, 35 insertions(+), 35 deletions(-) diff --git a/docs/clients/js-waku/build-chat-app.mdx b/docs/clients/js-waku/build-chat-app.mdx index 464e988..d6412fb 100644 --- a/docs/clients/js-waku/build-chat-app.mdx +++ b/docs/clients/js-waku/build-chat-app.mdx @@ -119,7 +119,7 @@ await waku.waitForRemotePeer(wakuNode) ## 5. Define a Content Topic -The `contentTopic` is a metadata `string` used for categorizing messages on the Waku network. +The `contentTopic` is a metadata `string` used for categorizing messages on the Waku Network. Depending on your use case, you can create one or more new `contentTopic`(s). Refer to our [How to Choose a Content Topic](/) guide more details. diff --git a/docs/clients/js-waku/quick-start.mdx b/docs/clients/js-waku/quick-start.mdx index 23836b9..81eaec0 100644 --- a/docs/clients/js-waku/quick-start.mdx +++ b/docs/clients/js-waku/quick-start.mdx @@ -47,7 +47,7 @@ await waku.waitForRemotePeer(wakuNode) ## 4. Define a Content Topic -The `contentTopic` is a metadata `string` used for categorizing messages on the Waku network. +The `contentTopic` is a metadata `string` used for categorizing messages on the Waku Network. Depending on your use case, you can create one or more new `contentTopic`(s). Refer to our [How to Choose a Content Topic](/) guide more details. diff --git a/docs/guides/sdks-and-nodes.md b/docs/guides/sdks-and-nodes.md index 993f386..b226caa 100644 --- a/docs/guides/sdks-and-nodes.md +++ b/docs/guides/sdks-and-nodes.md @@ -10,7 +10,7 @@ Ready to integrate Waku into your application for private, secure, censorship-fr ## Operate a Waku Node -The Waku network is permissionless and decentralized, consisting of nodes. It is open for anyone to run a node, use the network, and contribute to its support. Please visit the [nwaku guide](https://github.com/waku-org/nwaku/tree/master/docs/operators) (recommended) or [go-waku guide](https://github.com/waku-org/go-waku/tree/master/docs/operators) for operators to learn more. +The Waku Network is permissionless and decentralized, consisting of nodes. It is open for anyone to run a node, use the network, and contribute to its support. Please visit the [nwaku guide](https://github.com/waku-org/nwaku/tree/master/docs/operators) (recommended) or [go-waku guide](https://github.com/waku-org/go-waku/tree/master/docs/operators) for operators to learn more. ## Integrate Using SDKs @@ -19,7 +19,7 @@ Waku is implemented in multiple SDKs, allowing it to easily integrate with diffe | SDK | Description | Documentation | | - | - | - | | [js-waku](https://github.com/waku-org/js-waku) | JavaScript/TypeScript SDK designed for browser environments | | -| [nwaku](https://github.com/waku-org/nwaku) | Nim SDK for running a standalone node and accessing the Waku network | | +| [nwaku](https://github.com/waku-org/nwaku) | Nim SDK for running a standalone node and accessing the Waku Network | | | [go-waku](https://github.com/waku-org/go-waku) | Golang SDK designed for integration with Golang applications, includes C bindings for usage in C/C++, C#/Unity, Swift, and Kotlin | | | [waku-rust-bindings](https://github.com/waku-org/waku-rust-bindings) | Rust wrapper using `go-waku` bindings designed for integration in Rust applications | | @@ -39,4 +39,4 @@ Waku provides integrations tailored for mobile applications, enabling Waku to op | - | - | - | | [@waku/react](https://www.npmjs.com/package/@waku/react) | React components and UI adapters designed for seamless integration with `js-waku` | | | [@waku/create-app](https://www.npmjs.com/package/@waku/create-app) | Starter kit to bootstrap your next `js-waku` project from various example templates | | -| JSON-RPC API | `JSON-RPC` API interface provided by `nwaku` and `go-waku` to access the Waku network | | \ No newline at end of file +| JSON-RPC API | `JSON-RPC` API interface provided by `nwaku` and `go-waku` to access the Waku Network | | \ No newline at end of file diff --git a/docs/overview/concepts/content-topics.md b/docs/overview/concepts/content-topics.md index 832753f..e03cbc9 100644 --- a/docs/overview/concepts/content-topics.md +++ b/docs/overview/concepts/content-topics.md @@ -26,7 +26,7 @@ While you can choose any encoding format for your `Content Topic`, we highly rec ## Naming Considerations -When choosing a content topic, it is crucial to consider privacy implications. The `Filter` protocol discloses content topics to peers, and the `Store` protocol can link them with a light node, allowing nodes providing these services to access message content topics, posing potential privacy risks. +When choosing a content topic, it is crucial to consider privacy implications. The `Filter`, `Store`, and `Light Push` protocols disclose content topics to peers, enabling said peer to link ip and content topic interests. `Relay` provides recipient anonymity thanks to `GossipSub`, but this may be lost if the content topic reveals information about the user. :::info Waku is developing privacy-preserving features like [Anonymous Filter Subscription](https://rfc.vac.dev/spec/12/#future-work) for the `Filter` protocol and [Anonymous Query](https://rfc.vac.dev/spec/13/#future-work) for the `Store` protocol to hide content topics from potential adversaries. @@ -34,4 +34,4 @@ Waku is developing privacy-preserving features like [Anonymous Filter Subscripti You can preserve the anonymity of individual identities by increasing [k-anonymity](https://www.privitar.com/blog/k-anonymity-an-introduction/), where k is proportional to the network size (number of subscribers). This involves using a single content topic across the entire application or specific features such as notifications or private messages, allowing multiple users to share it. -However, maintaining functionality with a single content topic can introduce complexity. We recommend switching functionality using the Protocol Buffer message format or the [Waku Message](/overview/concepts/protocols#waku-message) `meta` attribute. By doing so, applications can retain a high granularity and functionality while using a single content topic, preserving user privacy. \ No newline at end of file +However, maintaining functionality with a single content topic can introduce complexity. We recommend switching functionality using the Protocol Buffer message format. By doing so, applications can retain a high granularity and functionality while using a single content topic, preserving user privacy. \ No newline at end of file diff --git a/docs/overview/concepts/network-domains.md b/docs/overview/concepts/network-domains.md index f4e39ec..b6266e4 100644 --- a/docs/overview/concepts/network-domains.md +++ b/docs/overview/concepts/network-domains.md @@ -24,7 +24,7 @@ Waku provides a set of protocols to optimize its performance in resource-limited ## Overview of Protocol Interaction -Here's a diagram illustrating the interaction between different protocols within the Waku network. +Here's a diagram illustrating the interaction between different protocols within the Waku Network. ```mermaid sequenceDiagram diff --git a/docs/overview/concepts/peer-discovery.md b/docs/overview/concepts/peer-discovery.md index 3dbb250..d084407 100644 --- a/docs/overview/concepts/peer-discovery.md +++ b/docs/overview/concepts/peer-discovery.md @@ -2,7 +2,7 @@ title: Peer Discovery --- -When initializing a Waku node, it must connect with other peers to enable message sending, receiving, and retrieval. To achieve this, a discovery mechanism is employed to locate and connect with other peers. This process is known as bootstrapping. +When initializing a Waku node, it must connect with other peers to enable message sending, receiving, and retrieval. To achieve this, a discovery mechanism is employed to locate other peers in the network. This process is known as bootstrapping. Once a connection is established, the node must actively seek out additional peers to have: @@ -44,7 +44,7 @@ This bootstrapping method allows anyone to register and publish a domain name fo ## [Discv5](https://rfc.vac.dev/spec/33/) -`Discv5` is a decentralized and efficient peer discovery method for the Waku network. It uses a [Distributed Hash Table (DHT)](https://en.wikipedia.org/wiki/Distributed_hash_table) for storing `ENR` records, providing resistance to censorship. `Discv5` offers a global view of participating nodes, enabling random sampling for load distribution. It uses bootstrap nodes as an entry point to the network, providing randomized sets of nodes for mesh expansion. This enhances resilience, load balancing, and security in the Waku network. +`Discv5` is a decentralized and efficient peer discovery method for the Waku Network. It uses a [Distributed Hash Table (DHT)](https://en.wikipedia.org/wiki/Distributed_hash_table) for storing `ENR` records, providing resistance to censorship. `Discv5` offers a global view of participating nodes, enabling random sampling for load distribution. It uses bootstrap nodes as an entry point to the network, providing randomized sets of nodes for mesh expansion. This enhances resilience, load balancing, and security in the Waku Network. #### Pros diff --git a/docs/overview/concepts/protocols.md b/docs/overview/concepts/protocols.md index dbbafb0..ff78fa8 100644 --- a/docs/overview/concepts/protocols.md +++ b/docs/overview/concepts/protocols.md @@ -6,11 +6,11 @@ Waku takes a modular approach, providing a range of protocols that enable applic ## [Relay](https://rfc.vac.dev/spec/11/) -`Relay` protocol employs a Pub/Sub architecture to facilitate message routing among peers. It extends the [libp2p GossipSub protocol](https://github.com/libp2p/specs/blob/master/pubsub/gossipsub/README.md) to create a privacy-focused peer-to-peer messaging protocol that enables secure communication channels, encryption, and protection against censorship. +`Relay` protocol employs a Pub/Sub architecture to facilitate message routing among peers. It extends the [libp2p GossipSub protocol](https://github.com/libp2p/specs/blob/master/pubsub/gossipsub/README.md) to create a privacy-focused peer-to-peer messaging protocol that enables secure communication channels, encryption, and protection against censorship. It also scales the Waku Network to accommodate many nodes efficiently. ## [RLN Relay](https://rfc.vac.dev/spec/17/) -`RLN Relay` protocol extends the `Relay` protocol by using [Rate Limit Nullifiers (RLN)](https://rfc.vac.dev/spec/32/) to provide efficient and economic spam prevention. It caps the bandwidth usage for all peers on the network, effectively preventing spam, and imposes financial penalties and network removal for spammers. You can find more details in the [RLN Relay blog post](https://vac.dev/rln-relay). +`RLN Relay` protocol extends the `Relay` protocol by using [Rate Limit Nullifiers (RLN)](https://rfc.vac.dev/spec/32/) to provide efficient and economic spam prevention. It enforces a rate limit on messages over time for all peers on the network, economically preventing spam, and imposes financial penalties and network removal for spammers. You can find more details in the [RLN Relay blog post](https://vac.dev/rln-relay). ## [Filter](https://rfc.vac.dev/spec/12/) @@ -38,7 +38,7 @@ While the `Light Push` protocol acknowledges the receipt by the remote peer, it ## [Waku Message](https://rfc.vac.dev/spec/14) -`Waku Message` specifies the message structure used in the Waku network. It defines the attributes and metadata fields that accompany a message, including the following: +`Waku Message` specifies the message structure used in the Waku Network. It defines the attributes and metadata fields that accompany a message, including the following: - `content_topic` attribute for [content-based filtering](/overview/concepts/content-topics). - `payload` attribute containing the message data payload to be sent. diff --git a/docs/overview/index.md b/docs/overview/index.md index 4ef66e1..1fa427a 100644 --- a/docs/overview/index.md +++ b/docs/overview/index.md @@ -52,7 +52,7 @@ These options are part of the [Anonymity Trilemma](https://eprint.iacr.org/2017/ ### Service Network -Waku provides developers with a convenient solution for building decentralized communication systems, eliminating the need to start from scratch or depend on centralized systems. Node operators can offer several services, such as: +Waku provides developers with a convenient solution for building decentralized communication systems, eliminating the need to build a peer-to-peer network from scratch. Node operators can offer several services, such as: - Storing messages for offline devices. - Enabling bandwidth-saving access to the [Relay](/overview/concepts/protocols#relay) network through [Light Push](/overview/concepts/protocols#light-push) and [Filter](/overview/concepts/protocols#filter) protocols. @@ -61,7 +61,7 @@ Waku provides developers with a convenient solution for building decentralized c ## How Does Waku Work? -The [Relay](/overview/concepts/protocols#relay) protocol is the foundation of the Waku network, which employs a Pub/Sub architecture built on the [libp2p GossipSub protocol](https://github.com/libp2p/specs/blob/master/pubsub/gossipsub/README.md). Additionally, various other Waku protocols have been created to facilitate specific functionalities, including but not limited to: +The [Relay](/overview/concepts/protocols#relay) protocol is the foundation of the Waku Network, which employs a Pub/Sub architecture built on the [libp2p GossipSub protocol](https://github.com/libp2p/specs/blob/master/pubsub/gossipsub/README.md). Additionally, various other Waku protocols have been created to facilitate specific functionalities, including but not limited to: 1. Facilitating the retrieval of historical messages for mostly offline devices. 2. Providing solutions for encrypted communication, such as symmetric encryption, ECIES/asymmetric encryption, and noise handshake-based key turns. diff --git a/docs/overview/reference/glossary.md b/docs/overview/reference/glossary.md index 20ac3b5..7c6281d 100644 --- a/docs/overview/reference/glossary.md +++ b/docs/overview/reference/glossary.md @@ -8,7 +8,7 @@ Definitions and usage of the terminology used in the Waku ecosystem. ### Bootstrapping -Bootstrapping is the initial entry point of a [node](#node) to the [Waku network](#waku). Once connected, other [peer discovery](#peer-discovery) methods can be employed to establish connections with fellow peers. +Bootstrapping is the initial entry point of a [node](#node) to the [Waku Network](#waku). Once connected, other [peer discovery](#peer-discovery) methods can be employed to establish connections with fellow peers. ### [Content Topic](/overview/concepts/content-topics) @@ -48,11 +48,11 @@ Light push is a protocol enabling [light nodes](#light-node) to send [messages]( ### Mostly Offline -Mostly offline devices refer to clients who spend most of their time offline or disconnected from the network but occasionally connect for certain reasons. Examples include browsers and mobile phones. +Mostly offline devices refer to clients who spend most of their time offline or disconnected from the internet and only occasionally to the internet and [Waku Network](#waku). Examples include browsers and mobile phones. ### Node -A node is a device or client that implements Waku [protocols](#protocol) and leverages the [Waku network](#waku) to enable secure and private peer-to-peer Web3 communication. +A node is a device or client that implements Waku [protocols](#protocol) and leverages the [Waku Network](#waku) to enable secure and private peer-to-peer Web3 communication. ### Payload @@ -60,11 +60,11 @@ The payload field in a [Waku Message](#waku-message) contains the application da ### Peer -A peer refers to other [nodes](#node) and participants of the [Waku network](#waku) with whom communication and interaction are possible. +A peer refers to other [nodes](#node) and participants of the [Waku Network](#waku) with whom communication and interaction are possible. ### [Peer Discovery](/overview/concepts/peer-discovery) -Peer discovery is the process where a [node](#node) locates and connects with [peers](#peer) to establish communication and exchange information. +Peer discovery is when a [node](#node) locates and gets information about other [peers](#peer) in the [Waku Network](#waku). ### [Peer Exchange](/overview/concepts/peer-discovery#peer-exchange) @@ -72,7 +72,7 @@ Peer exchange is a [peer discovery](#peer-discovery) mechanism that enables [lig ### [Protocol](/overview/concepts/protocols) -A protocol is a set of rules that enables [nodes](#node) within the [Waku network](#waku) to perform various functionalities such as message sending, relaying, filtering, storing, retrieving, and more. +A protocol is a set of rules that enables [nodes](#node) within the [Waku Network](#waku) to perform various functionalities such as message sending, relaying, filtering, storing, retrieving, and more. ### Pub/Sub @@ -84,11 +84,11 @@ A Pub/Sub topic is a string that serves as an identifier for the topic of intere ### [Rate Limit Nullifiers](https://rfc.vac.dev/spec/32/) -Rate Limit Nullifiers (RLN) are a construct based on zero-knowledge proofs that provide an anonymous rate-limited messaging framework, preserving message owner anonymity while preventing spam or DoS attacks. +Rate Limit Nullifiers (RLN) are a construct based on zero-knowledge proofs that enables rate limiting functionality while preserving the users's anonymity. ### [Relay](/overview/concepts/protocols#relay) -Relay is a [protocol](#protocol) that extends the [GossipSub protocol](#gossipsub) to enable secure and censorship-resistant [message](#waku-message) dissemination among [peers](#peer) while preserving privacy. +Relay is a [protocol](#protocol) that extends the [GossipSub protocol](#gossipsub) to enable secure and censorship-resistant [message](#waku-message) dissemination among [peers](#peer) while preserving privacy. It also scales the [Waku Network](#waku) to accommodate many nodes efficiently. ### Resource-Limited @@ -96,7 +96,7 @@ Resource-limited refers to environments or devices restricting available resourc ### [RLN Relay](/overview/concepts/protocols#rln-relay) -RLN Relay is an extension of the [Relay protocol](#relay) that uses [Rate Limit Nullifiers (RLN)](#rate-limit-nullifiers) to prevent spam economically by enforcing bandwidth caps, imposing penalties, and facilitating network removal for spammers. +RLN Relay is an extension of the [Relay protocol](#relay) that uses [Rate Limit Nullifiers (RLN)](#rate-limit-nullifiers) to prevent spam economically by enforcing a rate limit on messages over time, imposing penalties, and facilitating network removal for spammers. ### [SDK](/guides/sdks-and-nodes) @@ -112,15 +112,15 @@ A transport is a network mechanism that establishes connections between [peers]( ### Waku -Waku is a family of private, secure, decentralized, and peer-to-peer Web3 communication [protocols](#protocol) designed to operate in [resource-limited](#resource-limited) environments and suitable for [node](#node) or desktop application use. Additionally, these protocols collectively form the Waku network. +Waku is a family of private, secure, decentralized, and peer-to-peer Web3 communication [protocols](#protocol) designed to operate in [resource-limited](#resource-limited) environments and suitable for [node](#node) or desktop application use. Additionally, these protocols collectively form the Waku Network. ### [Waku Message](/overview/concepts/protocols#waku-message) -Waku Message defines the structure of messages in the [Waku network](#waku), including the [content topic](#content-topic), [payload](#payload), and metadata for application-specific processing. +Waku Message defines the structure of messages in the [Waku Network](#waku), including the [content topic](#content-topic), [payload](#payload), and metadata for application-specific processing. ### [Waku Message Payload Encryption](https://rfc.vac.dev/spec/26/) -Waku Message Payload Encryption provides guidelines for implementing secure and private communication in the [Waku network](#waku). It covers encryption, decryption, and signing methods for message [payloads](#payload), focusing on confidentiality, authenticity, integrity, and unlinkability. +Waku Message Payload Encryption provides guidelines for implementing secure and private communication in the [Waku Network](#waku). It covers encryption, decryption, and signing methods for message [payloads](#payload), focusing on confidentiality, authenticity, integrity, and unlinkability. ### [Waku Noise](https://rfc.vac.dev/spec/35/) diff --git a/docs/overview/reference/security-features.md b/docs/overview/reference/security-features.md index d899144..5c1d048 100644 --- a/docs/overview/reference/security-features.md +++ b/docs/overview/reference/security-features.md @@ -25,7 +25,7 @@ Ongoing research is being conducted, including developing [Rate Limit Nullifiers ## [Data Confidentiality, Integrity, and Authenticity](https://rfc.vac.dev/spec/10/#data-confidentiality-integrity-and-authenticity) -Confidentiality in Waku is ensured through data encryption, while integrity and authenticity are achieved through digital signatures. These security measures are available in [Waku Message (version 1)](https://rfc.vac.dev/spec/14#version-1) and [Noise](https://rfc.vac.dev/spec/35/) protocols, which offer payload encryption and encrypted signatures. [Noise](https://rfc.vac.dev/spec/35/) protocols also facilitate secure channel negotiation within the Waku network. +Confidentiality in Waku is ensured through data encryption, while integrity and authenticity are achieved through digital signatures. These security measures are available in [Waku Message (version 1)](https://rfc.vac.dev/spec/14#version-1) and [Noise](https://rfc.vac.dev/spec/35/) protocols, which offer payload encryption and encrypted signatures. [Noise](https://rfc.vac.dev/spec/35/) protocols also facilitate secure channel negotiation within the Waku Network. ## [Security Considerations](https://rfc.vac.dev/spec/10/#security-considerations) diff --git a/docs/powered-by-waku.mdx b/docs/powered-by-waku.mdx index 16aa885..6f1a252 100644 --- a/docs/powered-by-waku.mdx +++ b/docs/powered-by-waku.mdx @@ -15,13 +15,6 @@ import PoweredByCard from "@site/src/components/PoweredByCard"; > Status is a secure messaging app, crypto wallet, and Web3 browser built with state-of-the-art technology. - - XMTP uses the Waku network to enable secure Web3 messaging in their open protocol and network. - Waku powers the Graphcast SDK, enabling the development of gossip-powered applications within The Graph ecosystem. + + XMTP uses the Waku Network to enable secure Web3 messaging in their open protocol and network. + ``` \ No newline at end of file