* Split website in 4: - build - run node - learn - research * only show pages of section in sidebar * home button on each sidebar * index.md for homepages * Add video tutorials * delete old getting-started * rename to "Waku node" * fix nwaku compose * add to dict * script revert research changes * fix broken links * move research index content * move research folder under learn * move research folder under learn: side bar and buttons * remove pointless links
2.0 KiB
| title | hide_table_of_contents | displayed_sidebar |
|---|---|---|
| Network Domains | true | learn |
Waku is a unified and cohesive entity that offers a rich ecosystem with three distinct network interaction domains. These domains serve specialised purposes and contribute to the robust functionality of Waku, forming its foundation.
Discovery domain
Peer discovery in Waku facilitates locating other nodes within the network. As a modular protocol, Waku incorporates various discovery mechanisms, such as Discv5 and Peer Exchange. These mechanisms allow developers to choose the most suitable option(s) for their specific use cases and user environments, including mobile phones, desktop browsers, servers, and more.
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.
Waku employs gossiping through Relay to distribute messages across the network. Additionally, Waku introduces RLN Relay, an experimental mechanism that combines privacy preservation and economic spam protection.
Request/response domain
Waku provides a set of protocols to optimise its performance in resource-limited environments like low bandwidth or mostly offline scenarios for multiple purposes.
- Store enables the retrieval of historical messages.
- Filter efficiently retrieves a subset of messages to conserve bandwidth.
- Light Push facilitates message publication for nodes with limited bandwidth and short connection windows.
Overview of protocol interaction
Here is a diagram illustrating the interaction between different protocols within the Waku Network.
import ProtocolInteraction from "@site/diagrams/_protocol-interaction.md";
<ProtocolInteraction />