From b35846a546c1a6dc4bac3d5e5457f812f56c7707 Mon Sep 17 00:00:00 2001 From: Jimmy Debe <91767824+jimstir@users.noreply.github.com> Date: Wed, 31 Jan 2024 21:36:08 -0500 Subject: [PATCH] Update and rename README.md to adaptive-nodes.md --- .../30/{README.md => adaptive-nodes.md} | 40 ++++++++++--------- 1 file changed, 22 insertions(+), 18 deletions(-) rename waku/informational/30/{README.md => adaptive-nodes.md} (76%) diff --git a/waku/informational/30/README.md b/waku/informational/30/adaptive-nodes.md similarity index 76% rename from waku/informational/30/README.md rename to waku/informational/30/adaptive-nodes.md index 1e79ef2..737ddac 100644 --- a/waku/informational/30/README.md +++ b/waku/informational/30/adaptive-nodes.md @@ -9,19 +9,19 @@ contributors: This is an informational spec that show cases the concept of adaptive nodes. -# Node types - a continuum +## Node types - a continuum We can look at node types as a continuum, from more restricted to less restricted, fewer resources to more resources. -![Node types - a continuum](../../../../rfcs/30/adaptive_node_continuum2.png) +![Node types - a continuum](./images/adaptive_node_continuum2.png) -## Possible limitations +### Possible limitations - Connectivity: Not publicly connectable vs static IP and DNS - Connectivity: Mostly offline to mostly online to always online - Resources: Storage, CPU, Memory, Bandwidth -## Accessibility and motivation +### Accessibility and motivation Some examples: @@ -31,7 +31,7 @@ Some examples: These are also illustrative, so a node in a browser in certain environment might contribute similarly to Desktop. -## Adaptive nodes +### Adaptive nodes We call these nodes *adaptive nodes* to highlights different modes of contributing, such as: @@ -41,7 +41,7 @@ We call these nodes *adaptive nodes* to highlights different modes of contributi - Storing historical messages to various degrees - Ensuring relay network can't be spammed with RLN -## Planned incentives +### Planned incentives Incentives to run a node is currently planned around: @@ -49,31 +49,31 @@ Incentives to run a node is currently planned around: - RLN RELAY for spam protection - Other incentivization schemes are likely to follow and is an area of active research -# Node protocol selection +## Node protocol selection Each node can choose which protocols to support, depending on its resources and goals. -![Protocol selection](../../../../rfcs/30/adaptive_node_protocol_selection2.png) +![Protocol selection](./images/adaptive_node_protocol_selection2.png) -In the case of protocols like 11/WAKU2-RELAY etc (12, 13, 19, 21) these correspond to Libp2p protocols. +In the case of protocols like [11/WAKU2-RELAY](../../standards/core/11/relay.md) etc (12, 13, 19, 21) these correspond to Libp2p protocols. However, other protocols like 16/WAKU2-RPC (local HTTP JSON-RPC), 25/LIBP2P-DNS-DISCOVERY, Discovery v5 (DevP2P) or interfacing with distributed storage, are running on different network stacks. This is in addition to protocols that specify payloads, such as 14/WAKU2-MESSAGE, 26/WAKU2-PAYLOAD, or application specific ones. As well as specs that act more as recommendations, such as 23/WAKU2-TOPICS or 27/WAKU2-PEERS. -# Waku network visualization +## Waku network visualization We can better visualize the network with some illustrative examples. -## Topology and topics +### Topology and topics The first one shows an example topology with different PubSub topics for the relay protocol. -![Waku Network visualization](../../../../rfcs/30/adaptive_node_network_topology_protocols2.png) +![Waku Network visualization](./images/adaptive_node_network_topology_protocols2.png) -## Legend +### Legend -![Waku Network visualization legend](../../../../rfcs/30/adaptive_node_network_topology_protocols_legend.png) +![Waku Network visualization legend](./images/adaptive_node_network_topology_protocols_legend.png) The dotted box shows what content topics (application-specific) a node is interested in. @@ -81,18 +81,22 @@ A node that is purely providing a service to the network might not care. In this example, we see support for toy chat, a topic in Waku v1 (Status chat), WalletConnect, and SuperRare community. -## Auxiliary network +### Auxiliary network This is a separate component with its own topology. Behavior and interaction with other protocols specified in Vac RFCs, e.g. 25/LIBP2P-DNS-DISCOVERY, 15/WAKU-BRIDGE, etc. -## Node Cross Section +### Node Cross Section This one shows a cross-section of nodes in different dimensions and shows how the connections look different for different protocols. -![Node Cross Section](../../../../rfcs/30/adaptive_node_cross_section2.png) +![Node Cross Section](./images/adaptive_node_cross_section2.png) -# Copyright +## Copyright Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/). + +## References + +- [11/WAKU2-RELAY](../../standards/core/11/relay.md)