improve glossary

This commit is contained in:
LordGhostX 2023-05-31 16:49:34 +01:00
parent 9e79b7f0d0
commit 7e6a09e2e7
No known key found for this signature in database
GPG Key ID: 520CC5DC4F94FCC7
6 changed files with 46 additions and 42 deletions

View File

@ -10,13 +10,13 @@ Peer discovery in Waku facilitates locating other nodes within the network. As a
## Gossip Domain
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.
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 [Relay](/getting-started/concepts/protocols#relay) to distribute messages across the network. Additionally, Waku introduces [RLN Relay](/getting-started/concepts/protocols#rln-relay), an experimental mechanism that combines privacy preservation and economic spam protection.
## Request/Response Domain
Waku provides a set of protocols to optimize its performance in resource-limited environments like low bandwidth or offline scenarios for multiple purposes.
Waku provides a set of protocols to optimize its performance in resource-limited environments like low bandwidth or mostly offline scenarios for multiple purposes.
- [Store](/getting-started/concepts/protocols#store) enables the retrieval of historical messages.
- [Filter](/getting-started/concepts/protocols#filter) efficiently retrieves a subset of messages to conserve bandwidth.

View File

@ -27,7 +27,7 @@ Waku applications have the flexibility to embed bootstrap node addresses directl
## [DNS Discovery](https://rfc.vac.dev/spec/31/)
Built upon the foundation of [EIP-1459: Node Discovery via DNS](https://eips.ethereum.org/EIPS/eip-1459), DNS Discovery allows for registering an `ENR` tree in the `TXT` field of a domain name. This innovative approach enables the storage of essential node connection details, including IP, port, and multiaddr, using the standardized [ENR format](https://rfc.vac.dev/spec/31/).
Built upon the foundation of [EIP-1459: Node Discovery via DNS](https://eips.ethereum.org/EIPS/eip-1459), DNS Discovery allows the retrieval of an `ENR` tree from the `TXT` field of a domain name. This innovative approach enables the storage of essential node connection details, including IP, port, and multiaddr, using the standardized [ENR format](https://rfc.vac.dev/spec/31/).
This bootstrapping method allows anyone to register and publish a domain name for the network, fostering increased decentralization.

View File

@ -14,7 +14,7 @@ Waku takes a modular approach, providing a range of protocols that enable applic
## [Filter](https://rfc.vac.dev/spec/12/)
`Filter` protocol allows light nodes to selectively subscribe to specific messages transmitted by other peers using [content topics](/getting-started/concepts/content-topics). It is designed to be a lightweight alternative to the `Relay` protocol, particularly tailored for devices with limited bandwidth.
`Filter` protocol allows light nodes to selectively subscribe to specific messages transmitted by other peers using [content topics](/getting-started/concepts/content-topics). It is designed to be a lightweight alternative for accessing the `Relay` network, particularly tailored for devices with limited bandwidth.
:::info
`Filter` protocol helps optimize bandwidth usage, but it has fewer privacy guarantees as it must disclose the content topic to its peers to retrieve messages.

View File

@ -29,7 +29,7 @@ Waku is suitable for applications that require a peer-to-peer approach, offering
### Platform Agnostic
Waku can run on any platform or environment, even settings with limited resources like bandwidth, CPU, memory, disk, battery, etc. It can also function when the nodes are not publicly connected or are primarily offline.
Waku can run on any platform or environment, even settings with limited resources like bandwidth, CPU, memory, disk, battery, etc. It can also function when the nodes are not publicly connected or are mostly offline.
### Privacy-Preserving
@ -63,7 +63,7 @@ Waku provides developers with a convenient solution for building decentralized c
The [Relay](/getting-started/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 primarily offline devices.
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.
3. Preserving bandwidth usage for resource-limited environments.
4. Implementing economic spam protection (rate limits) while ensuring privacy.

View File

@ -8,85 +8,81 @@ Definitions and usage of the terminology used in the Waku ecosystem.
### Bootstrapping
Bootstrapping is the initial [peer discovery](#peer-discovery) process where new [nodes](#node) on the network locate and establish connections with one another.
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
### [Content Topic](/getting-started/concepts/content-topics)
A content topic is a string attached to [messages](#waku-message) to enable [protocol-level](#protocol) features like selective message processing and retrieval based on specific criteria.
### Dappnode
### [Dappnode](https://dappnode.com/)
Dappnode is an open-source platform that simplifies the hosting and management of decentralized applications and blockchain nodes, including [Waku](#waku).
### Discv5
### [Discv5](/getting-started/concepts/peer-discovery#discv5)
Discv5 is a [peer discovery](#peer-discovery) mechanism using a Distributed Hash Table (DHT) to store [ENR](#enr) records, providing censorship resistance, load distribution, and enhanced network resilience.
### DNS Discovery
### [DNS Discovery](/getting-started/concepts/peer-discovery#dns-discovery)
DNS discovery is a [peer discovery](#peer-discovery) mechanism that allows the registration of an [ENR](#enr) tree in the TXT field of a domain name, enabling the storage of [node](#node) connection details and promoting decentralization.
DNS discovery is a [peer discovery](#peer-discovery) mechanism that allows the retrieval of an [ENR](#enr) tree from the TXT field of a domain name, enabling the storage of [node](#node) connection details and promoting decentralization.
### ENR
### [ENR](https://rfc.vac.dev/spec/31/)
Ethereum Node Record (ENR) is a specification used to represent and identify [nodes](#node), facilitating [discovery](#peer-discovery) and communication within the network.
Ethereum Node Record (ENR) is a specification used to represent and identify [nodes](#node), facilitating [discovery](#peer-discovery) and communication within the network. Besides connection details, `Waku ENR` also includes node configuration information like enabled protocol and shards.
### Filter
### [Filter](/getting-started/concepts/protocols#filter)
Filter is a [protocol](#protocol) that enables [light nodes](#light-node) to selectively subscribe to specific [messages](#waku-message) transmitted by [peers](#peer) using [content topics](#content-topic).
Filter is a [protocol](#protocol) that enables [light nodes](#light-node) to selectively subscribe to specific [messages](#waku-message) transmitted by [peers](#peer) using [content topics](#content-topic). It is designed to be a lightweight alternative for accessing the [Relay](#relay) network.
### GossipSub
### [GossipSub](/getting-started/concepts/network-domains#gossip-domain)
Gossipsub is a [protocol](#protocol) for efficient and scalable information dissemination in decentralized networks commonly used in blockchain systems.
GossipSub is a [protocol](#protocol) for efficient and scalable information dissemination in decentralized networks commonly used in blockchain systems.
### Light Node
A light node is a [resource-limited](#resource-limited) device or client that selectively subscribes to specific [messages](#waku-message) transmitted by other [peers](#peer) on the network.
A light node is a [resource-limited](#resource-limited) device or client that leverages service nodes to access the [Relay](#relay) network.
### Light Push
### [Light Push](/getting-started/concepts/protocols#light-push)
Light push is a protocol enabling [light nodes](#light-node) to send [messages](#waku-message) to the [Relay](#relay) network and receive acknowledgments confirming that a [peer](#peer) has received them.
### Node
A node is a device or client that plays an active role in the operation of the [Waku network](#waku), participating to enable secure and private peer-to-peer Web3 communication.
### Noise
Noise is the integration of the Noise Protocol Framework into the [Waku network](#waku) to enable secure key-exchange mechanisms for encrypted communication with confidentiality, authenticity, integrity, strong forward secrecy, and identity-hiding properties.
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
Payload provides guidelines for implementing secure and private communication in the network. It covers encryption, decryption, and signing methods for message payloads, focusing on confidentiality, authenticity, integrity, and unlinkability.
The payload field in a [Waku Message](#waku-message) contains the application data, serving as the business logic message transmitted between clients over Waku. Applications can encrypt the payload or employ encryption methods specified in [Waku Message Payload Encryption](#waku-message-payload-encryption).
### Peer
A peer refers to other [nodes](#node) and participants of the [Waku network](#waku) with whom communication and interaction are possible.
### Peer Discovery
### [Peer Discovery](/getting-started/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 Exchange
### [Peer Exchange](/getting-started/concepts/peer-discovery#peer-exchange)
Peer exchange is a [peer discovery](#peer-discovery) mechanism that enables [light nodes](#light-node) to request and receive peers from other nodes in the network, allowing them to bootstrap and expand their connections without depending on [Discv5](#discv5).
### Protocol
### [Protocol](/getting-started/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.
### Pub/Sub
Publish/Subscribe (Pub/Sub) is a messaging pattern where publishers distribute messages to subscribers without the direct knowledge of recipients, allowing efficient one-to-many communication.
Publish/Subscribe (Pub/Sub) is an asynchronous messaging pattern where publishers send messages to topics, and subscribers receive messages from topics of interest, allowing efficient one-to-many communication.
### Pub/Sub Topic
A Pub/Sub topic is a routing mechanism for messages, indicating a subscription to receive messages on that topic for relay purposes.
A Pub/Sub topic is a string that serves as an identifier for the topic of interest among [GossipSub](#gossipsub) peers. Peers interested in the same topic are likely to maintain a connection and forward messages received on that topic.
### Rate Limit Nullifiers
### [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.
### Relay
### [Relay](/getting-started/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.
@ -94,26 +90,34 @@ Relay is a [protocol](#protocol) that extends the [GossipSub protocol](#gossipsu
Resource-limited refers to environments or devices restricting available resources, including bandwidth, CPU, memory, disk, and battery power.
### RLN Relay
### [RLN Relay](/getting-started/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.
### SDK
### [SDK](/guides/sdks-and-nodes)
SDKs are tools, libraries, and resources to integrate Waku's private, secure, and censorship-free communication features into various applications.
### Store
### [Store](/getting-started/concepts/protocols#store)
Store is a [protocol](#protocol) that enables the storage of relayed [messages](#waku-message) in the network, allowing offline peers to retrieve missed messages upon reconnecting to the network.
### Transport
### [Transport](/getting-started/concepts/transports)
A transport is a network mechanism that establishes connections between [peers](#peer) and enables efficient transmission, routing, and delivery of data packets.
### 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.
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
### [Waku Message](/getting-started/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 network. It covers encryption, decryption, and signing methods for message payloads, focusing on confidentiality, authenticity, integrity, and unlinkability.
### [Waku Noise](https://rfc.vac.dev/spec/35/)
Waku Noise is a specified way to use the [Noise Protocol Framework](http://noiseprotocol.org/) to build protocols that enable secure key-exchange mechanisms for encrypted communication with confidentiality, authenticity, integrity, strong forward secrecy, and identity-hiding properties.

View File

@ -9,11 +9,11 @@ const sidebars = {
"getting-started/use-cases",
{
type: "html",
value: "<a href='/guides/sdks-and-nodes' target='_blank' rel='noopener noreferrer' class='menu__link external-link'>SDKs and Nodes <svg viewBox='0 0 24 24'><path fill='currentColor' d='M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z'></path></svg></a>"
value: "<a href='/guides/sdks-and-nodes' target='_blank' rel='noopener noreferrer' class='menu__link external-link'>SDKs and Nodes <svg width='13.5' height='13.5' viewBox='0 0 24 24'><path fill='currentColor' d='M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z'></path></svg></a>"
},
{
type: "html",
value: "<a href='/presentations' target='_blank' rel='noopener noreferrer' class='menu__link external-link'>Presentations <svg viewBox='0 0 24 24'><path fill='currentColor' d='M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z'></path></svg></a>"
value: "<a href='/presentations' target='_blank' rel='noopener noreferrer' class='menu__link external-link'>Presentations <svg width='13.5' height='13.5' viewBox='0 0 24 24'><path fill='currentColor' d='M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z'></path></svg></a>"
},
{
type: "category",